============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined md_cert_has_expired() SUB RSP,0x8 MOV RDI,qword ptr [RDI + 0x8] CALL .plt:::X509_getm_notAfter ;undefined X509_getm_notAfter() MOV RDI,RAX CALL .plt:::X509_cmp_current_time ;int X509_cmp_current_time(ASN1_TIME... TEST EAX,EAX SETLE AL ADD RSP,0x8 MOVZX EAX,AL RET ?? 66h f Actual src: int md_cert_has_expired(const md_cert_t *cert) { return (X509_cmp_current_time(X509_get_notAfter(cert->x509)) <= 0); } Predicted src: int x_get_xx_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_xx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined __pyx_pw_7skimage_5graph_4heap_10BinaryHeap_21__reduce_cython__() PUSH R12 MOV R12,qword ptr [.bss:__pyx_tuple__4] ;=?? PUSH RBP MOV RBP,qword ptr [.bss:__pyx_builtin_TypeError] ;=?? PUSH RBX MOV RAX,qword ptr [RBP + 0x8] MOV RBX,qword ptr [RAX + 0x80] TEST RBX,RBX JZ LAB_0010b070 LEA RDI,[.rodata:s__while_calling_a_Python_object_0010c118] ;= " while calling a Python object" CALL .plt:Py_EnterRecursiveCall ;undefined Py_EnterRecursiveCall() TEST EAX,EAX JNZ LAB_0010b088 XOR EDX,EDX MOV RDI,RBP MOV RSI,R12 CALL RBX MOV RBP,RAX CALL .plt:Py_LeaveRecursiveCall ;undefined Py_LeaveRecursiveCall() TEST RBP,RBP JZ LAB_0010b090 LAB_0010b029: MOV RDI,RBP MOV R12D,0x10c7 CALL __Pyx_Raise.constprop.0 ;undefined __Pyx_Raise.constprop.0() SUB qword ptr [RBP],0x1 JZ LAB_0010b060 LAB_0010b03e: MOV ESI,R12D LEA RCX,[.rodata:s_stringsource_0010dd6b] ;= "stringsource" MOV EDX,0x2 LEA RDI,[.rodata:s_skimage.graph.heap.BinaryHeap.___0010c738] ;= "skimage.graph.heap.BinaryHeap.__r... CALL __Pyx_AddTraceback ;undefined __Pyx_AddTraceback() POP RBX XOR EAX,EAX POP RBP POP R12 RET LAB_0010b060: MOV RDI,RBP CALL .plt:_Py_Dealloc ;undefined _Py_Dealloc() JMP LAB_0010b03e ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_0010b070: MOV RDI,RBP XOR EDX,EDX MOV RSI,R12 CALL .plt:PyObject_Call ;undefined PyObject_Call() MOV RBP,RAX TEST RAX,RAX JNZ LAB_0010b029 NOP dword ptr [RAX] LAB_0010b088: MOV R12D,0x10c3 JMP LAB_0010b03e LAB_0010b090: CALL .plt:PyErr_Occurred ;undefined PyErr_Occurred() TEST RAX,RAX JNZ LAB_0010b088 MOV RAX,qword ptr [->PyExc_SystemError] ;= 00113018 LEA RSI,[.rodata:s_NULL_result_without_error_in_PyO_0010c2f8] ;= "NULL result without error in PyOb... MOV RDI,qword ptr [RAX]=>EXTERNAL:PyExc_SystemError ;=?? CALL .plt:PyErr_SetString ;undefined PyErr_SetString() JMP LAB_0010b088 ?? 66h f Actual src: static PyObject *__pyx_pw_7skimage_5graph_4heap_10BinaryHeap_21__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_7skimage_5graph_4heap_10BinaryHeap_20__reduce_cython__(((struct __pyx_obj_7skimage_5graph_4heap_BinaryHeap *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } Predicted src: static PyObject *__pyx_getprop_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs(PyObject *__pyx_self, CYTHON_UNUSED PyObject *x) { PyObject *__pyx_RefNannyDeclarations PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannyFinishContext(); __Pyx_r = __pyx_RefNannyFinishContext(); __Pyx_RefNannyFinishContext(); return __pyx_r; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined soap_in_PointerTowsrm__CloseSequenceType() PUSH R14 MOV R14,RDI PUSH R13 MOV R13,RCX XOR ECX,ECX PUSH R12 MOV R12,RDX MOV EDX,0x1 PUSH RBP MOV RBP,RSI SUB RSP,0x8 CALL .plt:::soap_element_begin_in ;undefined soap_element_begin_in() TEST EAX,EAX JNZ LAB_00114403 TEST R12,R12 JZ LAB_00114440 LAB_00114374: CMP word ptr [R14 + 0x1f2f0],0x0 MOV qword ptr [R12],0x0 JNZ LAB_00114391 CMP byte ptr [R14 + 0x1de98],0x23 JNZ LAB_001143e0 LAB_00114391: SUB RSP,0x8 MOV RDX,R12 XOR R9D,R9D MOV R8D,0x10 PUSH 0x0 LEA RSI,[R14 + 0x1de98] MOV ECX,0x39 MOV RDI,R14 CALL .plt:::soap_id_lookup ;undefined soap_id_lookup() CMP word ptr [R14 + 0xc65e],0x0 MOV R12,RAX POP RAX POP RDX JNZ LAB_00114418 LAB_001143c7: ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 POP R13 POP R14 RET ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_001143e0: MOV RDI,R14 CALL .plt:::soap_revert ;undefined soap_revert() MOV RDX,qword ptr [R12] MOV RCX,R13 MOV RSI,RBP MOV RDI,R14 CALL soap_in_wsrm__CloseSequenceType ;undefined soap_in_wsrm__CloseSequenc... MOV qword ptr [R12],RAX TEST RAX,RAX JNZ LAB_001143c7 LAB_00114403: ADD RSP,0x8 XOR R12D,R12D POP RBP MOV RAX,R12 POP R12 POP R13 POP R14 RET ?? 0Fh ?? 1Fh ?? 00h LAB_00114418: MOV RSI,RBP MOV RDI,R14 CALL .plt:::soap_element_end_in ;undefined soap_element_end_in() TEST EAX,EAX JNZ LAB_00114403 ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 POP R13 POP R14 RET ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00114440: MOV ESI,0x8 MOV RDI,R14 CALL .plt:::soap_malloc ;undefined soap_malloc() MOV R12,RAX TEST RAX,RAX JNZ LAB_00114374 JMP LAB_00114403 ?? 0Fh Actual src: struct wsrm__CloseSequenceType ** SOAP_FMAC4 soap_in_PointerTowsrm__CloseSequenceType(struct soap *soap, const char *tag, struct wsrm__CloseSequenceType **a, const char *type) { (void)type; /* appease -Wall -Werror */ if (soap_element_begin_in(soap, tag, 1, NULL)) return NULL; if (!a) if (!(a = (struct wsrm__CloseSequenceType **)soap_malloc(soap, sizeof(struct wsrm__CloseSequenceType *)))) return NULL; *a = NULL; if (!soap->null && *soap->href!= '#') { soap_revert(soap); if (!(*a = soap_in_wsrm__CloseSequenceType(soap, tag, *a, type))) return NULL; } else { a = (struct wsrm__CloseSequenceType **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_wsrm__CloseSequenceType, sizeof(struct wsrm__CloseSequenceType), 0, NULL); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a; } Predicted src: static PyObject *__pyx_getprop_7pyverbs_7pyverbs_7pyverbs_5__get__(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext__ (wrapper)", 0); __pyx_RefNannyDeclarations __pyx_r = __pyx_RefNannyDeclarations __pyx_pf_8__setstate_7pyverbs_7pyverbs_8__setstate_7pyverbs_7pyverbs_7pyverbs_8__setstate_7pyverbs_8__setstate_8__setstate_8__setstate_self, 0); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* LAMMPS_NS::Modify::delete_fix(int) * ;************************************************************************************************************************************************************ ;undefined delete_fix(Modify * this, int param_1) ;this Modify * RDI ;param_1 int ESI PUSH R13 MOVSXD RAX,param_1 PUSH R12 LEA R13,[RAX*0x8] MOV R12,RAX PUSH RBP MOV RBP,this PUSH RBX SUB RSP,0x8 MOV RDX,qword ptr [this + 0x130] MOV this,qword ptr [RDX + RAX*0x8] TEST this,this JZ LAB_008fe0a1 MOV RAX,qword ptr [this] CALL qword ptr [RAX + 0x8] LAB_008fe0a1: MOV RAX,qword ptr [RBP + 0x30] MOV param_1,R12D LEA EBX,[R12 + 0x1] MOV this,qword ptr [RAX] CALL .plt:LAMMPS_NS::Atom::update_callback ;undefined update_callback(Atom * thi... MOV EAX,dword ptr [RBP + 0x124] CMP EBX,EAX JGE LAB_008fe105 MOV this,qword ptr [RBP + 0x130] SUB EAX,R12D MOVSXD RBX,EBX SUB EAX,0x2 LEA RDX,[0x8 + RAX*0x8] LEA param_1,[this + R13*0x1 + 0x8] ADD this,R13 CALL .plt:::memmove ;void * memmove(void * __dest, void *... MOV RDX,qword ptr [RBP + 0x138] NOP dword ptr [RAX + RAX*0x1] LAB_008fe0f0: MOV EAX,dword ptr [RDX + RBX*0x4] MOV dword ptr [RDX + RBX*0x4 + -0x4],EAX MOV EAX,dword ptr [RBP + 0x124] ADD RBX,0x1 CMP EAX,EBX JG LAB_008fe0f0 LAB_008fe105: SUB EAX,0x1 MOV dword ptr [RBP + 0x124],EAX ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 RET ?? 90h Actual src: void Modify::delete_fix(int ifix) { if (fix[ifix]) delete fix[ifix]; atom->update_callback(ifix); // move other Fixes and fmask down in list one slot for (int i = ifix+1; i < nfix; i++) fix[i-1] = fix[i]; for (int i = ifix+1; i < nfix; i++) fmask[i-1] = fmask[i]; nfix--; } Predicted src: void on_clear(int i) { int i; for (i = 0; i < n; i++) { for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) { } } } } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined flatpak_exports_add_path_dir() MOV RDX,RSI XOR ECX,ECX MOV ESI,0xffffffff JMP _exports_path_expose ;undefined _exports_path_expose() ?? 90h Actual src: void flatpak_exports_add_path_dir (FlatpakExports *exports, const char *path) { _exports_path_expose (exports, FAKE_MODE_DIR, path, 0); } Predicted src: static int _cffi_path_path(const char *path, const char *path, const char *path) { return _path_path_path_path_path_path(path, NULL, NULL, NULL, NULL); }