============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined hc_AES_decrypt_key() PUSH RBX MOV RBX,RDX MOV EDX,ESI MOV RSI,RDI MOV RDI,RBX CALL _hc_rijndaelKeySetupDec ;undefined _hc_rijndaelKeySetupDec() CMP EAX,0x1 MOV dword ptr [RBX + 0xf0],EAX POP RBX SBB EAX,EAX RET ?? 66h f Actual src: int AES_set_decrypt_key(const unsigned char *userkey, const int bits, AES_KEY *key) { key->rounds = rijndaelKeySetupDec(key->key, userkey, bits); if (key->rounds == 0) return -1; return 0; } Predicted src: static int _key_key_key_key_key(const void *key, const void *key, const void *key, const void *key, const void *key, const void *key) { const char *key = key; key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->key->key = key; key->key = key; key->key = key; key->key = key; key->key = key; key->keykey->key = key; key->key = key; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined vector_delete() TEST RDI,RDI JZ LAB_001bd150 PUSH RBP MOV RBP,RDI CALL .plt:IvocVect::~IvocVect ;undefined ~IvocVect(IvocVect * this) MOV RDI,RBP MOV ESI,0x28 POP RBP JMP .plt:::operator.delete ;void operator.delete(void * param_1,... ?? 0Fh ?? 1Fh ?? 40h @ ?? 00h LAB_001bd150: RET ?? 66h f Actual src: void vector_delete(Vect* v){delete v;} Predicted src: void __context_destroy(const char *name) { if (!name) return; if (!name) return; return; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined ffmax() MOV EDX,0x6 JMP ave ;undefined ave() ?? 66h f Actual src: gaint ffmax (struct gafunc *pfc, struct gastat *pst) { gaint rc; rc = ave (pfc, pst, 6); return (rc); } Predicted src: static void set_p (const char *name) { return; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* wrapNewlineChunksize(libscols_column const*, char const*, void*) * ;************************************************************************************************************************************************************ ;undefined wrapNewlineChunksize(libscols_column * param_1, char * param_2, void * param_3) ;param_1 libscols_co... RDI ;param_2 char * RSI ;param_3 void * RDX JMP .plt:::scols_wrapnl_chunksize ?? 66h f Actual src: size_t wrapNewlineChunksize(const struct libscols_column *column, const char *data, void *userdata) { return scols_wrapnl_chunksize(column, data, userdata); } Predicted src: void set_size_size(const char *name, size_t size) { return; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined rpmcpioFree() TEST RDI,RDI JZ LAB_00126500 PUSH RBP CMP qword ptr [RDI],0x0 MOV RBP,RDI JZ LAB_001264f4 CALL .plt:rpmcpioClose ;undefined rpmcpioClose() LAB_001264f4: MOV RDI,RBP CALL .plt.got:::free ;void free(void * __ptr) XOR EAX,EAX POP RBP RET LAB_00126500: XOR EAX,EAX RET ?? 66h f Actual src: rpmcpio_t rpmcpioFree(rpmcpio_t cpio) { if (cpio) { if (cpio->fd) (void) rpmcpioClose(cpio); free(cpio); } return NULL; } Predicted src: static void free_free(void *data) { if (data) free(data); free(data); free(data); }