Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
0x140001010:Code_x86_64
decompiled.c
0 lines
|
357.99 KB
_ABI(Microsoft_x86_64) generic64_t function_0x140001010_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_420 stack; generic64_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; generic64_t var_4; generic8_t var_5; var_5 = !*segment_2.offset_1632; var_0 = var_5 ? *(generic64_t *) (*(generic64_t *) 48 + 8) : (generic64_t) *segment_2.offset_1632; *segment_2.offset_1632 = var_0; var_1 = argument_2; var_2 = argument_3; var_3 = argument_0; var_4 = argument_1; if (!(var_5 || *(generic64_t *) (*(generic64_t *) 48 + 8) == (pointer_or_number64_t) *segment_2.offset_1632)) { generic64_t var_6; generic64_t var_7; generic64_t var_8; generic64_t var_9; generic64_t var_10; artificial_struct_returned_by_rawfunction_102 var_11; do { var_11 = ((rawfunction_102 *) segment_7.offset_536)(1000); var_10 = var_11.register_rcx; var_9 = var_11.register_rdx; var_8 = var_11.register_r8; var_7 = var_11.register_r9; var_6 = !*segment_2.offset_1632 ? *(generic64_t *) (*(generic64_t *) 48 + 8) : (generic64_t) *segment_2.offset_1632; *segment_2.offset_1632 = var_6; } while (!(!*segment_2.offset_1632 || *(generic64_t *) (*(generic64_t *) 48 + 8) == (pointer_or_number64_t) *segment_2.offset_1632)); var_1 = var_8; var_2 = var_7; var_3 = var_10; var_4 = var_9; var_5 = !*segment_2.offset_1632; } generic64_t var_12; generic64_t var_13; generic64_t var_14; generic64_t var_15; generic64_t var_16; if ((number32_t) *segment_2.offset_1648 == 1) { var_15 = *segment_2.offset_1648; function_0x140002e98_Code_x86_64(); var_13 = var_1; var_14 = var_2; var_16 = var_4; function_0x140002ed0_Code_x86_64(); *(generic64_t *) ((pointer_or_number64_t) &stack - 8) = (pointer_or_number64_t) &stack.offset_76 + 4; *segment_2.offset_1552 = 1; var_12 = function_0x140001010_Code_x86_64(var_15 & 0xFFFFFFFF, var_16, var_13, var_14); revng_abort("A longjmp was taken"); } else { generic64_t var_17; generic64_t var_18; generic64_t var_19; generic64_t var_20; generic64_t var_21; generic64_t var_22; if (!((number32_t) *segment_2.offset_1648)) { generic64_t var_23; generic64_t var_24; generic64_t var_25; generic64_t var_26; generic64_t var_27; generic64_t var_28; generic64_t var_29; generic32_t var_30; artificial_struct_returned_by_rawfunction_104 var_31; *segment_2.offset_1648 = 1; var_29 = function_0x140001f60_Code_x86_64(var_3); var_31 = ((rawfunction_104 *) segment_7.offset_528)(var_29, (generic64_t) function_0x1400023d0_Code_x86_64, var_4, var_1, var_2, undef(generic64_t), undef(generic64_t)); var_28 = var_31.register_rax; var_27 = var_31.register_r8; var_26 = var_31.register_r9; var_25 = var_31.register_r10; var_24 = var_31.register_r11; *segment_2.offset_1616 = var_28; var_23 = function_0x140002e10_Code_x86_64((generic64_t) function_0x140001000_Code_x86_64, segment_2.offset_1616, var_27, var_26); function_0x140002880_Code_x86_64((generic64_t) function_0x140001000_Code_x86_64); *segment_2.offset_1568 = 1; *segment_2.offset_1584 = 1; *segment_2.offset_1600 = 1; var_30 = 0; if (*(generic16_t *) *(generic64_t *) "" == 23117) { var_30 = 0; if (*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60)) == 17744) { var_30 = 0; switch ((number16_t) *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24)) { case 267: { var_30 = 0; if (*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 116) > 14) { generic8_t var_32; generic64_t var_33; generic64_t var_34; generic8_t var_35; var_35 = bit_parity((number8_t) *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 232)); var_34 = lshift((uint64_t) *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 232), 4294967272); var_33 = lshift((uint64_t) (((*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 232) + 14) ^ 0xE) & ((*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 232) + 14) ^ *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 232))), 4294967276); var_32 = !*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 232) ? '@' : '\000'; var_30 = (((uint8_t) (var_32 | var_35) >> '\006') & 0x1) ^ 0x1; } } break; case 523: { var_30 = 0; if (*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 132) > 14) { var_30 = *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 248) != 0; } } break; } } } segment_5.offset_8 = var_30; if (!*segment_2.offset_1552) { function_0x140002e88_Code_x86_64(); } else { function_0x140002e88_Code_x86_64(); } generic64_t var_36; generic32_t *var_37; generic32_t *var_38; generic64_t var_39; var_38 = function_0x140002dc0_Code_x86_64(); *var_38 = *segment_2.offset_1760; var_37 = function_0x140002dd0_Code_x86_64(); *var_37 = *segment_2.offset_1728; var_36 = _IsNonwritableInCurrentImage(); var_39 = var_36; if ((var_39 & 0x80000000)) { var_18 = var_39; function_0x140002e98_Code_x86_64(); stack.offset_60 = (number32_t) var_18; function_0x140002ea0_Code_x86_64(); var_17 = stack.offset_60; return var_17; } if (*(generic32_t *) *(generic64_t *) "P@" == 1) { function_0x1400023c0_Code_x86_64((generic64_t) function_0x140001c70_Code_x86_64); } if (*(generic32_t *) *(generic64_t *) "0@" == (pointer_or_number32_t) -1) { generic64_t var_40; var_40 = function_0x140002e20_Code_x86_64(4294967295); } generic64_t var_41; var_41 = function_0x140002d70_Code_x86_64(segment_2.offset_1696, segment_2.offset_1712); var_17 = 255; if ((var_41 & 0xFFFFFFFF)) { return var_17; } stack.offset_76.offset_0.member_0 = *segment_2.offset_1808; stack.offset_32 = &stack.offset_76; function_0x140002e78_Code_x86_64(); var_39 = &stack.offset_76; if (((number64_t) &stack.offset_76 & 0x80000000)) { var_18 = var_39; function_0x140002e98_Code_x86_64(); stack.offset_60 = (number32_t) var_18; function_0x140002ea0_Code_x86_64(); var_17 = stack.offset_60; return var_17; } function_0x140002ee8_Code_x86_64(); var_39 = 0; if (!&stack.offset_76) { var_18 = var_39; function_0x140002e98_Code_x86_64(); stack.offset_60 = (number32_t) var_18; function_0x140002ea0_Code_x86_64(); var_17 = stack.offset_60; return var_17; } generic64_t var_42; generic64_t var_43; generic8_t var_44; generic64_t var_45; generic64_t var_46; var_44 = bit_parity((number8_t) segment_5.offset_32); var_43 = !segment_5.offset_32 ? 64 : 0; var_42 = lshift((uint64_t) segment_5.offset_32, 4294967272); var_45 = &stack.offset_76; var_46 = &segment_5.offset_16; if ((var_43 | var_44 | (var_42 & 0x80)) < 64) { generic64_t var_47; generic64_t var_48; var_47 = &stack.offset_76; var_48 = 0; while (true) { generic64_t var_49; generic64_t var_50; var_50 = var_47; var_49 = var_48; function_0x140002f00_Code_x86_64(); function_0x140002ee8_Code_x86_64(); *(generic64_t *) ((pointer_or_number64_t) &stack.offset_76 + var_49 * 8) = var_50; if (!var_50) { var_39 = 0; var_18 = var_39; function_0x140002e98_Code_x86_64(); stack.offset_60 = (number32_t) var_18; function_0x140002ea0_Code_x86_64(); var_17 = stack.offset_60; return var_17; } var_48 = var_49 + 1; var_47 = var_48; function_0x140002ef0_Code_x86_64(); if (var_47 != (pointer_or_number64_t) segment_5.offset_32) { continue; } var_46 = var_50 + 1; var_45 = (pointer_or_number64_t) &stack.offset_76 + ((int64_t) (((number64_t) var_49 << 32) + 4294967296) >> 29) * 1; break; } } generic64_t var_51; var_19 = var_46; *(generic64_t *) var_45 = 0; var_22 = segment_2.offset_1680; var_21 = segment_2.offset_1664; segment_5.offset_24 = &stack.offset_76; function_0x140002ea8_Code_x86_64(); var_51 = function_0x140001b70_Code_x86_64(); *segment_2.offset_1648 = 2; var_20 = *segment_2.offset_1744; } else { segment_5.offset_4 = 1; var_19 = var_1; var_20 = var_2; var_21 = var_3; var_22 = var_4; } if (var_5) { *segment_2.offset_1632 = 0; } generic64_t var_52; generic64_t var_53; generic64_t var_54; var_52 = var_19; var_53 = var_21; var_54 = var_22; if (*(generic64_t *) *(generic64_t *) " R") { generic64_t var_55; generic64_t var_56; generic64_t var_57; artificial_struct_returned_by_rawfunction_103 var_58; var_58 = ((rawfunction_103 *) *(generic64_t *) *(generic64_t *) " R")(0, 2, 0); var_57 = var_58.register_rcx; var_53 = var_57; var_56 = var_58.register_rdx; var_54 = var_56; var_55 = var_58.register_r8; var_52 = var_55; } generic64_t var_59; generic64_t *var_60; struct_418 var_61; var_60 = function_0x140002df0_Code_x86_64(var_53, var_54, var_52); var_13 = segment_5.offset_16; *var_60 = var_13; var_16 = segment_5.offset_24; var_59 = function_0x140002fc0_Code_x86_64(segment_5.offset_32, var_16, var_61); var_15 = var_59; var_14 = var_20; if (segment_5.offset_8) { var_17 = var_59; var_18 = var_59; if (segment_5.offset_4) { return var_17; } stack.offset_60 = (number32_t) var_18; function_0x140002ea0_Code_x86_64(); var_17 = stack.offset_60; return var_17; } function_0x140002ed0_Code_x86_64(); *(generic64_t *) ((pointer_or_number64_t) &stack - 8) = (pointer_or_number64_t) &stack.offset_76 + 4; *segment_2.offset_1552 = 1; var_12 = function_0x140001010_Code_x86_64(var_15 & 0xFFFFFFFF, var_16, var_13, var_14); revng_abort("A longjmp was taken"); } }
Loading...