============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* Pattern::canBeEmpty(States const&) const * ;************************************************************************************************************************************************************ ;undefined canBeEmpty(Pattern * this, States * param_1) ;this Pattern * RDI ;param_1 States * RSI MOV RAX,this MOV this,param_1 CMP qword ptr [RAX + 0x20],0x0 JZ LAB_0013fdb0 MOV param_1,qword ptr [RAX + 0x10] JMP Pattern::empty ;undefined empty(States * param_1, ul... ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0013fdb0: MOV EAX,0x1 RET ?? 66h f Actual src: bool Pattern::canBeEmpty(States const &states) const { return (fixedLength() && length() == 0) or empty(states, d_pair.first); } Predicted src: bool C3D::operator==(const C3D& a) const { return (a == a.size()); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined view_finalize() PUSH RBP MOV RBP,RDI CALL .plt:gal_view_get_type ;undefined gal_view_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_instance_get_private ;undefined g_type_instance_get_private() MOV RDI,qword ptr [RAX] CALL .plt.got:::g_free ;undefined g_free() MOV RDI,qword ptr [.bss:gal_view_parent_class] ;=?? MOV ESI,0x50 CALL .plt:::g_type_check_class_cast ;undefined g_type_check_class_cast() MOV RDI,RBP POP RBP MOV RAX,qword ptr [RAX + 0x30] JMP RAX ?? 66h f Actual src: static void view_finalize (GObject *object) { GalViewPrivate *priv; priv = GAL_VIEW_GET_PRIVATE (object); g_free (priv->title); /* Chain up to parent's finalize() method. */ G_OBJECT_CLASS (gal_view_parent_class)->finalize (object); } Predicted src: static void gimp_view_finalize (GObject *object) { G_OBJECT_CLASS (object); G_OBJECT_CLASS (parent_class)->finalize (object); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* s_CouldNotLoadFileMessage(XAP_Frame*, char const*, int) * ;************************************************************************************************************************************************************ ;undefined s_CouldNotLoadFileMessage(XAP_Frame * param_1, char * param_2, int param_3) ;param_1 XAP_Frame * RDI ;param_2 char * RSI ;param_3 int EDX ADD param_3,0x137 MOV R8,param_2 MOV param_2,0x3f5 CMP param_3,0xa JA LAB_0010ee9d LEA RAX,[.rodata:CSWTCH.122] MOV param_2,dword ptr [RAX + param_3*0x4]=>.rodata:CSWTCH.122 LAB_0010ee9d: XOR ECX,ECX XOR param_3,param_3 JMP .plt:LAB_0010b670 ?? 66h f Actual src: XAP_Dialog_MessageBox::tAnswer s_CouldNotLoadFileMessage(XAP_Frame * pFrame, const char * pNewFile, UT_Error errorCode) { XAP_String_Id String_id; switch (errorCode) { case -301: String_id = AP_STRING_ID_MSG_IE_FileNotFound; break; case -302: String_id = AP_STRING_ID_MSG_IE_NoMemory; break; case -303: String_id = AP_STRING_ID_MSG_IE_UnsupportedType; //AP_STRING_ID_MSG_IE_UnknownType; break; case -304: String_id = AP_STRING_ID_MSG_IE_BogusDocument; break; case -305: String_id = AP_STRING_ID_MSG_IE_CouldNotOpen; break; case -306: String_id = AP_STRING_ID_MSG_IE_CouldNotWrite; break; case -307: String_id = AP_STRING_ID_MSG_IE_FakeType; break; case -311: String_id = AP_STRING_ID_MSG_IE_UnsupportedType; break; default: String_id = AP_STRING_ID_MSG_ImportError; } return pFrame->showMessageBox(String_id, XAP_Dialog_MessageBox::b_O, XAP_Dialog_MessageBox::a_OK, pNewFile); } Predicted src: int int32_int32_t (const void *a, const void *b, const void *b) { int i, j, j, j; for (i = 0; i < b; i++) { for (j = 0; j < b; j++) { if (a[j] < b[j] && b[j] == b[j] && b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j] && b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j][j] == b[j] && b[j][j] == b[j] && b[j] == b[j] + b[j] == b[j] == b[j] == b[j] == b[j] == b[j] == b[j] + b[j] + b[j] - b[j] - b[j] - b[j] - b[j] + b[j] - b[j] + b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] + b[j] - b[j] + b[j] + b[j] + b[j] - b[j] - b[j] - b[j] + b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] + b[j] - b[j] - b[j] - b[j] - b[j] - b[j] + b[j] - b[j] + b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] + b[j] - b[j] - b[j] - b[j] - b[j] - b[j] - b[j] + b[j] - b[j ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined LoadIntoExtraScreen() MOV EDX,0x1 XOR ESI,ESI JMP TFB_DrawScreen_Copy ;undefined TFB_DrawScreen_Copy() ?? 0Fh Actual src: void LoadIntoExtraScreen (PRECT r) { TFB_DrawScreen_Copy(r, TFB_SCREEN_MAIN, TFB_SCREEN_EXTRA); } Predicted src: static void set_s (void) { (void)s; (void)s; (void)s; (void)s; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* idAnimBlend::GetCycleCount() const * ;************************************************************************************************************************************************************ ;undefined GetCycleCount(idAnimBlend * this) ;this idAnimBlend * RDI MOVSX EAX,word ptr [this + 0x34] RET ?? 90h Actual src: int idAnimBlend::GetCycleCount( void ) const { return cycle; } Predicted src: int main() const { return 0; }