============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined _wrap_event_class_create_with_id() ;local_20 undefined8 -20 ;local_30 undefined8 -30 ;local_38 undefined8 -38 ;local_40 undefined8 -40 ;local_48 undefined8 -48 PUSH R12 MOV RDI,RSI MOV ECX,0x2 MOV EDX,0x2 PUSH RBP LEA RSI,[.rodata:s_event_class_create_with_id_0018964f] ;= "event_class_create_with_id" XOR R12D,R12D SUB RSP,0x38 MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_20+0x48],RAX XOR EAX,EAX LEA R8=>local_38,[RSP + 0x10] MOV qword ptr [RSP]=>local_48,0x0 CALL SWIG_Python_UnpackTuple ;undefined SWIG_Python_UnpackTuple() TEST RAX,RAX JZ LAB_00147beb MOV RDI,qword ptr [RSP + local_38+0x48] MOV RDX,qword ptr [.bss:swig_types[1072]] MOV RSI,RSP CALL SWIG_Python_ConvertPtrAndOwn.constprop.0 ;undefined SWIG_Python_ConvertPtrAndO... MOV EDI,EAX TEST EAX,EAX JS LAB_00147c38 MOV RDI,qword ptr [RSP + local_30+0x48] LEA RSI=>local_40,[RSP + 0x8] MOV RBP,qword ptr [RSP]=>local_48 CALL SWIG_AsVal_unsigned_SS_long_SS_long ;undefined SWIG_AsVal_unsigned_SS_lon... MOV EDI,EAX TEST EAX,EAX JS LAB_00147c10 MOV RSI=>local_40,qword ptr [RSP + 0x8] MOV RDI,RBP CALL .plt:::bt_event_class_create_with_id ;undefined bt_event_class_create_with... MOV RSI,qword ptr [.bss:swig_types[256]] MOV RDI,RAX CALL SWIG_Python_NewPointerObj.constprop.0 ;undefined SWIG_Python_NewPointerObj.... MOV R12,RAX LAB_00147beb: MOV RAX,qword ptr [RSP + local_20+0x48] SUB RAX,qword ptr FS:[0x28] JNZ LAB_00147c59 ADD RSP,0x38 MOV RAX,R12 POP RBP POP R12 RET ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00147c10: CMP EAX,-0x1 MOV EAX,0xfffffffb LEA RSI,[.rodata:s_in_method_'event_class_create_wi_001749a8] ;= "in method 'event_class_create_wit... CMOVZ EDI,EAX CALL SWIG_Python_ErrorType ;undefined SWIG_Python_ErrorType() MOV RDI,RAX CALL .plt:PyErr_SetString ;undefined PyErr_SetString() JMP LAB_00147beb ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00147c38: CMP EAX,-0x1 MOV EAX,0xfffffffb LEA RSI,[.rodata:s_in_method_'event_class_create_wi_00174958] ;= "in method 'event_class_create_wit... CMOVZ EDI,EAX CALL SWIG_Python_ErrorType ;undefined SWIG_Python_ErrorType() MOV RDI,RAX CALL .plt:PyErr_SetString ;undefined PyErr_SetString() JMP LAB_00147beb LAB_00147c59: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() NOP Actual src: SWIGINTERN PyObject *_wrap_event_class_create_with_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bt_stream_class *arg1 = (bt_stream_class *) 0 ; uint64_t arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned long long val2 ; int ecode2 = 0 ; PyObject *swig_obj[2] ; bt_event_class *result = 0 ; if (!SWIG_Python_UnpackTuple(args, "event_class_create_with_id", 2, 2, swig_obj)) SWIG_fail; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_bt_stream_class, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_class_create_with_id" "', argument " "1"" of type '" "bt_stream_class *""'"); } arg1 = (bt_stream_class *)(argp1); ecode2 = SWIG_AsVal_unsigned_SS_long_SS_long(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "event_class_create_with_id" "', argument " "2"" of type '" "uint64_t""'"); } arg2 = (uint64_t)(val2); result = (bt_event_class *)bt_event_class_create_with_id(arg1,arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_bt_event_class, 0 | 0 ); return resultobj; fail: return NULL; } Predicted src: SWIGINTERN PyObject *_wrap_event_class_create_with_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bt_event_class *arg1 = (bt_event_class *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; int result; if (!args) SWIG_fail; swig_obj[0] = args; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_bt_event_class, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_class_create_with_id" "', argument " "1"" of type '" "bt_event_class *""'"); } arg1 = (bt_event_class *)(argp1); result = (int)bt_event_class_create_with_id((struct bt_event_class const *)arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_bt_bt_event_class, 0 | 0 ); return resultobj; fail: return NULL; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined V_FillRect8() PUSH R14 MOVSXD RSI,ESI MOVSXD R14,ECX PUSH R13 PUSH R12 PUSH RBP LEA RBP,[.bss:screens] PUSH RBX MOVSXD RBX,EDI SHL RBX,0x5 LEA RAX,[RBP + RBX*0x1] IMUL EDX,dword ptr [RAX + 0x14]=>.bss:screens[20] MOVSXD RDX,EDX LEA RCX,[RDX + RSI*0x1] ADD RCX,qword ptr [RAX]=>.bss:screens TEST R8D,R8D JZ LAB_001f36cf LEA R12D,[R8 + -0x1] MOVZX R13D,R9B NOP dword ptr [RAX] LAB_001f36b0: MOV RDI,RCX MOV RDX,R14 MOV ESI,R13D CALL .plt:::memset ;void * memset(void * __s, int __c, s... MOV RCX,RAX MOVSXD RAX,dword ptr [RBP + RBX*0x1 + 0x14]=>.bss:screens[20] ADD RCX,RAX SUB R12D,0x1 JNC LAB_001f36b0 LAB_001f36cf: POP RBX POP RBP POP R12 POP R13 POP R14 RET ?? 0Fh Actual src: static void V_FillRect8(int scrn, int x, int y, int width, int height, byte colour) { byte* dest = screens[scrn].data + x + y*screens[scrn].byte_pitch; while (height--) { memset(dest, colour, width); dest += screens[scrn].byte_pitch; } } Predicted src: void s_memset(int x, int y, int w, int h) { int i; for (i = 0; i < w; i++) s[i] = x[i]; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* TitanLoggerApi::TitanLogEvent_sourceInfo__list_template::list_item(unsigned int) * ;************************************************************************************************************************************************************ ;undefined list_item(TitanLogEvent_sourceInfo__list_template * this, uint param_1) ;this TitanLogEve... RDI ;param_1 uint ESI SUB RSP,0x8 MOV EAX,dword ptr [this] LEA EDX,[RAX + -0x4] CMP EDX,0x1 JBE LAB_001cda43 CMP EAX,0xb JNZ LAB_001cda62 LAB_001cda43: CMP dword ptr [this + 0x28],param_1 JBE LAB_001cda70 MOV param_1,param_1 MOV RDX,qword ptr [this + 0x30] ADD RSP,0x8 LEA RAX,[param_1*0x8] SUB RAX,param_1 LEA RAX,[RDX + RAX*0x8] RET LAB_001cda62: LEA this,[.rodata:s_Internal_error:_Accessing_a_list_004d47a0] ;= "Internal error: Accessing a list... XOR EAX,EAX CALL TTCN_error ;undefined TTCN_error(char * param_1,... LAB_001cda70: LEA this,[.rodata:s_Internal_error:_Index_overflow_i_004d4818] ;= "Internal error: Index overflow in... XOR EAX,EAX CALL TTCN_error ;undefined TTCN_error(char * param_1,... NOP Actual src: TitanLogEvent_sourceInfo__list_template& TitanLogEvent_sourceInfo__list_template::list_item(unsigned int list_index) { if (template_selection!= VALUE_LIST && template_selection!= COMPLEMENTED_LIST && template_selection!= CONJUNCTION_MATCH) TTCN_error("Internal error: Accessing a list element of a non-list template of type @TitanLoggerApi.TitanLogEvent.sourceInfo_list."); if (list_index >= value_list.n_values) TTCN_error("Internal error: Index overflow in a value list template of type @TitanLoggerApi.TitanLogEvent.sourceInfo_list."); return value_list.list_value[list_index]; } Predicted src: void PREGEN__RECORD__OF__CHARSTRING_template::list_item(unsigned int list_index) { if (template_selection!= VALUE_LIST && template_selection!= VALUE_LIST && template_selection!= VALUE_LIST && template_selection!= VALUE_LIST && template_selection!= VALUE_LIST && template_selection!= VALUE_LIST && template_selection!= VALUE_LIST && template_selection!= VALUE_LIST && template_selection!= VALUE_LIST; if (list_selection!= VALUE_LIST) TTCN_error("Accessing a non-list template of a non-list template of type @TitanLoggerApi.RECORD_OF_CHARSTRING."); if (list_index >= value_list.n_values) TTCN_error("Index overflow in a non-list template of type @TitanLoggerApi.RECORD_OF_CHARSTRING."); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined svt_aom_highbd_dc_predictor_8x32_c() PUSH R13 XOR EAX,EAX MOV R13,RSI PUSH R12 PUSH RBP PUSH RBX MOV RBX,RDI LEA RDI,[RDX + 0x10] SUB RSP,0x8 NOP word ptr CS:[RAX + RAX*0x1] LAB_00155040: MOVZX ESI,word ptr [RDX] ADD RDX,0x2 ADD EAX,ESI CMP RDI,RDX JNZ LAB_00155040 LEA RSI,[RCX + 0x40] NOP word ptr [RAX + RAX*0x1] LAB_00155058: MOVZX EDX,word ptr [RCX] ADD RCX,0x2 ADD EAX,EDX CMP RSI,RCX JNZ LAB_00155058 LEA R12D,[RAX + 0x14] MOV EAX,0xcccccccd ADD R13,R13 MOV EBP,0x20 IMUL R12,RAX SHR R12,0x25 NOP LAB_00155080: MOV RDI,RBX MOV EDX,0x8 MOV ESI,R12D ADD RBX,R13 CALL svt_aom_memset16 ;undefined svt_aom_memset16() SUB EBP,0x1 JNZ LAB_00155080 ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 RET ?? 66h f Actual src: intra_pred_highbd_sized(dc, 8, 32) Predicted src: intra_pred_highbd_sized(dc, 16, 4) ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined update_cb() PUSH RBP MOV RBP,RDI CALL .plt:sn_item_v0_get_type ;undefined sn_item_v0_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() MOV dword ptr [RAX + 0xcc],0x0 MOV RDI,RAX CALL update ;undefined update() XOR EAX,EAX POP RBP RET ?? 66h f Actual src: static gboolean update_cb (gpointer user_data) { SnItemV0 *v0; v0 = SN_ITEM_V0 (user_data); v0->update_id = 0; update (v0); return G_SOURCE_REMOVE; } Predicted src: static gboolean update_cb (gpointer user_data) { update_item (user_data); return G_SOURCE_REMOVE; }