============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* ccl::EmissionNode::compile(ccl::SVMCompiler&) * ;************************************************************************************************************************************************************ ;undefined compile(EmissionNode * this, SVMCompiler * param_1) ;this EmissionNode * RDI ;param_1 SVMCompiler * RSI ;local_30 undefined8 -30 ;local_3c undefined4 -3c ;local_40 undefined4 -40 ;local_44 undefined4 -44 ;local_48 undefined4 -48 PUSH R13 PUSH R12 PUSH RBP MOV RBP,param_1 LEA param_1,[.rodata:s_Color_03a76446] ;= "Color" PUSH RBX MOV RBX,this SUB RSP,0x28 MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_30+0x48],RAX XOR EAX,EAX CALL ccl::ShaderNode::input ;undefined input(ShaderNode * this, c... LEA param_1,[.rodata:s_Strength_03a7bfa8] ;= "Strength" MOV this,RBX MOV R12,RAX CALL ccl::ShaderNode::input ;undefined input(ShaderNode * this, c... CMP qword ptr [R12 + 0x10],0x0 MOV param_1,RAX JZ LAB_02777090 LAB_02777029: MOV this,RBP CALL ccl::SVMCompiler::stack_assign ;undefined stack_assign(ShaderInput *... MOV param_1,R12 MOV this,RBP MOV R13D,EAX CALL ccl::SVMCompiler::stack_assign ;undefined stack_assign(ShaderInput *... XOR R8D,R8D MOV ECX,R13D MOV param_1,0x7 MOV EDX,EAX MOV this,RBP CALL ccl::SVMCompiler::add_node ;undefined add_node(SVMCompiler * thi... LAB_02777054: MOV RAX,qword ptr [RSP + local_30+0x48] SUB RAX,qword ptr FS:[0x28] JNZ LAB_027770e4 MOV EDX,dword ptr [RBP + 0x440] ADD RSP,0x28 MOV this,RBP XOR R8D,R8D POP RBX XOR ECX,ECX POP RBP MOV param_1,0x3 POP R12 POP R13 JMP ccl::SVMCompiler::add_node ;undefined add_node(SVMCompiler * thi... ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_02777090: CMP qword ptr [RAX + 0x10],0x0 JNZ LAB_02777029 MOVSS XMM1,dword ptr [RBX + 0x78] MOVSS XMM2,dword ptr [RBX + 0x74] MOV RDX,RSP MOV this,RBP MOVSS XMM0,dword ptr [RBX + 0x80] MOV param_1,0x5 MOV dword ptr [RSP + local_3c+0x48],0x0 MULSS XMM1,XMM0 MULSS XMM2,XMM0 MULSS XMM0,dword ptr [RBX + 0x70] MOVSS dword ptr [RSP + local_40+0x48],XMM1 MOVSS dword ptr [RSP + local_44+0x48],XMM2 MOVSS dword ptr [RSP]=>local_48,XMM0 CALL ccl::SVMCompiler::add_node ;undefined add_node(SVMCompiler * thi... JMP LAB_02777054 LAB_027770e4: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() NOP Actual src: void EmissionNode::compile(SVMCompiler &compiler) { ShaderInput *color_in = input("Color"); ShaderInput *strength_in = input("Strength"); if (color_in->link || strength_in->link) { compiler.add_node( NODE_EMISSION_WEIGHT, compiler.stack_assign(color_in), compiler.stack_assign(strength_in)); } else compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color * strength); compiler.add_node(NODE_CLOSURE_EMISSION, compiler.closure_mix_weight_offset()); } Predicted src: void NodeNode::addNode(Node *node) { node->addNode(node); node->addNode(node); node->addNode(node); node->addNode(node); node->addNode(node); node->addNode(node); node->addNode(node); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined strv_get_value() MOV RDX,qword ptr [RDI] TEST RDX,RDX JNZ LAB_00116220 XOR EAX,EAX RET ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00116220: PUSH R12 PUSH RBP MOV RBP,RSI MOV ESI,0x40 SUB RSP,0x8 MOV EAX,dword ptr [RDI + 0x20] MOV RDI,RBP MOV R12,qword ptr [RDX + RAX*0x8] CALL .plt:::g_value_init ;undefined g_value_init() MOV RDI,RBP MOV RSI,R12 CALL .plt:::g_value_set_string ;undefined g_value_set_string() ADD RSP,0x8 MOV EAX,0x1 POP RBP POP R12 RET ?? 66h f Actual src: static gboolean strv_get_value (TmplIterator *iter, GValue *value) { guint index = GPOINTER_TO_INT (iter->data1); if (iter->instance) { gchar **strv = iter->instance; gchar *str = strv[index]; g_value_init (value, G_TYPE_STRING); g_value_set_string (value, str); return TRUE; } return FALSE; } Predicted src: static gboolean g_value_init (gpointer key, gpointer value, gpointer value) { g_value_set_string (value, value); return TRUE; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* otb::TestHelper::SetEpsilonBoundaryChecking(double) * ;************************************************************************************************************************************************************ ;undefined SetEpsilonBoundaryChecking(TestHelper * this, double param_1) ;this TestHelper * RDI ;param_1 double XMM0_Qa UCOMISD param_1,qword ptr [this + 0x50] JP LAB_001663f0 JNZ LAB_001663f0 RET ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_001663f0: MOV RAX,qword ptr [this] MOVSD qword ptr [this + 0x50],param_1 JMP qword ptr [RAX + 0x88] ?? 66h f Actual src: itkSetMacro(EpsilonBoundaryChecking, double); Predicted src: vtkSetMacro(Point, double); ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined siridb_series_update_props() PUSH R12 MOV R12,RDI PUSH RBP MOV RBP,RSI SUB RSP,0x8 CMP byte ptr [RSI + 0xf],0x2 MOV RAX,qword ptr [RSI + 0x30] JZ LAB_0013d6c0 TEST RAX,RAX JZ LAB_0013d6a0 MOV EDX,dword ptr [RSI + 0x24] TEST EDX,EDX JZ LAB_0013d680 LAB_0013d61b: MOV RDX,qword ptr [RBP + 0x40] MOV RDX,qword ptr [RDX + 0x10] LAB_0013d623: MOV qword ptr [RBP + 0x10],RDX TEST RAX,RAX JZ LAB_0013d648 LAB_0013d62c: CMP qword ptr [RAX],0x0 JZ LAB_0013d648 MOV RAX,qword ptr [RAX + 0x10] MOV RAX,qword ptr [RAX] CMP RAX,RDX JC LAB_0013d6e0 NOP word ptr [RAX + RAX*0x1] LAB_0013d648: MOV RDI,RBP CALL SERIES_update_end ;undefined SERIES_update_end() MOV ECX,dword ptr [RBP + 0x20] TEST ECX,ECX JNZ LAB_0013d698 CMP dword ptr [.data:Logger[8]],0x2 JLE LAB_0013d6f0 LAB_0013d664: ADD RSP,0x8 MOV RSI,RBP MOV RDI,R12 POP RBP POP R12 JMP siridb_series_drop ;undefined siridb_series_drop() ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0013d680: MOV qword ptr [RBP + 0x10],-0x1 MOV RDX,-0x1 JMP LAB_0013d62c ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0013d698: ADD RSP,0x8 POP RBP POP R12 RET LAB_0013d6a0: CMP dword ptr [.data:Logger[8]],0x3 JG LAB_0013d664 MOV EDX,dword ptr [RSI + 0x4] MOV RSI,qword ptr [RSI + 0x38] LEA RDI,[.rodata:s_Drop_'%s'_(%u)_since_no_buffer_i_00166038] ;= "Drop '%s' (%u) since no buffer is... CALL log__error ;undefined log__error(undefined param... JMP LAB_0013d664 ?? 66h f ?? 90h LAB_0013d6c0: MOV ESI,dword ptr [RSI + 0x24] MOV RDX,-0x1 TEST ESI,ESI JZ LAB_0013d623 JMP LAB_0013d61b ?? 66h f ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0013d6e0: MOV qword ptr [RBP + 0x10],RAX JMP LAB_0013d648 ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0013d6f0: MOV EDX,dword ptr [RBP + 0x4] MOV RSI,qword ptr [RBP + 0x38] LEA RDI,[.rodata:s_Drop_'%s'_(%u)_since_no_data_is_f_00166070] ;= "Drop '%s' (%u) since no data is f... XOR EAX,EAX CALL log__warning ;undefined log__warning(undefined par... JMP LAB_0013d664 ?? 66h f Actual src: void siridb_series_update_props(siridb_t * siridb, siridb_series_t * series) { if (series->tp!= TP_STRING && series->buffer == NULL) { log_error( "Drop '%s' (%" PRIu32 ") since no buffer is found for this series", series->name, series->id); siridb_series_drop(siridb, series); } else { SERIES_update_start(series); SERIES_update_end(series); if (!series->length) { log_warning( "Drop '%s' (%" PRIu32 ") since no data is found for this series", series->name, series->id); siridb_series_drop(siridb, series); } } } Predicted src: static void update_update_update_data(void *data, void *user_data) { update_data *update_data = user_data; update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data; update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data; update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data; update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data; update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data->update_data; update_data->update_data->update_data->update_data->update_data->update_data->update_data = NULL; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined Perl_parse_arithexpr() PUSH RBP MOV RBP,RDI PUSH RBX SUB RSP,0x8 TEST ESI,0xfffffffe JNZ LAB_001a9ade MOV EBX,ESI MOV EDX,0xa MOV ESI,0x103 CALL S_parse_recdescent_for_op ;undefined S_parse_recdescent_for_op() TEST RAX,RAX JZ LAB_001a9a90 LAB_001a9a87: ADD RSP,0x8 POP RBX POP RBP RET ?? 66h f ?? 90h LAB_001a9a90: TEST EBX,EBX JNZ LAB_001a9a87 MOV RAX,qword ptr [RBP + 0x200] CMP byte ptr [RAX + 0xff],0x0 JZ LAB_001a9ac0 LAB_001a9aa4: ADD RSP,0x8 MOV RDI,RBP XOR EDX,EDX XOR ESI,ESI POP RBX POP RBP JMP .plt:Perl_newOP ;undefined Perl_newOP() ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_001a9ac0: MOV RDI,RBP LEA RSI,[.rodata:s_Parse_error_002d58bc] ;= "Parse error" XOR EAX,EAX CALL .plt:Perl_mess ;undefined Perl_mess(undefined param_... MOV RDI,RBP MOV RSI,RAX CALL .plt:Perl_qerror ;undefined Perl_qerror() JMP LAB_001a9aa4 LAB_001a9ade: LEA RDX,[.rodata:s_parse_expr_002d6081] ;= "parse_expr" LEA RSI,[.rodata:s_Parsing_code_internal_error_(%s)_002d7450] ;= "Parsing code internal error (%s)" XOR EAX,EAX CALL .plt:Perl_croak ;undefined Perl_croak(undefined param... NOP dword ptr CS:[RAX + RAX*0x1] Actual src: OP * Perl_parse_arithexpr(pTHX_ U32 flags) { return parse_expr(LEX_FAKEEOF_COMPARE, flags); } Predicted src: void opopop_opop(opopopop *opop) { opop *op; op = opop_opop(op); if (op == NULL) { opop_opop(op); op_opop(op); } else { op_op(op); op_op(op); op_op(op); } }