============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* RGWGetBucketPolicyStatus_ObjStore_S3::send_response() * ;************************************************************************************************************************************************************ ;undefined send_response(RGWGetBucketPolicyStatus_ObjStore_S3 * this) ;this RGWGetBucke... RDI PUSH RBX MOV ESI,dword ptr [this + 0x70] MOV RBX,this TEST ESI,ESI JNZ LAB_00902160 LAB_0090209f: MOV this,qword ptr [RBX + 0x8] CALL dump_errno ;undefined dump_errno(req_state * par... MOV this,qword ptr [RBX + 0x8] XOR R9D,R9D XOR R8D,R8D MOV RCX,-0x1 LEA RDX,[.rodata:s_application/xml_00be3a9c] ;= "application/xml" MOV RSI,RBX CALL end_header ;undefined end_header(req_state * par... MOV this,qword ptr [RBX + 0x8] CALL dump_start ;undefined dump_start(req_state * par... MOV RAX,qword ptr [RBX + 0x8] LEA RCX,[.rodata:s_http://s3.amazonaws.com/doc/2006_00bba808] ;= "http://s3.amazonaws.com/doc/2006-... MOV ESI,0xc LEA RDX,[.rodata:s_PolicyStatus_00c1d571+12] ;= "PolicyStatus" MOV this,qword ptr [RAX + 0x28] MOV RAX,qword ptr [this] CALL qword ptr [RAX + 0x58] MOV RAX,qword ptr [RBX + 0x8] MOVZX ECX,byte ptr [RBX + 0x74] MOV this,qword ptr [RAX + 0x28] MOV R9,qword ptr [this] MOV RAX,qword ptr [R9 + 0x88] CMP RAX,qword ptr [->ceph::Formatter::dump_bool] ;= 004e9af0 JNZ LAB_00902170 TEST CL,CL LEA RAX,[.rodata:s_false_00b9dbb7] ;= "false" LEA R8,[.rodata:DAT_00ba59e0] ;= 74h MOV ESI,0x8 CMOVZ R8,RAX LEA RCX,[.rodata:s_%s_00c380b4+25] ;= "%s" LEA RDX,[.rodata:s_IsPublic_00bfb2e5] ;= "IsPublic" XOR EAX,EAX CALL qword ptr [R9 + 0xb0] LAB_00902141: MOV RAX,qword ptr [RBX + 0x8] MOV this,qword ptr [RAX + 0x28] MOV RAX,qword ptr [this] CALL qword ptr [RAX + 0x60] MOV this,qword ptr [RBX + 0x8] POP RBX MOV RSI,qword ptr [this + 0x28] JMP rgw_flush_formatter_and_reset ;undefined rgw_flush_formatter_and_re... ?? 0Fh ?? 1Fh ?? 00h LAB_00902160: MOV this,qword ptr [this + 0x8] CALL set_req_state_err ;undefined set_req_state_err(req_stat... JMP LAB_0090209f ?? 66h f ?? 90h LAB_00902170: MOV ESI,0x8 LEA RDX,[.rodata:s_IsPublic_00bfb2e5] ;= "IsPublic" CALL RAX JMP LAB_00902141 ;************************************************************************************************************************************************************ ;*boost::date_time::date::TEMPNAMEPLACEHOLDERVALUE(boost::gr...* ;************************************************************************************************************************************************************ ;undefined operator-(date * this, date * param_1) ;this dateformatter->open_object_section_in_ns("PolicyStatus", XMLNS_AWS_S3); // https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETPolicyStatus.html // mentions TRUE and FALSE, but boto/aws official clients seem to want lower // case which is returned by AWS as well; so let's be bug to bug compatible // with the API s->formatter->dump_bool("IsPublic", isPublic); s->formatter->close_section(); rgw_flush_formatter_and_reset(s, s->formatter); } Predicted src: void on_state::start() { switch (m_state) { case 0: break; case 0: break; case 1: break; case 2: break; case 2: break; case 3: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; case 4: break; default: break; } } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined fn_handler() ;local_20 undefined8 -20 ;local_30 undefined8 -30 ;local_38 undefined8 -38 PUSH R12 PUSH RBP PUSH RBX MOVSXD RBX,EDI SUB RSP,0x20 MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_20+0x38],RAX XOR EAX,EAX LEA EAX,[RBX + -0x1] CMP EAX,0x3f JA LAB_0010680f CALL .plt:::__errno_location ;int * __errno_location(void) SHL RBX,0x4 MOV RDI,RSP MOV R12D,dword ptr [RAX] MOV RBP,RAX LEA RAX,[.data:signals] MOV RAX=>.data:signals,qword ptr [RAX + RBX*0x1] MOV qword ptr [RSP + local_30+0x38],0x0 MOV qword ptr [RSP]=>local_38,RAX CALL funcall ;undefined funcall() MOV dword ptr [RBP],R12D MOV RAX,qword ptr [RSP + local_20+0x38] SUB RAX,qword ptr FS:[0x28] JNZ LAB_0010681b ADD RSP,0x20 POP RBX POP RBP POP R12 RET LAB_0010680f: LEA RDI,[.rodata:s_unknown_signal_001133de] ;= "unknown signal" CALL panic ;undefined panic() LAB_0010681b: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined rc_exit() ;local_10 undefined8 -10 ;local_20 undefined8 -20 ;local_28 undefined8 -28 SUB RSP,0x28 Actual src: static void fn_handler(int s) { char *sig[2]; int olderrno; if (s < 1 || s >= NUMOFSIGNALS) panic("unknown signal"); olderrno = errno; sig[0] = signals[s].name; sig[1] = NULL; funcall(sig); errno = olderrno; } Predicted src: static void sig_handler(int sig) { int i; if (sig >= 0) { errno = errno; exit(1); } for (i = 0; i < sig_handler; i++) { errno = errno; exit(1); } } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* ATC::GhostManager::construct_transfers() * ;************************************************************************************************************************************************************ ;undefined construct_transfers(GhostManager * this) ;this GhostManager * RDI MOV this,qword ptr [this + 0x8] MOV RAX,qword ptr [this] JMP qword ptr [RAX + 0x10] ?? 66h f Actual src: void GhostManager::construct_transfers() { ghostModifier_->construct_transfers(); } Predicted src: void Manager::host_host() { m_host->host_host(); } ============================== Sample 4 ============================== 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_pw_7pyverbs_9providers_4mlx5_9providers_4mlx5_14mlx5dv_13mlx5dv_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_7pyverbs_9providers_4mlx5_9providers_4mlx5_14mlx5dv_13mlx5dv_14mlx5dv_Mlx5__setstate_cython__(((struct __pyx_obj_7pyverbs_9providers_4mlx5_9providers_4mlx5_14mlx5dv_Mlx5__setstate_cython__(((struct __pyx_obj_7pyverbs_9providers_4mlx5_9providers_4mlx5_14mlx5dv_Mlx5__setstate_cython__(((struct __pyx_obj_7pyverbs_9providers_4mlx5_9providers_4mlx5_14mlx5dv_Mlx5__setstate_cython__(((struct __pyx_obj_7pyverbs_9providers_4mlx5_9providers_4mlx5_14mlx5dv_Mlx5__setstate_cython__(((struct __pyx_obj_7pyverbs_9providers_4mlx5_9providers_4mlx5_14mlx5dv_Mlx5__setstate_cython__(((struct __pyx_obj_7pyverbs_9providers_4mlx5_9providers_4mlx5_14mlx5dv_Mlx5__setstate_cython *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined cmdServerSigChild() MOV RDI,qword ptr [.bss:serverLocal[24]] MOV EAX,dword ptr [RDI] TEST EAX,EAX JZ LAB_0014d0c0 PUSH RBP MOV RBP,RSI PUSH RBX XOR EBX,EBX SUB RSP,0x8 JMP LAB_0014d08e ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_0014d080: MOV RDI,qword ptr [.bss:serverLocal[24]] ADD EBX,0x1 CMP dword ptr [RDI],EBX JBE LAB_0014d0b8 LAB_0014d08e: MOV ESI,EBX CALL lstGet ;undefined lstGet() MOV EDX,dword ptr [RBP + 0x10] CMP dword ptr [RAX],EDX JNZ LAB_0014d080 MOV RDI,qword ptr [.bss:serverLocal[24]] MOV ESI,EBX ADD EBX,0x1 CALL lstRemoveIdx ;undefined lstRemoveIdx() MOV RDI,qword ptr [.bss:serverLocal[24]] CMP dword ptr [RDI],EBX JA LAB_0014d08e LAB_0014d0b8: ADD RSP,0x8 POP RBX POP RBP RET ?? 90h LAB_0014d0c0: RET ?? 66h f Actual src: static void cmdServerSigChild(const int signalType, siginfo_t *signalInfo, void *context) { (void)signalType; (void)context; ASSERT(signalInfo->si_code == CLD_EXITED); // Find the process and remove it for (unsigned int processIdx = 0; processIdx < lstSize(serverLocal.processList); processIdx++) { if (*(int *)lstGet(serverLocal.processList, processIdx) == signalInfo->si_pid) lstRemoveIdx(serverLocal.processList, processIdx); } } Predicted src: static void cmd_server (int argc, char **argv) { int i; for (i = 0; i < argc; i++) { if (serverserver[i] == argc) continue; serverserver[i] = argv[i]; } }