============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined PyInit_interactivelp_backend() LEA RDI,[.data:__pyx_moduledef] JMP .plt:LAB_001050c0 ?? 66h f Actual src: __Pyx_PyMODINIT_FUNC PyInit_interactivelp_backend(void) #if CYTHON_PEP489_MULTI_PHASE_INIT { return PyModuleDef_Init(&__pyx_moduledef); } Predicted src: static PyObject *__pyx_pw_7__(PyObject *__pyx_v_v_v_v_v_v_v_v_v___pyx_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v___pyx_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v___pyx_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_vvv_v_v_vv_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_vv_v_v_v_v_v_v_v_v_vvv_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_vvv_vv_v_v_v_v_v_v_vv_vvvvv_v_v_v_v_vvvvvv_v_vvvvvvv_vvvvvvvvvv_vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined xxmc_unlock_surfaces() PUSH RBP LEA RBP,[RDI + 0x1470] PUSH RBX MOV RBX,RDI MOV RDI,RBP SUB RSP,0x8 CALL .plt:::pthread_mutex_lock ;int pthread_mutex_lock(pthread_mutex... MOV EAX,dword ptr [RBX + 0x14c8] TEST EAX,EAX JLE LAB_0010628d SUB EAX,0x1 MOV dword ptr [RBX + 0x14c8],EAX JZ LAB_001062a0 LAB_0010628d: ADD RSP,0x8 MOV RDI,RBP POP RBX POP RBP JMP .plt:::pthread_mutex_unlock ;int pthread_mutex_unlock(pthread_mut... ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_001062a0: LEA RDI,[RBX + 0x1498] CALL .plt:::pthread_cond_broadcast ;int pthread_cond_broadcast(pthread_c... ADD RSP,0x8 MOV RDI,RBP POP RBX POP RBP JMP .plt:::pthread_mutex_unlock ;int pthread_mutex_unlock(pthread_mut... ?? 66h f Actual src: static void xxmc_unlock_surfaces(vo_driver_t *this_gen) { xxmc_driver_t *driver = (xxmc_driver_t *) this_gen; xvmc_context_reader_unlock( &driver->xvmc_lock ); } Predicted src: static void _cb(void *data, void *data) { int i; for (i = 0; i < len; i++) { if (data->data[i]!= NULL) { data->data[i] = data->data[i]; } } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* Load::getUnit() const * ;************************************************************************************************************************************************************ ;undefined getUnit(void) ;local_20 undefined8 -20 ;local_28 undefined8 -28 PUSH R13 PUSH R12 MOV R12,RDI ADD RDI,0x18 PUSH RBP SUB RSP,0x10 MOV R13,qword ptr [RSI + 0x88] MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_20+0x28],RAX MOV RAX,qword ptr [->Unit::vtable] ;= 00288da8 ADD RAX,0x10 MOV qword ptr [RDI + -0x18],RAX=>.data.rel.ro:PTR_~Unit_00288db8 ;= 00203f20 MOV qword ptr [R12 + 0x8],RDI MOV RBP,qword ptr [RSI + 0x80] MOV RAX,RBP ADD RAX,R13 JZ LAB_00207791 TEST RBP,RBP JZ LAB_00207816 LAB_00207791: MOV qword ptr [RSP]=>local_28,R13 CMP R13,0xf JA LAB_002077e0 CMP R13,0x1 JNZ LAB_002077d8 MOVZX EAX,byte ptr [RBP] MOV byte ptr [R12 + 0x18],AL LAB_002077aa: MOV qword ptr [R12 + 0x10],R13 MOV byte ptr [RDI + R13*0x1],0x0 MOV RAX,qword ptr [RSP + local_20+0x28] SUB RAX,qword ptr FS:[0x28] JNZ LAB_00207822 ADD RSP,0x10 MOV RAX,R12 POP RBP POP R12 POP R13 RET ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_002077d8: TEST R13,R13 JZ LAB_002077aa JMP LAB_00207800 ?? 90h LAB_002077e0: LEA RDI,[R12 + 0x8] MOV RSI,RSP XOR EDX,EDX CALL .plt:::std::__cxx11::basic_string,std::allocator>::_M...;undefined _M_create(ulong * param_1,... MOV qword ptr [R12 + 0x8],RAX MOV RDI,RAX MOV RAX,qword ptr [RSP]=>local_28 MOV qword ptr [R12 + 0x18],RAX LAB_00207800: MOV RDX,R13 MOV RSI,RBP CALL .plt:::memcpy ;void * memcpy(void * __dest, void *... MOV R13,qword ptr [RSP]=>local_28 MOV RDI,qword ptr [R12 + 0x8] JMP LAB_002077aa LAB_00207816: LEA RDI,[.rodata:s_basic_string::_M_construct_null_n_0021e1b8] ;= "basic_string::_M_construct null n... CALL .plt:::std::__throw_logic_error ;undefined __throw_logic_error(char *... LAB_00207822: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() NOP Actual src: Unit Load::getUnit() const { return unit; } Predicted src: const std::string> &name) const { return d->name; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined lw_srvchan_close() PUSH RBP MOV RBP,RDI CALL lw_sock_close ;undefined lw_sock_close() MOV RDI,qword ptr [RBP + 0x30] TEST RDI,RDI JZ LAB_00107c0f CALL .plt:::free ;void free(void * __ptr) MOV qword ptr [RBP + 0x30],0x0 LAB_00107c0f: MOV RDI,RBP POP RBP JMP reset ;undefined reset() ?? 0Fh Actual src: void lw_srvchan_close (LW_SRVCHAN * chan) { lw_sock_close (&(chan->sock)); if (chan->map!= NULL) { free (chan->map); chan->map = NULL; } reset (chan); } Predicted src: void free_free(void *data) { if (data->data) { free(data->data); } free(data->data); free(data->data); free(data->data); free(data); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined finish() SUB RSP,0x8 CALL cleanup ;void cleanup(EVP_PKEY_CTX * ctx) MOV EDI,0x1 CALL .plt:::exit ;void exit(int __status) NOP dword ptr CS:[RAX + RAX*0x1] Actual src: static void finish(int sig GCC_UNUSED) { cleanup(); ExitProgram(EXIT_FAILURE); } Predicted src: static void _destroy(void) { (void)1; }