============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* Py::PythonExtensionBase::str() * ;************************************************************************************************************************************************************ ;undefined str(void) ;local_20 undefined8 -20 ;local_30 undefined1 -30 ;local_40 undefined8 -40 PUSH R12 MOV EDI,0x1 PUSH RBP PUSH RBX SUB RSP,0x30 MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_20+0x48],RAX XOR EAX,EAX LEA RBP=>local_40,[RSP + 0x8] CALL .plt:::__cxa_allocate_exception ;undefined __cxa_allocate_exception() LEA RSI,[.rodata:s_Extension_object_missing_impleme_002426d8] ;= "Extension object missing implemen... MOV RDI,RBP MOV R12,RAX ;try { // try from 0017feba to 0017febe has its CatchHandler @ 0017ff00 LAB_0017feba: CALL std::__cxx11::basic_string,std::allocator>::basic_string ;undefined basic_string(char * param_... ;} // end try from 0017feba to 0017febe MOV RDI,RBP LEA RBX=>local_30,[RSP + 0x18] ;try { // try from 0017fec7 to 0017fecb has its CatchHandler @ 0017feec LAB_0017fec7: CALL Py::RuntimeError::RuntimeError ;undefined RuntimeError(RuntimeError... ;} // end try from 0017fec7 to 0017fecb MOV RDI=>local_40,qword ptr [RSP + 0x8] CMP RDI,RBX JZ LAB_0017fedb CALL .plt:::operator.delete ;void operator.delete(void * param_1) LAB_0017fedb: MOV RSI=>.data.rel.ro:Py::RuntimeError::typeinfo,qword ptr [->Py::RuntimeError::typeinfo] ;= 002a5cd8 ;= 00293fb8 XOR EDX,EDX MOV RDI,R12 LAB_0017fee7: CALL .plt:::__cxa_throw ;undefined __cxa_throw() ;catch() {... } // from try @ 0017fec7 with catch @ 0017feec LAB_0017feec: MOV RBP,RAX MOV RDI,qword ptr [RSP + 0x8] CMP RDI,RBX JZ LAB_0017ff03 CALL .plt:::operator.delete ;void operator.delete(void * param_1) JMP LAB_0017ff03 ;catch() {... } // from try @ 0017feba with catch @ 0017ff00 LAB_0017ff00: MOV RBP,RAX LAB_0017ff03: MOV RDI,R12 CALL .plt:::__cxa_free_exception ;undefined __cxa_free_exception() MOV RDI,RBP CALL .plt:::_Unwind_Resume ;undefined _Unwind_Resume() NOP Actual src: Py::Object PythonExtensionBase::str() { missing_method( str ); return Py::None(); } Predicted src: void string::clear (void) { if (this->m_str) { this->m_str (this->m_str); } else { } } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined item_set_linked_invoker() PUSH R14 MOV R14,RSI XOR ESI,ESI PUSH R13 MOV R13,RDI MOV RDI,R8 PUSH R12 MOV R12,R9 PUSH RBP MOV RBP,R8 SUB RSP,0x8 CALL .plt:::gimp_value_array_index ;undefined gimp_value_array_index() MOV RSI,R14 MOV RDI,RAX CALL gimp_value_get_item ;undefined gimp_value_get_item() MOV ESI,0x1 MOV RDI,RBP MOV R14,RAX CALL .plt:::gimp_value_array_index ;undefined gimp_value_array_index() MOV RDI,RAX CALL .plt:::g_value_get_boolean ;undefined g_value_get_boolean() MOV EBP,EAX CALL gimp_item_get_type ;undefined gimp_item_get_type() MOV RDI,R14 MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() MOV EDX,0x1 MOV ESI,EBP MOV RDI,RAX CALL gimp_item_set_linked ;undefined gimp_item_set_linked() TEST R12,R12 JZ LAB_0046518e MOV R12,qword ptr [R12] LAB_0046518e: ADD RSP,0x8 MOV RDX,R12 MOV RDI,R13 MOV ESI,0x1 POP RBP POP R12 POP R13 POP R14 JMP gimp_procedure_get_return_values ;undefined gimp_procedure_get_return_... ?? 0Fh Actual src: static GimpValueArray * item_set_linked_invoker (GimpProcedure *procedure, Gimp *gimp, GimpContext *context, GimpProgress *progress, const GimpValueArray *args, GError **error) { gboolean success = TRUE; GimpItem *item; gboolean linked; item = gimp_value_get_item (gimp_value_array_index (args, 0), gimp); linked = g_value_get_boolean (gimp_value_array_index (args, 1)); if (success) { gimp_item_set_linked (GIMP_ITEM (item), linked, TRUE); } return gimp_procedure_get_return_values (procedure, success, error? *error : NULL); } Predicted src: static void gimp_value_set_value (GObject *object, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, guint n_id, n_id, guint n_id, guint n_id, guint n_id, n_id, n_id, n_id_id, guint n_id, n_id, n_id, n_id_id, n_id, n_id_id_id, n_id_id, n_id_id, n_id_id_id, n_id, n_id, n_id_id_id, n_id_id_id, n_id, n_id_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id, n_id_id, n_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id, n_id_id, n_id, n_id_id, n_id_id, n_id_id, n_id_id, n_id, n_id_id, n_id_id, n_id, n_id_id, n_id, n_id_id_id, n_id, n_id, n_id_id_id, n_id, n_id_id, n_id, n_id_id, n_id_id, n_id, n_id, n_id_id, n_id_id, n_id_id, n_id, n_id_id, n_id_id, n_id, n_id, n_id_id, n_id, n_id, n_id_id, n_id, n_id_id, n_id, n_id_id, n_id, n_id_id, n_id, n_id, n_id_id, n_id, n_id, n_id_id, n_id, n_id, n_id_id, n_id, n_id, n_id, n_id, n_id, n_id_id, n_id, n_id, n_id, n_id, n_id_id, n_id, n_id, n_id, n_id, n_id, n_id, n_id_id, n_id, n_id, n_id, n_id, n_id, n_id, n ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined rpmfiFMode() MOV ESI,0xffffffff TEST RDI,RDI JZ LAB_00141700 MOV ESI,dword ptr [RDI] MOV RDI,qword ptr [RDI + 0x28] LAB_00141700: JMP .plt:rpmfilesFMode ;undefined rpmfilesFMode() ?? 66h f Actual src: RPMFI_ITERFUNC(rpm_mode_t, FMode, i) Predicted src: static int set_check(const void *a, const void *b) { return (int)a->name; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* juce::AudioProcessorGraph::Connection::TEMPNAMEPLACEHOLDERVALUE(juce::AudioProcessorGraph::Connection const&) const * ;************************************************************************************************************************************************************ ;undefined operator!=(Connection * this, Connection * param_1) ;this Connection * RDI ;param_1 Connection * RSI MOV EDX,dword ptr [param_1] MOV EAX,0x1 CMP dword ptr [this],EDX JZ LAB_0029c150 LAB_0029c14b: RET ?? 0Fh ?? 1Fh ?? 40h @ ?? 00h LAB_0029c150: MOV ECX,dword ptr [param_1 + 0x4] CMP dword ptr [this + 0x4],ECX JNZ LAB_0029c14b MOV ECX,dword ptr [param_1 + 0x8] CMP dword ptr [this + 0x8],ECX JNZ LAB_0029c14b MOV EAX,dword ptr [param_1 + 0xc] CMP dword ptr [this + 0xc],EAX SETNZ AL RET ?? 66h f Actual src: bool AudioProcessorGraph::Connection::operator!= (const Connection& c) const noexcept { return! operator== (c); } Predicted src: bool ::operator==(const std::string& other) const { return (this == other) && (this == other); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined polypolygon_print() AND EDI,0xffff JZ LAB_001444e4 PUSH R15 LEA R15,[.rodata:s__Polygon[%d]:_0016b860] ;= " Polygon[%d]: " PUSH R14 MOV R14D,EDI PUSH R13 XOR R13D,R13D PUSH R12 MOV R12,RSI PUSH RBP MOV RBP,RDX PUSH RBX SUB RSP,0x8 NOP dword ptr [RAX] LAB_00144490: XOR EAX,EAX MOV EDX,R13D MOV RSI=>.rodata:s__Polygon[%d]:_0016b860,R15 ;= " Polygon[%d]: " MOV EDI,0x1 CALL .plt:::__printf_chk ;undefined __printf_chk() CMP word ptr [R12],0x0 JZ LAB_001444c8 XOR EBX,EBX NOP dword ptr [RAX] LAB_001444b0: MOV EDI,dword ptr [RBP] ADD EBX,0x1 ADD RBP,0x4 CALL .plt:point16_print ;undefined point16_print() MOVZX EAX,word ptr [R12] CMP EAX,EBX JG LAB_001444b0 LAB_001444c8: ADD R13D,0x1 ADD R12,0x2 CMP R13D,R14D JNZ LAB_00144490 ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 POP R14 POP R15 RET LAB_001444e4: RET ?? 66h f Actual src: void polypolygon_print( uint16_t nPolys, const uint16_t *aPolyCounts, const char *Points ){ int i,j; U_POINT16 pt; for(i=0; i