Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
binary
binary_decompiled.c
0 lines
|
13.54 MB
#include "types-and-globals.h" #include "helpers.h" _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x401000_Code_x86(void) { struct_373 stack; uint64_t loop_state_var; struct_659 var_0; generic32_t var_1; generic32_t var_2; struct_789 var_3; generic32_t var_4; generic32_t var_5; artificial_struct_returned_by_rawfunction_126 var_6; var_4 = &stack; ((struct_373 *) var_4)->offset_12 = 0; function_0x4059fd_Code_x86(); ((struct_373 *) var_4)->offset_0 = 0; ((cabifunction_806 *) segment_1.offset_324)(); var_3 = function_0x407179_Code_x86(); var_6 = ((rawfunction_126 *) segment_1.offset_124)(var_3.offset_0); var_2 = var_6.register_eax; var_5 = var_2; var_1 = var_6.register_edx; var_0 = function_0x401782_Code_x86(); if (*var_0.offset_0) { generic32_t var_7; struct_373 *var_8; generic32_t var_9; generic16_t *var_10; var_7 = ((number32_t) var_0.offset_0 & 0xFFFF0000) | *var_0.offset_0; var_8 = &stack; var_9 = var_2; var_10 = var_0.offset_0; generic32_t var_11; generic32_t var_12; while (true) { generic32_t var_13; generic32_t var_14; if ((var_7 & 0xFFFF) == 32) { var_14 = (pointer_or_number32_t) var_10 + 2; var_13 = var_7; var_11 = var_8; var_12 = var_9; } else { struct_659 var_15; generic32_t var_16; var_15 = function_0x401782_Code_x86(); *(generic32_t *) ((pointer_or_number32_t) var_8 - 4) = 1; var_16 = var_10; if (*(generic16_t *) ((pointer_or_number32_t) &segment_2 + 32) == 47) { bool var_17 = false; var_16 = ((number32_t) var_10 & 0xFFFF0000) | *(generic16_t *) ((pointer_or_number32_t) &segment_2 + 34); switch ((number16_t) *(generic16_t *) ((pointer_or_number32_t) &segment_2 + 34)) { case 83: { var_16 = ((number32_t) var_10 & 0xFFFF0000) | *(generic16_t *) ((pointer_or_number32_t) &segment_2 + 34); if (!*(generic16_t *) ((pointer_or_number32_t) &segment_2 + 36)) { *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2232) = 1; var_13 = 0; var_11 = var_8; var_12 = ((number32_t) var_10 & 0xFFFF0000) | *(generic16_t *) ((pointer_or_number32_t) &segment_2 + 34); var_14 = var_15.offset_0; if (!*(generic16_t *) var_14) { var_17 = true; break; } var_7 = (var_13 & 0xFFFF0000) | *(generic16_t *) var_14; continue; } } break; case 68: { var_16 = ((number32_t) var_10 & 0xFFFF0000) | *(generic16_t *) ((pointer_or_number32_t) &segment_2 + 34); if (*(generic16_t *) ((pointer_or_number32_t) &segment_2 + 36) == 61) { struct_807 var_18; *(generic32_t *) ((pointer_or_number32_t) var_8 - 4) = (pointer_or_number32_t) &segment_2 + 38; var_11 = (pointer_or_number32_t) var_8 - 8; *(generic32_t *) var_11 = (pointer_or_number32_t) &segment_2 + 1100; var_18 = ((cabifunction_808 *) segment_1.offset_128)(); var_13 = 0; var_12 = ((number32_t) var_10 & 0xFFFF0000) | *(generic16_t *) ((pointer_or_number32_t) &segment_2 + 34); var_14 = var_15.offset_0; if (!*(generic16_t *) var_14) { var_17 = true; break; } var_7 = (var_13 & 0xFFFF0000) | *(generic16_t *) var_14; continue; } } break; } if (var_17){ break;} } var_12 = var_16; var_13 = 1; var_11 = var_8; var_14 = var_15.offset_0; if (!*(generic16_t *) ((pointer_or_number32_t) &segment_2 + 564)) { struct_809 var_19; *(generic32_t *) ((pointer_or_number32_t) var_8 - 4) = (pointer_or_number32_t) &segment_2 + 32; var_11 = (pointer_or_number32_t) var_8 - 8; *(generic32_t *) var_11 = (pointer_or_number32_t) &segment_2 + 564; var_19 = ((cabifunction_810 *) segment_1.offset_128)(); var_13 = var_19.offset_0; var_12 = var_16; var_14 = var_15.offset_0; } } if (!*(generic16_t *) var_14) { break; } var_7 = (var_13 & 0xFFFF0000) | *(generic16_t *) var_14; } var_4 = var_11; var_5 = var_12; } struct_643 var_20; generic32_t var_21; generic32_t var_22; if (!*(generic16_t *) ((pointer_or_number32_t) &segment_2 + 564)) { generic32_t var_23; generic32_t var_24; generic32_t var_25; generic32_t var_26; generic32_t var_27; artificial_struct_returned_by_rawfunction_129 var_28; artificial_struct_returned_by_rawfunction_130 var_29; *(uint8_t **) (var_4 - 4) = "IsWow64Process"; *(uint8_t **) (var_4 - 8) = "k"; ((struct_373 *) var_4)->offset_16 = 0; var_27 = var_4 - 12; var_28 = ((rawfunction_129 *) segment_1.offset_132)(var_5); var_26 = var_28.register_eax; var_25 = var_28.register_edx; *(generic32_t *) var_27 = var_26; var_29 = ((rawfunction_130 *) segment_1.offset_136)(var_5, var_25); var_24 = var_29.register_eax; var_23 = var_29.register_edx; if (var_24) { generic32_t var_30; generic32_t var_31; generic32_t var_32; generic32_t var_33; artificial_struct_returned_by_rawfunction_131 var_34; artificial_struct_returned_by_rawfunction_132 var_35; *(generic32_t *) (var_4 - 16) = var_4 + 4; var_27 = var_4 - 20; var_34 = ((rawfunction_131 *) segment_1.offset_140)(var_5); var_33 = var_34.register_eax; var_32 = var_34.register_edx; *(generic32_t *) var_27 = var_33; var_35 = ((rawfunction_132 *) var_24)(var_5, var_32); var_31 = var_35.register_eax; var_30 = var_35.register_edx; } if (*(generic32_t *) (var_27 + 16)) { generic32_t var_36; var_36 = var_27; if (!*(generic16_t *) ((pointer_or_number32_t) &segment_2 + 1100)) { struct_652 var_37; struct_641 var_38; struct_649 var_39; generic32_t var_40; generic32_t var_41; struct_351 var_42; *(generic32_t *) (var_27 + 16) = 0; *(generic32_t *) (var_27 - 4) = var_27 + 16; *(generic32_t *) (var_27 - 8) = 131353; *(generic32_t *) (var_27 - 12) = 0; *(generic32_t *) (var_27 - 16) = segment_1.offset_340; var_41 = var_27 - 20; *(generic32_t *) var_41 = 2147483649; var_40 = ((rawfunction_133 *) segment_1.offset_20)(var_5); if (!var_40) { generic32_t var_43; struct_647 var_44; *(generic32_t *) (var_27 - 24) = (pointer_or_number32_t) &segment_2 + 1100; var_41 = var_27 - 28; var_36 = var_41; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_44 = function_0x4013c8_Code_x86(0); *(generic32_t *) var_36 = *(generic32_t *) (var_27 - 8); var_43 = ((rawfunction_134 *) segment_1.offset_24)(var_44.offset_4); if (!var_44.offset_0) { *(generic32_t *) (var_41 - 4) = (pointer_or_number32_t) &segment_2 + 1100; *(uint8_t **) (var_41 - 8) = "P"; var_39 = function_0x401404_Code_x86(var_42); if (!var_39.offset_0) { var_38 = function_0x401312_Code_x86(); } var_37 = function_0x401484_Code_x86(); var_36 = var_41 - 8; } } else { *(generic32_t *) (var_41 - 4) = (pointer_or_number32_t) &segment_2 + 1100; *(uint8_t **) (var_41 - 8) = "P"; var_39 = function_0x401404_Code_x86(var_42); if (!var_39.offset_0) { var_38 = function_0x401312_Code_x86(); } var_37 = function_0x401484_Code_x86(); var_36 = var_41 - 8; } } generic32_t var_45; var_45 = function_0x401448_Code_x86(); if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2232)) { generic32_t var_46; *(generic32_t *) (var_36 - 4) = 0; *(cabifunction_854 **) (var_36 - 8) = function_0x401512_Code_x86; *(generic32_t *) (var_36 - 12) = 0; *(generic32_t *) (var_36 - 16) = 100; *(generic32_t *) (var_36 - 20) = *(generic32_t *) (var_36 + 52); *(generic32_t *) (var_36 + 16) = 1; var_46 = ((rawfunction_135 *) segment_1.offset_272)(var_45); *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236) = var_46; if (!var_46) { revng_abort("A longjmp was taken"); } else { generic32_t var_47; generic32_t var_48; generic32_t var_49; *(generic32_t *) (var_36 - 24) = 1; *(generic32_t *) (var_36 - 28) = *(generic32_t *) (var_36 + 32); var_48 = ((cabifunction_811 *) segment_1.offset_276)(); *(generic32_t *) (var_36 - 32) = var_48; *(generic32_t *) (var_36 - 36) = 1; *(generic32_t *) (var_36 - 40) = 128; *(generic32_t *) (var_36 - 44) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); ((cabifunction_812 *) segment_1.offset_280)(); *(generic32_t *) (var_36 - 48) = 0; *(generic32_t *) (var_36 - 52) = 0; *(generic32_t *) (var_36 - 56) = 0; var_49 = var_36 - 60; *(generic32_t *) var_49 = var_36 - 24; var_47 = ((cabifunction_813 *) segment_1.offset_284)(); if (var_47) { generic32_t var_50; generic32_t var_51; var_50 = var_47; var_51 = var_36 - 60; while (true) { if (var_50 != (pointer_or_number32_t) -1) { if (*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236)) { generic32_t var_52; generic32_t var_53; *(generic32_t *) (var_51 - 4) = var_51 + 20; var_53 = var_51 - 8; *(generic32_t *) var_53 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); var_52 = ((cabifunction_814 *) segment_1.offset_296)(); if (!var_52) { generic32_t var_54; *(generic32_t *) (var_51 - 12) = var_51 + 12; var_53 = var_51 - 16; ((cabifunction_815 *) segment_1.offset_300)(); *(generic32_t *) var_53 = var_51 + 8; var_54 = ((cabifunction_816 *) segment_1.offset_304)(); } if (*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236)) { generic32_t var_55; generic32_t var_56; var_56 = var_53; if (*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 1092)) { var_56 = var_53; if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2228)) { generic32_t var_57; var_57 = function_0x4017de_Code_x86(); *(generic32_t *) (var_53 - 4) = 1; *(generic32_t *) (var_53 + 16) = var_57; *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2228) = 1; var_55 = var_53; if (var_57) { var_49 = var_55; break; } if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236)) { loop_state_var = 0; break; } generic32_t var_58; generic32_t var_59; generic32_t var_60; generic32_t var_61; generic32_t var_62; generic32_t var_63; *(uint8_t **) (var_53 - 4) = "C"; *(generic32_t *) (var_53 - 8) = 1; *(generic32_t *) (var_53 - 12) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); var_63 = ((cabifunction_817 *) segment_1.offset_308)(); *(generic32_t *) (var_53 - 16) = 1; *(generic32_t *) (var_53 - 20) = 1; *(generic32_t *) (var_53 - 24) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); var_62 = ((rawfunction_143 *) segment_1.offset_292)(var_63); *(generic32_t *) (var_53 - 28) = var_62; var_61 = ((cabifunction_818 *) segment_1.offset_288)(); *(generic32_t *) (var_53 - 32) = 0; *(generic32_t *) (var_53 - 36) = 2; *(generic32_t *) (var_53 - 40) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); var_60 = ((rawfunction_145 *) segment_1.offset_292)(var_61); *(generic32_t *) (var_53 - 44) = var_60; var_59 = ((cabifunction_819 *) segment_1.offset_288)(); *(generic32_t *) (var_53 - 48) = 1; *(generic32_t *) (var_53 - 52) = 1; *(generic32_t *) (var_53 - 56) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); var_58 = ((rawfunction_147 *) segment_1.offset_292)(var_59); *(generic32_t *) (var_53 - 60) = var_58; *(generic32_t *) (var_53 - 64) = 40; var_56 = var_53 - 68; *(generic32_t *) var_56 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); ((cabifunction_820 *) segment_1.offset_280)(); } } generic32_t var_64; *(generic32_t *) (var_56 - 4) = 0; *(generic32_t *) (var_56 - 8) = 0; *(generic32_t *) (var_56 - 12) = 0; var_51 = var_56 - 16; var_55 = var_51; *(generic32_t *) var_55 = var_56 + 20; var_64 = ((cabifunction_821 *) segment_1.offset_284)(); var_50 = var_64; if (var_50) { continue; } var_49 = var_55; break; } } } loop_state_var = 0; break; } if (!(loop_state_var)) { revng_abort("A longjmp was taken"); } } if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236)) { revng_abort("A longjmp was taken"); } else { *(generic32_t *) (var_49 - 4) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); ((cabifunction_822 *) segment_1.offset_312)(); *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236) = 0; revng_abort("A longjmp was taken"); } } } else { generic32_t var_65; var_65 = function_0x4017de_Code_x86(); revng_abort("A longjmp was taken"); } } var_21 = var_27; var_22 = var_27; if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2232)) { var_21 = var_22; var_20 = function_0x401325_Code_x86(); } } else { var_21 = var_4; var_22 = var_4; if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2232)) { var_21 = var_22; var_20 = function_0x401325_Code_x86(); } } *(generic32_t *) (var_21 - 4) = 1; revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) struct_641 function_0x401312_Code_x86(void) { generic32_t var_0; var_0 = *(generic8_t *) NULL; *(generic16_t *) NULL = *(generic8_t *) NULL; if (*(generic8_t *) NULL) { generic32_t var_1; generic32_t var_2; var_1 = *(generic8_t *) NULL; var_2 = *(generic8_t *) NULL; generic8_t var_3; generic32_t var_4; generic32_t var_5; do { var_5 = (var_5 & 0xFFFF0000) | var_2; var_3 = *(generic8_t *) var_4; var_2 = var_3; var_1 = (var_1 & 0xFFFFFF00) | var_2; var_4 = var_4 + 1; *(generic16_t *) NULL = var_3; } while (var_3); var_0 = var_1; } struct_641 var_6; var_6.offset_0 = var_0; return var_6; } _ABI(Microsoft_x86_cdecl) struct_643 function_0x401325_Code_x86(void) { struct_376 stack; struct_645 var_0; struct_643 var_1; stack.offset_28 = 0; stack.offset_20 = "\n"; var_0 = function_0x4013af_Code_x86(); stack.offset_12 = 16; stack.offset_8 = segment_1.offset_344; stack.offset_4 = &stack.offset_28; stack.offset_0 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); ((rawfunction_152 *) segment_1.offset_268)(var_0.offset_4, (generic32_t) "\n", undef(generic32_t)); var_1.offset_0 = &stack.offset_28; var_1.offset_4 = var_0.offset_4; return var_1; } _ABI(Microsoft_x86_cdecl) struct_645 function_0x4013af_Code_x86(void) { struct_381 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; artificial_struct_returned_by_rawfunction_154 var_5; var_5 = ((rawfunction_154 *) segment_1.offset_144)(); var_2 = var_5.register_eax; var_1 = var_5.register_esi; var_0 = var_5.register_edi; var_3 = (var_2 & 0xFFFFFF00) | *(generic8_t *) var_0; var_4 = var_0 + 1; *(generic16_t *) ((var_2 << 1) + var_1) = *(generic8_t *) var_0; if (*(generic8_t *) var_0) { generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; var_6 = 0; var_7 = var_0 + 1; var_8 = (var_2 & 0xFFFFFF00) | *(generic8_t *) var_0; var_9 = *(generic8_t *) var_0; var_10 = stack.offset_4; generic8_t var_11; generic32_t var_12; do { var_12 = var_6; var_10 = (var_10 & 0xFFFF0000) | var_9; var_11 = *(generic8_t *) var_7; var_9 = var_11; var_8 = (var_8 & 0xFFFFFF00) | var_9; var_7 = var_7 + 1; *(generic16_t *) ((var_2 << 1) + var_1 + 2 + (var_12 << 1)) = var_11; var_6 = var_12 + 1; } while (var_11); var_4 = var_0 + 2 + var_12; var_3 = var_8; } struct_645 var_13; var_13.offset_0 = var_3; var_13.offset_4 = var_4; return var_13; } _ABI(Microsoft_x86_cdecl) struct_647 function_0x4013c8_Code_x86(generic32_t argument_0) { struct_377 stack; generic32_t var_0; generic32_t var_1; struct_647 var_2; var_1 = argument_0; stack.offset_28 = 0; stack.offset_20 = &stack.offset_24; stack.offset_16 = var_1; stack.offset_24 = 520; stack.offset_12 = &stack.offset_28; stack.offset_8 = 0; var_0 = ((cabifunction_823 *) segment_1.offset_16)(); var_2.offset_0 = stack.offset_28 == 1 && !var_0; return var_2; } _ABI(Microsoft_x86_cdecl) struct_649 function_0x401404_Code_x86(struct_351 argument_0) { struct_378 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; artificial_struct_returned_by_rawfunction_156 var_4; stack.offset_28 = 0; stack.offset_24 = &stack.offset_28; stack.offset_20 = 131353; stack.offset_16 = 0; var_4 = ((rawfunction_156 *) segment_1.offset_20)(); var_1 = var_4.register_eax; var_0 = var_4.register_esi; var_3 = 0; if (!var_1) { generic32_t var_5; struct_647 var_6; generic32_t var_7; stack.offset_4 = var_0; stack.offset_0 = argument_0.offset_4; var_6 = function_0x4013c8_Code_x86(var_7); var_2 = var_6.offset_4; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = stack.offset_28; var_5 = ((rawfunction_157 *) segment_1.offset_24)(var_2, var_6.offset_0); var_3 = var_5; } struct_649 var_8; var_8.offset_0 = var_3; var_8.offset_4 = var_2; return var_8; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x401448_Code_x86(void) { generic32_t var_0; var_0 = 0; if (*(generic16_t *) NULL) { generic32_t var_1; generic32_t var_2; var_2 = *(generic16_t *) NULL; var_1 = 0; while (true) { generic32_t var_3; if ((var_2 & 0xFFFF) == 47) { *(generic16_t *) var_3 = 92; } if (!*(generic16_t *) NULL) { break; } var_3 = var_3 + 2; var_2 = (var_2 & 0xFFFF0000) | *(generic16_t *) NULL; var_1 = var_1 + 1; } var_0 = 0; if (var_1 != (pointer_or_number32_t) -1) { var_0 = var_1 + 1; if (*(generic16_t *) NULL != 92) { *(generic16_t *) NULL = 0; var_0 = var_1 + 1; } } } return var_0; } _ABI(Microsoft_x86_cdecl) struct_652 function_0x401484_Code_x86(void) { generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; var_1 = function_0x401448_Code_x86(); var_0 = function_0x4014aa_Code_x86(); var_2 = var_0; var_3 = "7-Zip"; if (!var_2) { struct_645 var_4; var_4 = function_0x4013af_Code_x86(); var_2 = var_4.offset_0; var_3 = var_4.offset_4; } struct_652 var_5; var_5.offset_0 = var_2; var_5.offset_4 = var_3; return var_5; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x4014aa_Code_x86(void) { struct_382 stack; uint64_t loop_state_var; generic32_t var_0; var_0 = 0; if (*(generic16_t *) NULL) { while (true) { generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; var_1 = var_2; if (stack.offset_16->offset_0) { generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; var_5 = 0; var_6 = var_3; var_7 = var_2; var_8 = var_4; generic32_t var_9; union_604 *var_10; generic32_t var_11; var_11 = function_0x4014f2_Code_x86(); var_9 = (var_6 & 0xFFFF0000) | *(generic16_t *) var_7; var_10 = function_0x401500_Code_x86(); while ((number16_t) var_10 == (number16_t) (var_11 & 0xFF)) { generic8_t var_12; var_7 = var_7 + 2; var_12 = !*(generic8_t *) ((pointer_or_number32_t) &stack.offset_16->offset_1 + var_5 * 1); var_5 = var_5 + 1; var_6 = var_9; var_8 = (var_8 & 0xFFFF0000) | (var_11 & 0xFF); if (var_12) { var_0 = var_2; loop_state_var = 0; break; } var_11 = function_0x4014f2_Code_x86(); var_9 = (var_6 & 0xFFFF0000) | *(generic16_t *) var_7; var_10 = function_0x401500_Code_x86(); } if (!(loop_state_var)) { break; } var_2 = var_2 + 2; var_1 = 0; var_3 = var_9; var_4 = (var_8 & 0xFFFF0000) | (var_11 & 0xFF); if (*(generic16_t *) NULL) { continue; } } var_0 = var_1; break; } } return var_0; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x4014f2_Code_x86(void) { return 32; } _ABI(Microsoft_x86_cdecl) union_604 *function_0x401500_Code_x86(void) { return (union_604 *) undef(generic32_t); } _ABI(Microsoft_x86_cdecl) struct_853 function_0x401512_Code_x86(generic32_t argument_0, generic32_t argument_1, generic16_t argument_2) { struct_383 stack; generic32_t var_0; generic32_t var_1; generic16_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; struct_853 var_7; var_0 = argument_0; var_1 = argument_1; var_2 = argument_2; var_3 = 0; switch ((number32_t) argument_1) { case 16: { function_0x40173c_Code_x86(); } break; case 272: { generic32_t var_8; generic32_t var_9; generic32_t var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; generic32_t var_15; generic32_t var_16; generic32_t var_17; artificial_struct_returned_by_rawfunction_305 var_18; artificial_struct_returned_by_rawfunction_306 var_19; artificial_struct_returned_by_rawfunction_307 var_20; stack.offset_64 = 111; stack.offset_60 = var_0; var_18 = ((rawfunction_305 *) segment_1.offset_292)(); var_17 = var_18.register_eax; var_16 = var_18.register_esi; var_15 = var_18.register_edi; stack.offset_56 = 113; stack.offset_52 = var_15; *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 560) = var_17; var_19 = ((rawfunction_306 *) var_16)(); var_14 = var_19.register_eax; var_13 = var_19.register_esi; var_12 = var_19.register_edi; stack.offset_48 = 114; stack.offset_44 = var_12; *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2220) = var_14; var_20 = ((rawfunction_307 *) var_13)(); var_11 = var_20.register_eax; var_10 = var_20.register_edi; stack.offset_40 = segment_1.offset_348; *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 1096) = var_11; stack.offset_36 = var_10; var_9 = ((rawfunction_308 *) segment_1.offset_260)(); stack.offset_32 = (pointer_or_number32_t) &segment_2 + 1100; stack.offset_28 = 111; stack.offset_24 = var_9; ((cabifunction_869 *) segment_1.offset_308)(); stack.offset_20 = 0; stack.offset_16 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 1096); var_8 = ((rawfunction_310 *) segment_1.offset_264)(); stack.offset_12 = 0; stack.offset_8 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2220); ((cabifunction_870 *) var_8)(); var_5 = &stack.offset_8; var_4 = var_6; *(generic32_t *) (var_5 - 4) = 1; var_3 = 1; } break; case 273: { var_3 = 0; switch ((number16_t) argument_2) { case 1: { if (*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2228)) { function_0x40173c_Code_x86(); } var_5 = (pointer_or_number32_t) &stack.offset_64 + 4; if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 1092)) { generic32_t var_21; generic32_t var_22; generic32_t var_23; generic32_t var_24; generic32_t var_25; generic32_t var_26; generic32_t var_27; generic32_t var_28; generic32_t var_29; generic32_t var_30; generic32_t var_31; generic32_t var_32; generic32_t var_33; generic32_t var_34; generic32_t var_35; generic32_t var_36; generic32_t var_37; generic32_t var_38; generic32_t var_39; generic32_t var_40; generic32_t var_41; generic32_t var_42; generic32_t var_43; generic32_t var_44; artificial_struct_returned_by_rawfunction_298 var_45; artificial_struct_returned_by_rawfunction_299 var_46; artificial_struct_returned_by_rawfunction_300 var_47; artificial_struct_returned_by_rawfunction_301 var_48; artificial_struct_returned_by_rawfunction_302 var_49; artificial_struct_returned_by_rawfunction_303 var_50; stack.offset_60 = 1; stack.offset_56 = 2; stack.offset_52 = var_0; var_45 = ((rawfunction_298 *) segment_1.offset_292)(); var_44 = var_45.register_eax; var_43 = var_45.register_ebx; var_42 = var_45.register_esi; var_41 = var_45.register_edi; stack.offset_48 = var_44; stack.offset_44 = 40; stack.offset_40 = var_0; var_46 = ((rawfunction_299 *) segment_1.offset_280)(); var_40 = var_46.register_eax; var_39 = var_46.register_ebx; var_38 = var_46.register_esi; var_37 = var_46.register_edi; stack.offset_36 = var_37; stack.offset_32 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 560); var_47 = ((rawfunction_300 *) segment_1.offset_288)(var_40); var_36 = var_47.register_eax; var_35 = var_47.register_ebx; var_34 = var_47.register_esi; var_33 = var_47.register_edi; stack.offset_28 = 0; stack.offset_24 = 112; stack.offset_20 = var_0; var_48 = ((rawfunction_301 *) var_34)(var_36); var_32 = var_48.register_eax; var_31 = var_48.register_ebx; var_30 = var_48.register_esi; var_29 = var_48.register_edi; stack.offset_16 = var_32; var_49 = ((rawfunction_302 *) var_29)(); var_28 = var_49.register_eax; var_27 = var_49.register_ebx; var_26 = var_49.register_esi; var_25 = var_49.register_edi; stack.offset_12 = 0; stack.offset_8 = var_27; stack.offset_4 = var_0; var_50 = ((rawfunction_303 *) var_26)(var_28); var_24 = var_50.register_eax; var_23 = var_50.register_ebx; var_22 = var_50.register_edi; stack.offset_0 = var_24; var_21 = ((rawfunction_304 *) var_22)(); var_3 = var_21; *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 1092) = var_3; var_7.offset_0 = var_3; var_7.offset_4 = var_4; return var_7; } var_4 = var_6; *(generic32_t *) (var_5 - 4) = 1; var_3 = 1; } break; case 2: { function_0x40173c_Code_x86(); } break; case 112: { generic32_t var_51; generic32_t var_52; generic32_t var_53; generic32_t var_54; generic32_t var_55; stack.offset_64 = 260; stack.offset_60 = (pointer_or_number32_t) &stack.offset_64 + 12; stack.offset_56 = 111; stack.offset_52 = var_0; var_52 = ((rawfunction_296 *) segment_1.offset_256)(); stack.offset_48 = (pointer_or_number32_t) &stack.offset_64 + 532; stack.offset_44 = (pointer_or_number32_t) &stack.offset_64 + 12; stack.offset_40 = 65; var_51 = function_0x401684_Code_x86(var_53, var_54, var_55); var_6 = "S"; var_5 = &stack.offset_40; if (var_51) { struct_652 var_56; var_56 = function_0x401484_Code_x86(); var_6 = var_56.offset_4; stack.offset_36 = (pointer_or_number32_t) &stack.offset_64 + 532; stack.offset_32 = 111; stack.offset_28 = var_0; ((rawfunction_297 *) segment_1.offset_308)((pointer_or_number32_t) &stack.offset_64 + 532, var_6, var_52); var_5 = &stack.offset_28; } var_4 = var_6; *(generic32_t *) (var_5 - 4) = 1; var_3 = 1; } break; } } break; } var_7.offset_0 = var_3; var_7.offset_4 = var_4; return var_7; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x401684_Code_x86(generic32_t argument_0, generic32_t argument_1, generic32_t argument_2) { struct_385 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; var_2 = argument_0; var_3 = argument_1; var_4 = argument_2; stack.offset_12 = 0; stack.offset_536 = 0; stack.offset_540 = &stack.offset_12; stack.offset_548 = var_2; stack.offset_556 = var_3; var_1 = !var_3 ? 0 : (generic32_t) function_0x4016e6_Code_x86; stack.offset_8 = (pointer_or_number32_t) &stack.offset_12 + 520; stack.offset_552 = var_1; var_0 = ((cabifunction_824 *) segment_1.offset_236)(); var_5 = 0; if (var_0) { stack.offset_4 = var_4; stack.offset_0 = var_0; ((cabifunction_825 *) segment_1.offset_240)(); *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 1; var_5 = 1; } return var_5; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x4016e6_Code_x86(generic32_t argument_0, generic32_t argument_1, generic32_t argument_2, generic32_t argument_3) { struct_386 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; var_0 = argument_0; var_1 = argument_1; var_2 = argument_2; var_3 = argument_3; switch ((number32_t) argument_1) { case 1: case 2: { generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; switch ((number32_t) argument_1) { case 1: { stack.offset_4 = argument_3; var_4 = 4294966764; var_5 = 1; var_6 = 4294966760; var_7 = 1127; } break; case 2: { generic32_t var_8; stack.offset_4 = &stack.offset_8; stack.offset_0 = var_2; var_8 = ((cabifunction_871 *) segment_1.offset_240)(); if (!var_8) { stack.offset_8 = 0; } *(generic16_t **) ((pointer_or_number32_t) &stack - 4) = &stack.offset_8; var_4 = 4294966756; var_5 = 0; var_6 = 4294966752; var_7 = 1128; } break; } *(generic32_t *) ((pointer_or_number32_t) &(&stack)[1] + var_4 * 1) = var_5; *(generic32_t *) ((pointer_or_number32_t) &(&stack)[1] + var_6 * 1) = var_7; *(generic32_t *) ((pointer_or_number32_t) &(&stack)[1] + var_6 * 1 - 4) = var_0; ((cabifunction_872 *) segment_1.offset_280)(); } break; } return 0; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x40173c_Code_x86(void) { struct_384 stack; struct_384 *var_0; var_0 = &(&stack)[1]; if (*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 1092)) { var_0 = &(&stack)[1]; if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2228)) { generic32_t var_1; stack.offset_12 = 292; stack.offset_8 = "7"; stack.offset_4 = "D"; stack.offset_0 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); var_1 = ((cabifunction_826 *) segment_1.offset_268)(); var_0 = &stack; if (var_1 != 6) { revng_abort("A longjmp was taken"); } } } *(generic32_t *) ((pointer_or_number32_t) var_0 - 4) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236); ((cabifunction_827 *) segment_1.offset_312)(); *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2236) = 0; revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) struct_659 function_0x401782_Code_x86(void) { struct_375 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; var_2 = *(generic16_t *) NULL; var_1 = 0; if (*(generic16_t *) NULL) { generic32_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; var_6 = (pointer_or_number32_t) &segment_2 + 32; var_3 = 0; var_4 = 0; var_5 = *(generic16_t *) NULL; while (true) { generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; var_7 = var_10; var_8 = var_3; var_9 = var_5; if (!((number16_t) var_9 == 32 && !var_4)) { generic32_t var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; if ((number16_t) var_9 == 34) { var_13 = !var_4; var_12 = var_13; var_11 = var_6; var_14 = var_3; } else { if (var_6 > (pointer_or_number32_t) &segment_2 + 557) { generic32_t var_15; stack.offset_3692 = 1; ((cabifunction_828 *) segment_1.offset_220)(); stack.offset_20 = 0; stack.offset_16 = var_6; stack.offset_12 = var_4; stack.offset_8 = 260; stack.offset_4 = (pointer_or_number32_t) &stack.offset_20 + 1764; stack.offset_0 = 0; stack.offset_3684 = 0; stack.offset_3672 = 0; stack.offset_3648 = 0; stack.offset_3660 = function_0x402a55_Code_x86; stack.offset_3664 = function_0x402a65_Code_x86; stack.offset_3600 = function_0x402a55_Code_x86; stack.offset_3604 = function_0x402a65_Code_x86; var_15 = ((cabifunction_829 *) segment_1.offset_72)(); if (!(var_15 < 1 || var_15 > 260)) { function_0x404c3b_Code_x86(); } *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 1; revng_abort("A longjmp was taken"); } *(generic16_t *) var_6 = (number16_t) var_9; var_14 = var_3 + 1; var_11 = var_6 + 2; var_12 = var_5; var_13 = var_4; } var_8 = var_14; var_10 = var_7 + 2; var_5 = (var_12 & 0xFFFF0000) | *(generic16_t *) NULL; var_9 = var_5; if (*(generic16_t *) NULL) { continue; } } var_1 = var_8; var_2 = var_9; var_0 = var_7; break; } } struct_659 var_16; *(generic16_t *) ((var_1 << 1) + ((pointer_or_number32_t) &segment_2 + 32)) = 0; var_16.offset_0 = var_0; var_16.offset_4 = var_2; return var_16; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x4017de_Code_x86(void) { struct_379 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; artificial_struct_returned_by_rawfunction_164 var_3; stack.offset_8 = 260; stack.offset_4 = (pointer_or_number32_t) &stack.offset_8 + 1776; stack.offset_0 = 0; stack.offset_3684 = 0; stack.offset_3672 = 0; stack.offset_3648 = 0; stack.offset_3660 = function_0x402a55_Code_x86; stack.offset_3664 = function_0x402a65_Code_x86; stack.offset_3600 = function_0x402a55_Code_x86; stack.offset_3604 = function_0x402a65_Code_x86; var_3 = ((rawfunction_164 *) segment_1.offset_72)(); var_2 = var_3.register_eax; var_1 = var_3.register_ebx; var_0 = var_3.register_edi; if (!(var_2 == var_1 || var_2 > var_0)) { function_0x404c3b_Code_x86(); } *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 1; return 1; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x401fb1_Code_x86(void) { struct_387 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; var_2 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2224); stack.offset_756 = 0; var_1 = (pointer_or_number32_t) &stack.offset_20 + 4; if (!var_2) { generic32_t var_3; generic32_t var_4; artificial_struct_returned_by_rawfunction_165 var_5; stack.offset_20 = 262; stack.offset_16 = (pointer_or_number32_t) &stack.offset_20 + 16; var_5 = ((rawfunction_165 *) segment_1.offset_64)(); var_4 = var_5.register_eax; var_3 = var_5.register_ebx; var_0 = 0; if (var_4 == var_3 || var_4 > 260) { return var_0; } generic32_t var_6; generic32_t var_7; generic32_t var_8; artificial_struct_returned_by_rawfunction_166 var_9; stack.offset_12 = (pointer_or_number32_t) &stack.offset_20 + 16; var_9 = ((rawfunction_166 *) segment_1.offset_144)(); var_7 = var_9.register_eax; var_6 = var_9.register_ebx; var_8 = (pointer_or_number32_t) &stack.offset_768 + 4 + var_7 * 2; if (*(generic16_t *) ((pointer_or_number32_t) &stack.offset_768 + 4 + var_7 * 2 - 738) != 92) { *(generic16_t *) ((pointer_or_number32_t) &stack.offset_768 + 4 + var_7 * 2 - 736) = 92; var_8 = (pointer_or_number32_t) &stack.offset_768 + 6 + var_7 * 2; } generic32_t var_10; generic32_t var_11; generic32_t var_12; artificial_struct_returned_by_rawfunction_168 var_13; stack.offset_8 = "v"; stack.offset_4 = var_8 - 736; var_12 = ((rawfunction_167 *) segment_1.offset_128)(); stack.offset_0 = (pointer_or_number32_t) &stack.offset_20 + 16; var_13 = ((rawfunction_168 *) segment_1.offset_68)(); var_11 = var_13.register_eax; var_2 = var_11; var_10 = var_13.register_ebx; *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2224) = var_2; var_0 = 0; var_1 = &stack; if (var_2 == var_10) { return var_0; } } generic32_t var_14; generic32_t var_15; generic32_t var_16; generic32_t var_17; generic32_t var_18; generic32_t var_19; generic32_t var_20; generic32_t var_21; generic32_t var_22; generic32_t var_23; artificial_struct_returned_by_rawfunction_169 var_24; artificial_struct_returned_by_rawfunction_170 var_25; artificial_struct_returned_by_rawfunction_171 var_26; *(uint8_t **) (var_1 - 4) = "GetFileVersionInfoSizeW"; *(generic32_t *) (var_1 - 8) = var_2; var_24 = ((rawfunction_169 *) segment_1.offset_136)(); var_23 = var_24.register_eax; var_22 = var_24.register_ebx; var_21 = var_24.register_esi; *(uint8_t **) (var_1 - 12) = "GetFileVersionInfoW"; *(generic32_t *) (var_1 - 16) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2224); var_25 = ((rawfunction_170 *) var_21)(); var_20 = var_25.register_eax; var_19 = var_25.register_ebx; var_18 = var_25.register_esi; var_17 = var_25.register_edi; stack.offset_768 = var_20; *(uint8_t **) (var_1 - 20) = "VerQueryValueW"; *(generic32_t *) (var_1 - 24) = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2224); var_26 = ((rawfunction_171 *) var_18)(); var_16 = var_26.register_eax; var_15 = var_26.register_ebx; var_14 = var_26.register_edi; stack.offset_760 = var_16; var_0 = 0; if (var_14 != var_15) { var_0 = 0; if (!(stack.offset_768 == var_15 || var_16 == var_15)) { generic32_t var_27; generic32_t var_28; artificial_struct_returned_by_rawfunction_172 var_29; *(generic32_t *) (var_1 - 28) = var_15; *(generic32_t *) (var_1 - 32) = stack.offset_764; var_29 = ((rawfunction_172 *) var_14)(); var_28 = var_29.register_eax; var_27 = var_29.register_ebx; var_0 = 0; if (var_28 != var_27) { generic32_t var_30; generic32_t var_31; generic32_t var_32; artificial_struct_returned_by_rawfunction_173 var_33; *(generic32_t *) (var_1 - 36) = var_28; var_33 = ((rawfunction_173 *) segment_1.offset_212)(); var_32 = var_33.register_eax; var_31 = var_33.register_ebx; var_30 = var_33.register_esi; var_0 = 0; if (var_32 != var_31) { generic32_t var_34; generic32_t var_35; generic32_t var_36; generic32_t var_37; generic32_t var_38; artificial_struct_returned_by_rawfunction_174 var_39; *(generic32_t *) (var_1 - 36) = var_32; *(generic32_t *) (var_1 - 40) = var_30; *(generic32_t *) (var_1 - 44) = var_31; var_37 = var_1 - 48; *(generic32_t *) var_37 = stack.offset_764; var_39 = ((rawfunction_174 *) stack.offset_768)(*(generic32_t *) (var_1 - 36)); var_36 = var_39.register_eax; var_35 = var_39.register_ebx; var_34 = var_39.register_edi; var_38 = var_34; if (var_36) { generic32_t var_40; generic32_t var_41; artificial_struct_returned_by_rawfunction_175 var_42; stack.offset_768 = var_35; *(generic32_t **) (var_1 - 52) = &stack.offset_764; *(generic32_t **) (var_1 - 56) = &stack.offset_768; *(uint8_t **) (var_1 - 60) = "\\"; var_37 = var_1 - 64; *(generic32_t *) var_37 = var_34; stack.offset_764 = var_35; var_42 = ((rawfunction_175 *) stack.offset_760)(*(generic32_t *) (var_1 - 36)); var_41 = var_42.register_eax; var_40 = var_42.register_edi; var_38 = var_40; } generic32_t var_43; *(generic32_t *) (var_37 - 4) = var_38; var_43 = ((rawfunction_176 *) segment_1.offset_216)(*(generic32_t *) (var_1 - 36)); var_0 = var_43; } } } } return var_0; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4020e0_Code_x86(void) { struct_388 stack; generic32_t var_0; stack.offset_4 = 0; var_0 = ((cabifunction_830 *) segment_1.offset_60)(); if (!var_0) { ((cabifunction_831 *) segment_1.offset_116)(); revng_abort("A longjmp was taken"); } else { revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_cdecl) generic32_t function_0x4020f7_Code_x86(void) { struct_389 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; artificial_struct_returned_by_rawfunction_179 var_5; stack.offset_12 = (pointer_or_number32_t) &segment_2 + 1100; var_5 = ((rawfunction_179 *) segment_1.offset_144)(); var_2 = var_5.register_eax; var_1 = var_5.register_esi; var_0 = var_5.register_edi; var_4 = &stack.offset_12; if (var_2 > 260) { *(generic32_t *) (var_4 - 4) = 123; var_3 = 123; } else { generic32_t var_6; generic32_t var_7; generic32_t var_8; artificial_struct_returned_by_rawfunction_180 var_9; stack.offset_8 = var_1; stack.offset_4 = &stack.offset_28; var_9 = ((rawfunction_180 *) segment_1.offset_128)(); var_7 = var_9.register_eax; var_6 = var_9.register_edi; if ((stack.offset_28 & 0xFFDF) < 65 || (stack.offset_28 & 0xFFDF) > 90) { var_4 = &stack.offset_4; if (stack.offset_28 != 92) { *(generic32_t *) (var_4 - 4) = 123; var_3 = 123; return var_3; } var_4 = &stack.offset_4; var_8 = 2; if (stack.offset_30 != 92) { *(generic32_t *) (var_4 - 4) = 123; var_3 = 123; return var_3; } } else { if (stack.offset_30 == 58) { var_8 = 3; if (stack.offset_32 != 92) { var_4 = &stack.offset_4; if (stack.offset_28 != 92) { *(generic32_t *) (var_4 - 4) = 123; var_3 = 123; return var_3; } var_4 = &stack.offset_4; var_8 = 2; if (stack.offset_30 != 92) { *(generic32_t *) (var_4 - 4) = 123; var_3 = 123; return var_3; } } } else { var_4 = &stack.offset_4; if (stack.offset_28 != 92) { *(generic32_t *) (var_4 - 4) = 123; var_3 = 123; return var_3; } var_4 = &stack.offset_4; var_8 = 2; if (stack.offset_30 != 92) { *(generic32_t *) (var_4 - 4) = 123; var_3 = 123; return var_3; } } } generic32_t var_10; generic32_t var_11; artificial_struct_returned_by_rawfunction_181 var_12; stack.offset_568 = var_8; stack.offset_0 = &stack.offset_28; var_12 = ((rawfunction_181 *) segment_1.offset_76)(); var_11 = var_12.register_eax; var_10 = var_12.register_edi; if (var_11 == (pointer_or_number32_t) -1) { function_0x4020e0_Code_x86(); } generic32_t var_13; var_13 = !(var_11 & 0x10) ? 183 : 0; var_3 = var_13; } return var_3; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x402295_Code_x86(void) { generic32_t var_0; var_0 = 4294967295; if (*(generic16_t *) NULL) { generic16_t var_1; generic32_t var_2; generic32_t var_3; var_1 = *(generic16_t *) NULL; var_2 = 0; var_3 = 4294967295; generic32_t var_4; generic32_t var_5; do { var_5 = (var_5 & 0xFFFF0000) | var_1; var_4 = var_1 == 92 ? var_2 : var_3; var_3 = var_4; var_2 = var_2 + 1; var_1 = *(generic16_t *) NULL; } while (var_1); var_0 = var_4; } return var_0; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4022b2_Code_x86(void) { function_0x4071e0_Code_x86(); } _ABI(Microsoft_x86_cdecl) void function_0x4023a7_Code_x86(void) { struct_391 stack; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 1; *(generic16_t *) NULL = 48; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4023f4_Code_x86(void) { function_0x402408_Code_x86(); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x402408_Code_x86(void) { struct_392 stack; generic32_t var_0; stack.offset_4 = 0; *(generic32_t **) ((pointer_or_number32_t) &stack - 4) = &stack.offset_4; function_0x402485_Code_x86(var_0); } _ABI(Microsoft_x86_cdecl) void function_0x40245b_Code_x86(generic32_t argument_0) { struct_394 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; artificial_struct_returned_by_rawfunction_182 var_4; var_3 = argument_0; stack.offset_24 = argument_0; var_4 = ((rawfunction_182 *) segment_1.offset_144)(); var_2 = var_4.register_eax; var_1 = var_4.register_esi; var_0 = var_4.register_edi; stack.offset_20 = (var_2 << 1) + 2; stack.offset_16 = (&stack)[1].offset_0; stack.offset_12 = 1; stack.offset_8 = 0; stack.offset_4 = var_1; stack.offset_0 = var_0; ((cabifunction_832 *) segment_1.offset_0)(); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x402485_Code_x86(generic32_t argument_0) { struct_393 stack; generic32_t var_0; var_0 = argument_0; stack.offset_32 = 0; stack.offset_28 = var_0; stack.offset_24 = 0; stack.offset_20 = 983359; stack.offset_16 = 0; stack.offset_12 = 0; stack.offset_8 = 0; ((cabifunction_833 *) segment_1.offset_28)(); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) void function_0x4024a0_Code_x86(void) { generic32_t var_0; generic32_t var_1; var_0 = revng_undefined_local_sp() - 1228; *(generic32_t *) (revng_undefined_local_sp() - 8) = 0; var_1 = 0; while (true) { generic32_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; artificial_struct_returned_by_rawfunction_186 var_10; *(generic32_t *) (revng_undefined_local_sp() - 12) = 1; *(generic32_t *) (var_0 - 4) = revng_undefined_local_sp() - 616; *(generic32_t *) (var_0 - 8) = var_1; *(generic32_t *) (var_0 - 12) = var_1; *(generic16_t *) (revng_undefined_local_sp() - 616) = (number16_t) var_1; var_7 = *(generic32_t *) (revng_undefined_local_sp() - 8) == 1 ? 23 : 2; *(generic32_t *) (var_0 - 16) = var_7; var_9 = var_0 - 20; *(generic32_t *) var_9 = *(generic32_t *) (revng_undefined_local_sp() - 16); var_10 = ((rawfunction_186 *) segment_1.offset_232)(); var_6 = var_10.register_eax; var_5 = var_10.register_ebx; var_8 = var_5; var_4 = var_10.register_edx; var_3 = var_10.register_esi; var_2 = var_10.register_edi; if (!var_6) { struct_645 var_11; generic32_t var_12; var_12 = function_0x401448_Code_x86(); var_11 = function_0x4013af_Code_x86(); if (*(generic32_t *) (revng_undefined_local_sp() - 8) != var_5) { function_0x4020e0_Code_x86(); } generic32_t var_13; generic32_t var_14; generic32_t var_15; generic32_t var_16; generic32_t var_17; artificial_struct_returned_by_rawfunction_187 var_18; var_15 = function_0x401448_Code_x86(); *(generic32_t *) (var_0 - 24) = revng_undefined_local_sp() - 616; var_18 = ((rawfunction_187 *) segment_1.offset_144)(var_3, var_2); var_14 = var_18.register_eax; var_13 = var_18.register_ebx; var_17 = var_13; var_16 = var_0 - 24; generic32_t var_19; generic32_t var_20; generic32_t var_21; do { struct_645 var_22; generic32_t var_23; generic32_t var_24; generic32_t var_25; generic32_t var_26; struct_641 var_27; artificial_struct_returned_by_rawfunction_188 var_28; var_27 = function_0x401312_Code_x86(); *(generic32_t *) (var_16 - 4) = (pointer_or_number32_t) &segment_2 + 1100; *(generic32_t *) (var_16 - 8) = revng_undefined_local_sp() - 1216; var_28 = ((rawfunction_188 *) segment_1.offset_128)(var_17, var_27.offset_4); var_26 = var_28.register_eax; var_25 = var_28.register_ebx; var_24 = var_28.register_esi; var_23 = var_28.register_edi; var_22 = function_0x4013af_Code_x86(); if (*(generic32_t *) (revng_undefined_local_sp() - 8) == var_25) { generic32_t var_29; generic32_t var_30; generic32_t var_31; generic32_t var_32; generic32_t var_33; artificial_struct_returned_by_rawfunction_189 var_34; var_21 = var_16 - 12; *(generic32_t *) var_21 = revng_undefined_local_sp() - 616; var_34 = ((rawfunction_189 *) segment_1.offset_56)(); var_33 = var_34.register_eax; var_32 = var_34.register_ebx; var_20 = var_32; var_31 = var_34.register_edx; var_30 = var_34.register_esi; var_29 = var_34.register_edi; var_19 = var_29; } else { struct_673 var_35; var_35 = function_0x4025c5_Code_x86(); var_19 = var_23; var_20 = var_25; var_21 = var_16 - 8; if (var_35.offset_0) { *(generic32_t *) (revng_undefined_local_sp() - 12) = var_25; var_19 = var_23; var_20 = var_25; var_21 = var_16 - 8; } } } while (!(var_19 < (uint32_t) -1 && var_19 > 0)); var_8 = var_20; var_9 = var_21; if (*(generic32_t *) (revng_undefined_local_sp() - 8) != var_20) { var_8 = var_20; var_9 = var_21; if (*(generic32_t *) (revng_undefined_local_sp() - 12) != var_20) { return; } } } *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) + 1; if (!(*(generic32_t *) (revng_undefined_local_sp() - 8) > 1 && *(generic32_t *) (revng_undefined_local_sp() - 8) < (uint32_t) -1)) { continue; } } } _ABI(Microsoft_x86_cdecl) struct_673 function_0x4025c5_Code_x86(void) { struct_395 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; struct_541 ***var_4; generic32_t var_5; artificial_struct_returned_by_rawfunction_190 var_6; stack.offset_52 = &stack.offset_72; stack.offset_48 = (pointer_or_number32_t) &segment_1.offset_3052 + 28; stack.offset_44 = 1; stack.offset_40 = 0; stack.offset_36 = (pointer_or_number32_t) &segment_1.offset_3052 + 44; var_6 = ((rawfunction_190 *) segment_1.offset_320)(undef(generic32_t)); var_3 = var_6.register_eax; var_5 = var_3; var_2 = var_6.register_ebx; var_1 = var_6.register_edi; var_0 = lshift(var_5, 4294967272); if (!(var_0 & 0x80)) { struct_553 **var_7; struct_553 **var_8; generic32_t var_9; generic32_t var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; artificial_struct_returned_by_rawfunction_192 var_15; var_8 = stack.offset_72; stack.offset_32 = var_1; stack.offset_28 = var_8; var_12 = ((rawfunction_191 *) (*var_8)->offset_80)(var_2); var_7 = stack.offset_72; stack.offset_24 = &stack.offset_68; stack.offset_20 = (pointer_or_number32_t) &segment_1.offset_3052 + 60; stack.offset_16 = var_7; var_15 = ((rawfunction_192 *) (*var_7)->offset_0)(var_12); var_11 = var_15.register_eax; var_14 = var_11; var_10 = var_15.register_ebx; var_9 = lshift(var_14, 4294967272); var_13 = &stack.offset_16; if (!(var_9 & 0x80)) { struct_541 **var_16; generic32_t var_17; generic32_t var_18; var_16 = stack.offset_68; stack.offset_12 = 1; stack.offset_8 = var_10; stack.offset_4 = var_16; var_18 = ((cabifunction_834 *) (*var_16)->offset_24)(); stack.offset_0 = stack.offset_68; var_17 = ((rawfunction_194 *) (*stack.offset_68)->offset_8)(var_18); var_14 = var_17; var_13 = &stack; } generic32_t var_19; *(struct_553 ***) (var_13 - 4) = stack.offset_72; var_19 = ((rawfunction_195 *) (*stack.offset_72)->offset_8)(var_14); var_5 = var_19; var_4 = &stack.offset_68; } struct_673 var_20; var_20.offset_0 = var_5; var_20.offset_4 = var_4; return var_20; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x402637_Code_x86(void) { struct_396 stack; stack.offset_4 = segment_1.offset_372; stack.offset_0 = 0; function_0x402790_Code_x86(); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x40273d_Code_x86(void) { struct_398 stack; generic32_t var_0; stack.offset_4 = 0; *(generic32_t **) ((pointer_or_number32_t) &stack - 4) = &stack.offset_4; function_0x402485_Code_x86(var_0); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x402775_Code_x86(generic32_t argument_0) { struct_399 stack; generic32_t var_0; var_0 = argument_0; stack.offset_32 = 0; stack.offset_28 = var_0; stack.offset_24 = 0; stack.offset_20 = 983103; stack.offset_16 = 0; stack.offset_12 = 0; stack.offset_8 = 0; ((cabifunction_835 *) segment_1.offset_28)(); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x402790_Code_x86(void) { struct_397 stack; generic32_t var_0; stack.offset_4 = 0; *(generic32_t **) ((pointer_or_number32_t) &stack - 4) = &stack.offset_4; function_0x402775_Code_x86(var_0); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4027c8_Code_x86(void) { struct_400 stack; struct_645 var_0; struct_641 var_1; stack.offset_12 = "{"; var_1 = function_0x401312_Code_x86(); var_0 = function_0x4013af_Code_x86(); stack.offset_4 = "{"; stack.offset_0 = 0; function_0x402790_Code_x86(); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4029ed_Code_x86(void) { struct_401 stack; stack.offset_20 = 4; stack.offset_16 = (pointer_or_number32_t) &(&stack)[1] + 4; stack.offset_12 = 4; stack.offset_8 = 0; ((cabifunction_836 *) segment_1.offset_0)(); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) void function_0x402a03_Code_x86(void) { generic16_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; do { generic32_t var_7; generic32_t var_8; var_3 = var_4; var_8 = var_6; var_2 = var_8 + 2; var_7 = 0; do { var_1 = var_7; var_0 = *(generic16_t *) var_8; var_3 = (var_3 & 0xFFFF0000) | var_0; var_8 = var_8 + 2; var_7 = var_1 + 1; } while (var_0 == 34); var_6 = var_2 + (var_1 << 1); *(generic16_t *) var_5 = var_0; var_5 = var_5 + 2; var_4 = var_3; } while (var_0); } _ABI(Microsoft_x86_cdecl) generic32_t function_0x402a1b_Code_x86(void) { struct_402 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; artificial_struct_returned_by_rawfunction_198 var_3; stack.offset_36 = 0; stack.offset_32 = 0; stack.offset_28 = &stack.offset_44; stack.offset_24 = 0; stack.offset_16 = 0; stack.offset_12 = 4864; var_3 = ((rawfunction_198 *) segment_1.offset_48)(); var_1 = var_3.register_eax; var_0 = var_3.register_esi; var_2 = 0; if (var_1) { stack.offset_8 = stack.offset_44; stack.offset_4 = var_0; ((cabifunction_837 *) segment_1.offset_128)(); stack.offset_0 = stack.offset_44; ((cabifunction_838 *) segment_1.offset_100)(); *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 1; var_2 = 1; } return var_2; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x402a55_Code_x86(void) { return 0; } _ABI(Microsoft_x86_cdecl) void function_0x402a65_Code_x86(void) { ((cabifunction_874 *) segment_1.offset_216)(); } _ABI(Microsoft_x86_cdecl) void function_0x402a6e_Code_x86(void) { function_0x402ab0_Code_x86(); *(generic32_t *) NULL = 0; } _ABI(Microsoft_x86_cdecl) void function_0x402ab0_Code_x86(void) { *(generic32_t *) NULL = 0; } _ABI(Microsoft_x86_cdecl) void function_0x402ad9_Code_x86(void) { struct_688 var_0; struct_686 var_1; struct_686 var_2; struct_686 var_3; struct_686 var_4; ((rawfunction_201 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_202 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_203 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_204 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_205 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_206 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); var_4 = function_0x402b4c_Code_x86(); var_3 = function_0x402b4c_Code_x86(); var_2 = function_0x402b4c_Code_x86(); var_1 = function_0x402b4c_Code_x86(); var_0 = function_0x402b6b_Code_x86(); function_0x402ab0_Code_x86(); *(generic32_t *) NULL = 0; } _ABI(Microsoft_x86_cdecl) struct_686 function_0x402b4c_Code_x86(void) { struct_686 var_0; ((rawfunction_207 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); *(generic32_t *) NULL = 0; ((rawfunction_208 *) NULL)(undef(generic32_t), *(generic32_t *) NULL); *(generic32_t *) NULL = 0; var_0.offset_4 = *(generic32_t *) NULL; return var_0; } _ABI(Microsoft_x86_cdecl) struct_688 function_0x402b6b_Code_x86(void) { struct_686 var_0; struct_688 var_1; ((rawfunction_209 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); var_0 = function_0x402b4c_Code_x86(); ((rawfunction_210 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_211 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_212 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_213 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_214 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); ((rawfunction_215 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); *(generic32_t *) NULL = 0; var_1.offset_0 = 0; var_1.offset_4 = *(generic32_t *) NULL; return var_1; } _ABI(Microsoft_x86_cdecl) struct_690 function_0x402bbc_Code_x86(void) { struct_408 stack; uint64_t loop_state_var; struct_692 var_0; generic32_t var_1; generic32_t var_2; struct_690 var_3; stack.offset_52 = 0; stack.offset_16.member_2 = *(generic32_t *) NULL; *(generic32_t *) NULL = 0; var_0 = function_0x402ee3_Code_x86(); var_1 = var_0.offset_0; var_2 = var_0.offset_4; if (!var_1) { generic32_t var_4; generic32_t var_5; var_4 = 4; var_5 = var_0.offset_4; if (!(stack.offset_44 < 1 || stack.offset_44 > 4)) { stack.offset_48 = 0; var_4 = 16; var_5 = var_0.offset_4; if (*(generic32_t *) NULL) { *(generic32_t *) NULL = *(generic32_t *) NULL - 1; stack.offset_40 = *(generic32_t *) NULL - 1; stack.offset_59 = *(generic8_t *) *(generic32_t *) NULL; stack.offset_32 = *(generic32_t *) NULL + 1; *(generic32_t *) NULL = *(generic32_t *) NULL + 1; var_4 = 4; var_5 = var_0.offset_4; if (*(generic8_t *) *(generic32_t *) NULL < '@') { generic32_t var_6; generic8_t var_7; generic32_t var_8; generic32_t var_9; var_6 = *(generic32_t *) NULL + 1; var_7 = *(generic8_t *) *(generic32_t *) NULL; var_8 = *(generic32_t *) NULL - 1; var_9 = var_0.offset_4; struct_560 *var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; generic32_t var_15; generic32_t var_16; while (true) { generic32_t var_17; generic32_t var_18; generic32_t var_19; var_18 = var_9; var_17 = 4; if (!((var_7 & 0xF) > '\010')) { var_17 = 16; var_18 = var_9; if (!(var_8 < (var_7 & 0xF))) { generic32_t var_20; generic32_t var_21; var_20 = lshift(var_7 & 0xF, 4294967272); var_21 = 0; if ((var_7 & 0xF)) { generic32_t var_22; stack.offset_28.member_2 = var_7 & 0xF; var_22 = var_6; generic32_t var_23; generic32_t var_24; struct_559 *var_25; generic8_t var_26; struct_795 var_27; do { var_27 = function_0x407230_Code_x86(); var_26 = *(generic8_t *) var_22; var_25 = stack.offset_32; var_22 = (pointer_or_number32_t) var_25 + 1; stack.offset_40 = stack.offset_40 - 1; var_24 = stack.offset_28.member_2; stack.offset_28.member_2 = var_24 - 1; var_23 = stack.offset_40; stack.offset_32 = &var_25->offset_1; *(generic32_t *) NULL = var_23; } while (var_24 != 1); generic32_t var_28; var_28 = lshift(var_27.offset_4, 4294967272); var_17 = 4; var_18 = var_27.offset_4; if (var_27.offset_4) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } var_21 = (number32_t) var_27.offset_0 | var_26; } generic32_t var_29; generic32_t var_30; generic32_t var_31; *(generic32_t *) var_19 = 0; *(generic8_t *) NULL = '\000'; *(generic32_t *) NULL = var_21; *(generic8_t *) NULL = '\001'; var_31 = 0; if ((stack.offset_59 & 0x10)) { struct_692 var_32; var_32 = function_0x402ee3_Code_x86(); var_29 = var_32.offset_0; var_30 = var_32.offset_4; if (var_29) { var_1 = var_29; var_2 = var_30; break; } var_17 = 4; var_18 = var_32.offset_4; if ((uint32_t) stack.offset_36 > 7) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } struct_692 var_33; *(generic8_t *) NULL = (number8_t) stack.offset_36; var_33 = function_0x402ee3_Code_x86(); var_29 = var_33.offset_0; var_30 = var_33.offset_4; if (var_29) { var_1 = var_29; var_2 = var_30; break; } var_17 = 4; var_18 = var_33.offset_4; var_31 = var_33.offset_4; if ((pointer_or_number32_t) stack.offset_36 != 1) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } } var_18 = var_31; stack.offset_52 = stack.offset_52 + *(generic8_t *) NULL; var_17 = 4; if (!(stack.offset_52 > 7)) { generic32_t var_34; var_34 = var_31; if ((stack.offset_59 & 0x20)) { struct_692 var_35; stack.offset_28.member_2 = 0; var_35 = function_0x402ee3_Code_x86(); var_29 = var_35.offset_0; var_30 = var_35.offset_4; if (var_29) { var_1 = var_29; var_2 = var_30; break; } var_17 = 16; var_18 = var_35.offset_4; if (stack.offset_28.member_2 > *(generic32_t *) NULL) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } var_17 = 4; var_18 = var_35.offset_4; if (stack.offset_28.member_2 > 127) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } *(generic8_t *) NULL = (number8_t) stack.offset_28.member_2; *(generic32_t *) var_19 = *(generic32_t *) NULL - stack.offset_16.member_2; var_34 = var_35.offset_4; } generic32_t var_36; stack.offset_48 = stack.offset_48 + 1; var_36 = stack.offset_44; if (!(stack.offset_48 < var_36)) { generic32_t var_37; var_10 = stack.offset_12; var_37 = stack.offset_52 - (var_36 - 1); stack.offset_36 = var_36 - 1; var_4 = 16; var_5 = var_34; if (var_37 > 0 - var_36) { loop_state_var = 0; } else { var_4 = 4; var_5 = var_34; if (var_36 > 4 || var_36 < 1) { loop_state_var = 0; } else { var_10->offset_4 = var_36 - 1; stack.offset_40 = stack.offset_52 - (var_36 - 1); var_4 = 4; var_5 = var_34; if (!(stack.offset_40 > 4)) { var_10->offset_8 = stack.offset_40; var_11 = var_36 - 1; var_12 = stack.offset_40; var_13 = var_34; if (!stack.offset_52) { break; } var_14 = &stack.offset_16; if (stack.offset_52 < 4) { break; } var_16 = &stack.offset_16; var_15 = 0; loop_state_var = 2; break; } loop_state_var = 0; } } break; } var_17 = 16; var_18 = var_34; if (*(generic32_t *) NULL) { var_19 = var_19 + 12; var_8 = *(generic32_t *) NULL - 1; *(generic32_t *) NULL = var_8; stack.offset_40 = var_8; var_7 = *(generic8_t *) *(generic32_t *) NULL; var_6 = *(generic32_t *) NULL + 1; stack.offset_59 = var_7; stack.offset_32 = var_6; *(generic32_t *) NULL = var_6; var_17 = 4; var_18 = var_34; if (var_7 < '@') { continue; } } } } } var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } if (!(loop_state_var)) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; } else { switch (loop_state_var) { case 2: case 4: { if (loop_state_var == 2) { do { var_15 = var_15 + 1; *(generic32_t *) var_16 = 0; var_16 = var_16 + 4; } while (stack.offset_52 >> 2 != var_15); var_14 = (pointer_or_number32_t) &stack.offset_16 + (stack.offset_52 & 0xFFFFFFFC) * 1; } if ((stack.offset_52 & 0x3)) { generic32_t var_38; generic32_t var_39; var_38 = var_14; var_39 = stack.offset_52 & 0x3; do { *(generic8_t *) var_38 = '\000'; var_38 = var_38 + 1; var_39 = var_39 - 1; } while (var_39 != 0); } var_11 = stack.offset_36; var_12 = stack.offset_40; var_13 = stack.offset_52; } break; } generic32_t *var_40; struct_560 *var_41; struct_692 var_42; generic32_t var_43; generic32_t var_44; generic32_t var_45; generic32_t var_46; generic32_t var_47; generic32_t var_48; generic32_t var_49; var_48 = var_12; var_49 = var_13; if (!var_11) { if (var_48 == 1) { var_45 = 0; if (stack.offset_52) { var_47 = 0; while (true) { var_46 = var_47; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_16 + var_46 * 1)) { var_47 = var_47 + 1; var_46 = var_47; if (var_46 < stack.offset_52) { continue; } } break; } var_45 = var_46; } var_4 = 16; var_5 = var_49; if (var_45 == stack.offset_52) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } var_10->offset_16 = var_45; var_44 = var_49; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_48 = 0; var_43 = lshift(var_48, 4294967272); var_44 = var_49; if (!var_48) { var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_36 = &var_10->offset_16; while (true) { var_42 = function_0x402ee3_Code_x86(); if (var_42.offset_0) { var_1 = var_42.offset_0; var_2 = var_42.offset_4; break; } var_41 = stack.offset_12; if ((uint32_t) var_41 < stack.offset_52) { if (!*(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44)) { stack.offset_48 = stack.offset_48 + 1; *(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44) = '\001'; var_40 = stack.offset_36; stack.offset_36 = &var_40[1]; *var_40 = var_41; if (stack.offset_48 - var_48 > ~var_48) { continue; } var_44 = var_42.offset_4; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; break; } } var_4 = 16; var_5 = var_42.offset_4; var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; break; } var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } generic32_t var_50; generic32_t var_51; generic32_t var_52; generic32_t var_53; var_50 = lshift(stack.offset_44, 4294967272); var_51 = var_11; var_52 = var_12; var_53 = var_13; if (stack.offset_44) { generic32_t var_54; var_54 = &stack.offset_28; if (!(stack.offset_44 < 4)) { generic32_t var_55; generic32_t var_56; var_56 = &stack.offset_28; var_55 = 0; do { var_55 = var_55 + 1; *(generic32_t *) var_56 = 0; var_56 = var_56 + 4; } while (stack.offset_44 >> 2 != var_55); var_54 = (pointer_or_number32_t) &stack.offset_28 + (stack.offset_44 & 0xFFFFFFFC) * 1; } if ((stack.offset_44 & 0x3)) { generic32_t var_57; generic32_t var_58; var_57 = var_54; var_58 = stack.offset_44 & 0x3; do { *(generic8_t *) var_57 = '\000'; var_57 = var_57 + 1; var_58 = var_58 - 1; } while (var_58 != 0); } var_51 = stack.offset_36; var_52 = stack.offset_40; var_53 = stack.offset_44; } generic8_t var_59; generic32_t var_60; generic32_t var_61; generic32_t var_62; generic32_t var_63; generic32_t var_64; var_63 = var_52; var_64 = var_53; stack.offset_48 = 0; var_60 = lshift(var_51, 4294967272); if (!var_51) { var_61 = 0; if (stack.offset_44) { var_62 = 0; while (true) { if (!*(generic8_t *) ((pointer_or_number32_t) &stack.offset_28 + var_62 * 1)) { var_10->offset_12 = var_62; var_61 = var_62; } else { var_59 = var_62 + 1 < stack.offset_44; var_62 = var_62 + 1; if (var_59) { continue; } var_61 = var_62; } break; } } var_4 = 16; var_5 = var_64; var_48 = var_63; var_49 = var_64; if (var_61 == stack.offset_44) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } if (var_48 == 1) { var_45 = 0; if (stack.offset_52) { var_47 = 0; while (true) { var_46 = var_47; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_16 + var_46 * 1)) { var_47 = var_47 + 1; var_46 = var_47; if (var_46 < stack.offset_52) { continue; } } break; } var_45 = var_46; } var_4 = 16; var_5 = var_49; if (var_45 == stack.offset_52) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } var_10->offset_16 = var_45; var_44 = var_49; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_48 = 0; var_43 = lshift(var_48, 4294967272); var_44 = var_49; if (!var_48) { var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_36 = &var_10->offset_16; while (true) { var_42 = function_0x402ee3_Code_x86(); if (var_42.offset_0) { var_1 = var_42.offset_0; var_2 = var_42.offset_4; break; } var_41 = stack.offset_12; if ((uint32_t) var_41 < stack.offset_52) { if (!*(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44)) { stack.offset_48 = stack.offset_48 + 1; *(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44) = '\001'; var_40 = stack.offset_36; stack.offset_36 = &var_40[1]; *var_40 = var_41; if (stack.offset_48 - var_48 > ~var_48) { continue; } var_44 = var_42.offset_4; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; break; } } var_4 = 16; var_5 = var_42.offset_4; var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; break; } var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } struct_692 var_65; var_65 = function_0x402ee3_Code_x86(); var_1 = var_65.offset_0; var_2 = var_65.offset_4; if (var_1) { var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } var_4 = 16; var_5 = var_65.offset_4; if (!(var_10->offset_32 < stack.offset_52)) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } generic32_t var_66; generic32_t var_67; generic32_t var_68; var_66 = 0; var_67 = var_10->offset_32; var_68 = var_65.offset_4; while (true) { generic32_t var_69; var_69 = var_68; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_59 + 1 + var_67 * 1 - 44)) { var_5 = var_69; var_4 = 16; loop_state_var = 0; break; } struct_692 var_70; generic32_t var_71; generic32_t var_72; *(generic8_t *) ((pointer_or_number32_t) &stack.offset_59 + 1 + var_67 * 1 - 44) = '\001'; var_70 = function_0x402ee3_Code_x86(); var_71 = var_70.offset_0; var_72 = var_70.offset_4; if (!var_71) { var_69 = var_70.offset_4; if (!(*(generic32_t *) ((pointer_or_number32_t) &var_10->offset_36 + var_66 * 8) < stack.offset_44)) { var_5 = var_69; var_4 = 16; loop_state_var = 0; break; } var_69 = var_70.offset_4; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_59 + 1 + *(generic32_t *) ((pointer_or_number32_t) &var_10->offset_36 + var_66 * 8) * 1 - 32)) { var_5 = var_69; var_4 = 16; loop_state_var = 0; break; } stack.offset_48 = stack.offset_48 + 1; *(generic8_t *) ((pointer_or_number32_t) &stack.offset_59 + 1 + *(generic32_t *) ((pointer_or_number32_t) &var_10->offset_36 + var_66 * 8) * 1 - 32) = '\001'; if (!(stack.offset_48 < (uint32_t) stack.offset_36)) { var_63 = stack.offset_40; var_64 = var_70.offset_4; loop_state_var = 2; break; } struct_692 var_73; var_73 = function_0x402ee3_Code_x86(); var_71 = var_73.offset_0; var_72 = var_73.offset_4; if (!var_71) { var_67 = *(generic32_t *) ((pointer_or_number32_t) &var_10->offset_40 + var_66 * 8); var_66 = var_66 + 1; var_69 = var_73.offset_4; var_68 = var_73.offset_4; if (var_67 < stack.offset_52) { continue; } var_5 = var_69; var_4 = 16; loop_state_var = 0; break; } } var_1 = var_71; var_2 = var_72; break; } if (!(loop_state_var)) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; } else { var_61 = 0; if (stack.offset_44) { var_62 = 0; while (true) { if (!*(generic8_t *) ((pointer_or_number32_t) &stack.offset_28 + var_62 * 1)) { var_10->offset_12 = var_62; var_61 = var_62; } else { var_59 = var_62 + 1 < stack.offset_44; var_62 = var_62 + 1; if (var_59) { continue; } var_61 = var_62; } break; } } var_4 = 16; var_5 = var_64; var_48 = var_63; var_49 = var_64; if (var_61 == stack.offset_44) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } if (var_48 == 1) { var_45 = 0; if (stack.offset_52) { var_47 = 0; while (true) { var_46 = var_47; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_16 + var_46 * 1)) { var_47 = var_47 + 1; var_46 = var_47; if (var_46 < stack.offset_52) { continue; } } break; } var_45 = var_46; } var_4 = 16; var_5 = var_49; if (var_45 == stack.offset_52) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } var_10->offset_16 = var_45; var_44 = var_49; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_48 = 0; var_43 = lshift(var_48, 4294967272); var_44 = var_49; if (!var_48) { var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_36 = &var_10->offset_16; while (true) { var_42 = function_0x402ee3_Code_x86(); if (var_42.offset_0) { var_1 = var_42.offset_0; var_2 = var_42.offset_4; break; } var_41 = stack.offset_12; if ((uint32_t) var_41 < stack.offset_52) { if (!*(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44)) { stack.offset_48 = stack.offset_48 + 1; *(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44) = '\001'; var_40 = stack.offset_36; stack.offset_36 = &var_40[1]; *var_40 = var_41; if (stack.offset_48 - var_48 > ~var_48) { continue; } var_44 = var_42.offset_4; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; break; } } var_4 = 16; var_5 = var_42.offset_4; var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; break; } } } var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } } } var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; } var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } _ABI(Microsoft_x86_cdecl) struct_692 function_0x402ee3_Code_x86(void) { struct_409 stack; generic32_t var_0; generic32_t var_1; if (!*(generic32_t *) NULL) { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 16; var_0 = 16; } else { if ((int8_t) *(generic8_t *) *(generic32_t *) NULL > -'\001') { *(generic32_t *) NULL = *(generic8_t *) *(generic32_t *) NULL; var_0 = 0; } else { struct_694 var_2; var_2 = function_0x402f3d_Code_x86(); var_0 = var_2.offset_0; var_1 = var_2.offset_4; if (!var_0) { if (!stack.offset_8) { if (stack.offset_4 > 268435455) { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 4; var_0 = 4; var_1 = var_2.offset_4; } else { *(generic32_t *) NULL = stack.offset_4; var_0 = 0; var_1 = var_2.offset_4; } } else { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 4; var_0 = 4; var_1 = var_2.offset_4; } } } } struct_692 var_3; var_3.offset_0 = var_0; var_3.offset_4 = var_1; return var_3; } _ABI(Microsoft_x86_cdecl) struct_694 function_0x402f3d_Code_x86(void) { struct_410 stack; uint64_t loop_state_var; generic32_t var_0; generic32_t var_1; generic32_t var_2; struct_694 var_3; if (*(generic32_t *) NULL) { *(generic32_t *) NULL = *(generic32_t *) NULL - 1; *(generic32_t *) NULL = *(generic32_t *) NULL + 1; if ((int8_t) *(generic8_t *) *(generic32_t *) NULL > -'\001') { *(generic32_t *) NULL = 0; var_0 = 0; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_0; return var_3; } if (*(generic32_t *) NULL != 1) { *(generic32_t *) NULL = *(generic32_t *) NULL - 2; *(generic32_t *) NULL = *(generic32_t *) NULL + 2; if (!(*(generic8_t *) *(generic32_t *) NULL & 0x40)) { *(generic32_t *) NULL = 0; var_0 = *(generic8_t *) (*(generic32_t *) NULL + 1); var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_0; return var_3; } var_2 = *(generic8_t *) (*(generic32_t *) NULL + 1); if (*(generic32_t *) NULL != 2) { generic32_t var_4; stack.offset_23 = ' '; stack.offset_12 = 2; stack.offset_16 = 16; *(generic32_t *) NULL = 0; var_4 = *(generic8_t *) (*(generic32_t *) NULL + 1); while (true) { if (!(*(generic8_t *) *(generic32_t *) NULL & stack.offset_23)) { struct_795 var_5; var_5 = function_0x407230_Code_x86(); var_0 = var_5.offset_4; *(generic32_t *) NULL = *(generic32_t *) NULL | (number32_t) var_5.offset_0 | var_0; var_1 = 0; loop_state_var = 1; } else { if (!*(generic32_t *) NULL) { var_2 = var_4; break; } struct_795 var_6; var_6 = function_0x407230_Code_x86(); var_4 = var_6.offset_4; *(generic32_t *) NULL = *(generic32_t *) NULL | (number32_t) var_6.offset_0 | var_4; stack.offset_23 = (uint8_t) stack.offset_23 >> '\001'; stack.offset_16 = stack.offset_16 + 8; stack.offset_12 = stack.offset_12 + 1; if (!(stack.offset_16 > 63)) { continue; } var_0 = var_6.offset_4; var_1 = 0; loop_state_var = 1; } break; } if (loop_state_var == 1) { var_3.offset_0 = var_1; var_3.offset_4 = var_0; return var_3; } } } } var_0 = var_2; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 16; var_1 = 16; var_3.offset_0 = var_1; var_3.offset_4 = var_0; return var_3; } _ABI(Microsoft_x86_cdecl) struct_696 function_0x403031_Code_x86(void) { struct_696 var_0; var_0.offset_0 = *(generic32_t *) (((*(generic32_t *) *(generic32_t *) NULL + (*(generic32_t *) NULL & 0xFF)) << 3) + *(generic32_t *) NULL); var_0.offset_4 = *(generic32_t *) (((*(generic32_t *) *(generic32_t *) NULL + (*(generic32_t *) NULL & 0xFF)) << 3) + *(generic32_t *) NULL + 4); return var_0; } _ABI(Microsoft_x86_cdecl) struct_698 function_0x40304d_Code_x86(generic32_t argument_0, generic32_t argument_1) { struct_411 stack; struct_700 var_0; generic32_t var_1; generic32_t var_2; var_1 = argument_0; var_2 = argument_1; stack.offset_4 = argument_1; stack.offset_0 = var_1; var_0 = function_0x403076_Code_x86(); if (!var_0.offset_0) { revng_abort("A longjmp was taken"); } else { function_0x402ad9_Code_x86(); revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_cdecl) struct_700 function_0x403076_Code_x86(void) { struct_412 stack; generic32_t var_0; generic32_t var_1; artificial_struct_returned_by_rawfunction_216 var_2; stack.offset_128 = 0; stack.offset_132 = 0; stack.offset_4 = 1; var_2 = ((rawfunction_216 *) *(generic32_t *) NULL)(undef(generic32_t), (generic32_t) &stack.offset_128); var_1 = var_2.register_eax; var_0 = var_2.register_esi; if (!(var_1)) { generic32_t var_3; stack.offset_0 = 17; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 32; function_0x405503_Code_x86(var_3); } struct_700 var_4; var_4.offset_0 = var_1; var_4.offset_4 = &stack.offset_128; return var_4; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x403345_Code_x86(void) { generic32_t var_0; var_0 = 0; if (*(generic8_t *) NULL == *(generic8_t *) (generic32_t) 4230028) { generic32_t var_1; generic32_t var_2; var_1 = *(generic8_t *) NULL; var_2 = 0; while (true) { generic32_t var_3; var_3 = var_2; if (var_3 < (uint32_t) -1 && var_3 > 4) { *(generic32_t *) (revng_undefined_local_sp() - 8) = 1; var_0 = 1; } else { var_2 = var_3 + 1; var_1 = (var_1 & 0xFFFFFF00) | *(generic8_t *) NULL; if (*(generic8_t *) NULL == *(generic8_t *) ((pointer_or_number32_t) &segment_1.offset_2957 + var_3 * 1)) { continue; } var_0 = 0; } break; } } return var_0; } _ABI(Microsoft_x86_cdecl) struct_703 function_0x40336e_Code_x86(struct_502 *argument_0, generic32_t argument_1, generic32_t argument_2, generic32_t argument_3, struct_568 *argument_4, generic32_t argument_5) { struct_413 stack; struct_705 var_0; struct_502 *var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; struct_568 *var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; struct_703 var_15; var_1 = argument_0; var_2 = argument_1; var_3 = argument_2; var_4 = argument_3; var_5 = argument_4; var_6 = argument_5; stack.offset_0 = argument_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = (pointer_or_number32_t) &stack + 16; *(generic32_t **) ((pointer_or_number32_t) &stack - 8) = &stack.offset_48; *(generic32_t *) ((pointer_or_number32_t) &stack - 12) = 0; *(generic32_t *) ((pointer_or_number32_t) &stack - 16) = 0; *(generic32_t *) ((pointer_or_number32_t) &stack - 20) = var_2; var_0 = function_0x403454_Code_x86(var_7, var_8, var_9, (struct_561 *) var_10, (struct_492 *) var_11, var_12); var_13 = var_0.offset_0; var_14 = var_0.offset_4; if (!var_13) { stack.offset_48 = stack.offset_48 + var_3; stack.offset_52 = stack.offset_52 + var_4 + (stack.offset_48 < var_3); if (!*(generic32_t *) ((pointer_or_number32_t) var_5 + 4)) { *(generic32_t *) ((pointer_or_number32_t) &stack - 24) = 16; var_13 = 16; var_14 = var_0.offset_4; } else { generic32_t var_16; generic32_t var_17; generic32_t var_18; var_17 = lshift(*(generic32_t *) ((pointer_or_number32_t) var_5 + 4), 4294967272); var_16 = lshift(0, 4294967276); var_18 = 0; struct_737 var_19; do { var_18 = var_18 + 1; var_19 = function_0x404bef_Code_x86(); } while (var_18 < *(generic32_t *) ((pointer_or_number32_t) var_5 + 4)); generic8_t var_20; generic32_t var_21; generic32_t var_22; var_22 = var_19.offset_4; var_20 = true; var_21 = (pointer_or_number32_t) &stack - 20; if (*(generic32_t *) ((pointer_or_number32_t) var_5 + 4)) { generic32_t var_23; generic32_t var_24; var_23 = (pointer_or_number32_t) &stack - 20; var_24 = 0; while (true) { generic32_t var_25; struct_696 var_26; generic32_t var_27; generic32_t var_28; var_25 = (pointer_or_number32_t) &stack - 24 - (var_24 << 2); var_26 = function_0x403031_Code_x86(); if (!var_26.offset_4) { struct_739 var_29; *(generic32_t *) var_25 = var_6; var_29 = function_0x404bf7_Code_x86(); if (var_29.offset_0) { generic8_t var_30; var_30 = var_24 + 1 < *(generic32_t *) ((pointer_or_number32_t) var_5 + 4); var_23 = var_23 - 4; var_24 = var_24 + 1; if (var_30) { continue; } var_20 = !*(generic32_t *) ((pointer_or_number32_t) var_5 + 4); var_21 = var_25; var_22 = var_29.offset_4; break; } var_27 = var_23 - 8; var_28 = var_29.offset_4; } else { var_27 = var_25; var_28 = var_26.offset_4; } var_14 = var_28; *(generic32_t *) var_27 = 2; var_13 = 2; var_15.offset_0 = var_13; var_15.offset_4 = var_14; return var_15; } } var_14 = var_22; var_13 = 0; if (!(var_20)) { generic32_t var_31; generic32_t var_32; generic32_t var_33; var_33 = var_1; var_31 = var_33 + 4; var_32 = 0; generic32_t var_34; generic32_t var_35; while (true) { struct_765 var_36; *(generic32_t *) (var_21 - 4 - ((number32_t) var_32 << 5)) = stack.offset_52; *(generic32_t *) (var_21 - 8 - ((number32_t) var_32 << 5)) = stack.offset_48; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_36 = function_0x4054e6_Code_x86(0, 0); var_34 = var_36.offset_0; var_35 = var_36.offset_4; if (!var_34) { struct_752 var_37; *(generic32_t *) (var_21 - 12 - ((number32_t) var_32 << 5)) = var_6; *(generic32_t *) (var_21 - 16 - ((number32_t) var_32 << 5)) = *(generic32_t *) (var_31 + (var_32 << 3)); *(generic32_t *) (var_21 - 20 - ((number32_t) var_32 << 5)) = *(generic32_t *) var_33; *(generic32_t *) (var_21 - 24 - ((number32_t) var_32 << 5)) = stack.offset_52; *(generic32_t *) (var_21 - 28 - ((number32_t) var_32 << 5)) = stack.offset_48; *(generic32_t *) (var_21 - 32 - ((number32_t) var_32 << 5)) = stack.offset_56; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_37 = function_0x404e36_Code_x86(0, 0, 0, 0, 0, (struct_574 *) NULL); var_34 = var_37.offset_0; var_35 = var_37.offset_4; if (!var_34) { generic8_t var_38; var_38 = var_32 + 1 < *(generic32_t *) ((pointer_or_number32_t) var_5 + 4); var_33 = var_33 + 8; var_34 = 0; var_35 = var_37.offset_4; var_32 = var_32 + 1; if (var_38) { continue; } } } break; } var_13 = var_34; var_14 = var_35; } } } var_15.offset_0 = var_13; var_15.offset_4 = var_14; return var_15; } _ABI(Microsoft_x86_cdecl) struct_705 function_0x403454_Code_x86(generic32_t argument_0, generic32_t argument_1, generic32_t argument_2, struct_561 *argument_3, struct_492 *argument_4, generic32_t argument_5) { struct_414 stack; struct_694 var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; struct_561 *var_4; struct_492 *var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; struct_705 var_9; var_1 = argument_0; var_2 = argument_1; var_3 = argument_2; var_4 = argument_3; var_5 = argument_4; var_6 = argument_5; argument_4->offset_16 = 0; argument_4->offset_20 = 0; argument_4->offset_24 = 0; argument_4->offset_28 = 0; argument_4->offset_8 = 0; argument_4->offset_12 = 0; argument_3->offset_0 = 0; argument_3->offset_4 = 0; var_0 = function_0x402f3d_Code_x86(); var_7 = var_0.offset_0; var_8 = var_0.offset_4; if (!var_7) { generic32_t var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; var_13 = &stack; var_14 = var_0.offset_4; if (stack.offset_12 == 6) { var_13 = &stack; var_14 = var_0.offset_4; if (!stack.offset_16) { struct_694 var_15; var_15 = function_0x402f3d_Code_x86(); var_7 = var_15.offset_0; var_8 = var_15.offset_4; if (var_7) { var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } if (!(argument_3->offset_4 < *(generic32_t *) NULL)) { generic32_t var_16; generic32_t var_17; var_17 = lshift(argument_3->offset_4 - *(generic32_t *) NULL, 4294967272); var_16 = lshift((argument_3->offset_4 ^ *(generic32_t *) NULL) & (argument_3->offset_4 ^ (argument_3->offset_4 - *(generic32_t *) NULL)), 4294967276); var_10 = &stack; var_11 = 16; var_12 = var_15.offset_4; if (argument_3->offset_4 != *(generic32_t *) NULL) { var_7 = var_11; var_8 = var_12; *(generic32_t *) (var_10 - 4) = var_7; var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } var_10 = &stack; var_11 = 16; var_12 = var_15.offset_4; if (argument_3->offset_0 > *(generic32_t *) NULL) { var_7 = var_11; var_8 = var_12; *(generic32_t *) (var_10 - 4) = var_7; var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } } struct_707 var_18; generic32_t var_19; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_6; var_18 = function_0x40358b_Code_x86((generic32_t *) var_19); var_7 = var_18.offset_0; var_8 = var_18.offset_4; if (var_7) { var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } if (!(*(generic32_t *) (*(generic32_t *) NULL * 9 + 4) < *(generic32_t *) NULL - (argument_3->offset_4 + (*(generic32_t *) NULL - argument_3->offset_0 > ~argument_3->offset_0)))) { generic32_t var_20; generic32_t var_21; var_21 = lshift(*(generic32_t *) (*(generic32_t *) NULL * 9 + 4) - (*(generic32_t *) NULL - (argument_3->offset_4 + (*(generic32_t *) NULL - argument_3->offset_0 > ~argument_3->offset_0))), 4294967272); var_20 = lshift((*(generic32_t *) (*(generic32_t *) NULL * 9 + 4) ^ (*(generic32_t *) NULL - (argument_3->offset_4 + (*(generic32_t *) NULL - argument_3->offset_0 > ~argument_3->offset_0)))) & (*(generic32_t *) (*(generic32_t *) NULL * 9 + 4) ^ (*(generic32_t *) (*(generic32_t *) NULL * 9 + 4) - (*(generic32_t *) NULL - (argument_3->offset_4 + (*(generic32_t *) NULL - argument_3->offset_0 > ~argument_3->offset_0))))), 4294967276); var_10 = (pointer_or_number32_t) &stack - 4; var_11 = 16; var_12 = *(generic32_t *) NULL * 9; if (*(generic32_t *) (*(generic32_t *) NULL * 9 + 4) != *(generic32_t *) NULL - (argument_3->offset_4 + (*(generic32_t *) NULL - argument_3->offset_0 > ~argument_3->offset_0))) { var_7 = var_11; var_8 = var_12; *(generic32_t *) (var_10 - 4) = var_7; var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } var_10 = (pointer_or_number32_t) &stack - 4; var_11 = 16; var_12 = *(generic32_t *) NULL * 9; if (*(generic32_t *) (*(generic32_t *) NULL * 9) > *(generic32_t *) NULL - argument_3->offset_0) { var_7 = var_11; var_8 = var_12; *(generic32_t *) (var_10 - 4) = var_7; var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } } struct_694 var_22; var_22 = function_0x402f3d_Code_x86(); var_7 = var_22.offset_0; var_14 = var_22.offset_4; var_8 = var_14; var_13 = (pointer_or_number32_t) &stack - 4; if (var_7) { var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } } } generic32_t var_23; generic32_t var_24; var_23 = var_13; var_24 = var_14; if (stack.offset_12 == 7) { var_23 = var_13; var_24 = var_14; if (!stack.offset_16) { struct_716 var_25; union_455 var_26; *(generic32_t *) (var_13 - 4) = var_6; *(generic32_t *) (var_13 - 8) = var_3; *(generic32_t *) (var_13 - 12) = var_2; *(generic32_t *) (var_13 - 16) = var_1; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_25 = function_0x40378c_Code_x86(var_26, 0, 0, (generic32_t *) NULL); var_7 = var_25.offset_0; var_8 = var_25.offset_4; if (var_7) { var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } struct_694 var_27; var_27 = function_0x402f3d_Code_x86(); var_7 = var_27.offset_0; var_24 = var_27.offset_4; var_8 = var_24; var_23 = var_13 - 16; if (var_7) { var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } } } generic32_t var_28; generic32_t var_29; if (stack.offset_12 == 8) { if (!stack.offset_16) { struct_724 var_30; *(struct_492 **) (var_23 - 4) = argument_4; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_30 = function_0x403dd0_Code_x86((struct_593 *) NULL); var_7 = var_30.offset_0; var_8 = var_30.offset_4; if (var_7) { var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } struct_694 var_31; var_31 = function_0x402f3d_Code_x86(); var_7 = var_31.offset_0; var_29 = var_31.offset_4; var_8 = var_29; var_28 = var_23 - 4; if (var_7) { var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } } else { argument_4->offset_0 = *(generic32_t *) NULL; var_28 = var_23; var_29 = var_24; } } else { argument_4->offset_0 = *(generic32_t *) NULL; var_28 = var_23; var_29 = var_24; } var_10 = var_28; var_12 = var_29; var_8 = var_12; var_7 = 0; var_11 = 4; if (!(stack.offset_12 | stack.offset_16)) { var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } var_7 = var_11; var_8 = var_12; *(generic32_t *) (var_10 - 4) = var_7; } var_9.offset_0 = var_7; var_9.offset_4 = var_8; return var_9; } _ABI(Microsoft_x86_cdecl) struct_707 function_0x40358b_Code_x86(generic32_t *argument_0) { struct_419 stack; uint64_t loop_state_var; struct_692 var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; struct_707 var_4; var_1 = argument_0; var_0 = function_0x402ee3_Code_x86(); var_2 = var_0.offset_0; var_3 = var_0.offset_4; if (!var_2) { struct_711 var_5; var_5 = function_0x4036b9_Code_x86(); var_2 = var_5.offset_0; var_3 = var_5.offset_4; if (!var_2) { generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; artificial_struct_returned_by_rawfunction_217 var_11; var_10 = (*(generic32_t *) NULL << 3) + 8; var_11 = ((rawfunction_217 *) *(generic32_t *) var_1)(undef(generic32_t), var_10); var_8 = var_11.register_eax; var_7 = var_11.register_esi; var_6 = var_11.register_edi; *(generic32_t *) (var_6 + 8) = var_8; var_9 = 2; if (var_8 == var_7) { var_2 = var_9; var_3 = var_10; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_2; var_4.offset_0 = var_2; var_4.offset_4 = var_3; return var_4; } generic32_t var_12; struct_709 var_13; struct_694 var_14; generic32_t var_15; generic32_t var_16; generic32_t var_17; generic32_t var_18; generic32_t var_19; generic32_t var_20; generic32_t var_21; stack.offset_24 = var_7; var_1 = *(generic32_t *) var_6; var_15 = lshift(*(generic32_t *) var_6, 4294967272); var_20 = 0; var_21 = var_7; if (!*(generic32_t *) var_6) { *(generic32_t *) ((var_21 << 3) + *(generic32_t *) (var_6 + 8)) = var_20; *(generic32_t *) ((var_21 << 3) + *(generic32_t *) (var_6 + 8) + 4) = stack.offset_24; while (true) { var_14 = function_0x402f3d_Code_x86(); var_16 = var_14.offset_0; var_17 = var_14.offset_4; if (!var_16) { var_16 = 0; var_17 = var_14.offset_4; if ((stack.offset_20 | stack.offset_24)) { if (stack.offset_20 == 10 && !stack.offset_24) { var_19 = *(generic32_t *) var_6; var_12 = function_0x40370b_Code_x86(); var_18 = var_12; } else { var_13 = function_0x40367f_Code_x86(); var_18 = var_13.offset_0; var_19 = var_13.offset_4; } var_16 = var_18; var_17 = var_19; if (!var_16) { continue; } } } break; } var_2 = var_16; var_3 = var_17; var_4.offset_0 = var_2; var_4.offset_4 = var_3; return var_4; } generic32_t var_22; generic32_t var_23; generic32_t var_24; var_22 = 0; var_23 = 0; var_24 = var_7; while (true) { generic32_t var_25; struct_694 var_26; var_25 = var_7 + 1 + var_22; *(generic32_t *) ((var_24 << 3) + *(generic32_t *) (var_6 + 8)) = var_23; *(generic32_t *) ((var_24 << 3) + *(generic32_t *) (var_6 + 8) + 4) = stack.offset_24; var_26 = function_0x402f3d_Code_x86(); if (var_26.offset_0) { var_2 = var_26.offset_0; var_3 = var_26.offset_4; break; } generic32_t var_27; generic32_t var_28; var_28 = var_23 + stack.offset_12; var_27 = stack.offset_16; stack.offset_24 = stack.offset_24 + var_27 + (var_28 < stack.offset_12); if (stack.offset_24 < var_27) { var_9 = 16; var_10 = var_26.offset_4; loop_state_var = 1; break; } generic32_t var_29; generic32_t var_30; var_30 = lshift(stack.offset_24 - var_27, 4294967272); var_29 = lshift((stack.offset_24 ^ var_27) & (stack.offset_24 ^ (stack.offset_24 - var_27)), 4294967276); if (stack.offset_24 == var_27) { if (var_28 < stack.offset_12) { var_9 = 16; var_10 = var_26.offset_4; loop_state_var = 1; break; } } var_24 = var_24 + 1; var_22 = var_22 + 1; var_23 = var_28; if (var_25 < var_1) { continue; } var_20 = var_23; var_21 = var_25; loop_state_var = 2; break; } if (loop_state_var == 1) { var_2 = var_9; var_3 = var_10; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_2; } else { *(generic32_t *) ((var_21 << 3) + *(generic32_t *) (var_6 + 8)) = var_20; *(generic32_t *) ((var_21 << 3) + *(generic32_t *) (var_6 + 8) + 4) = stack.offset_24; while (true) { var_14 = function_0x402f3d_Code_x86(); var_16 = var_14.offset_0; var_17 = var_14.offset_4; if (!var_16) { var_16 = 0; var_17 = var_14.offset_4; if ((stack.offset_20 | stack.offset_24)) { if (stack.offset_20 == 10 && !stack.offset_24) { var_19 = *(generic32_t *) var_6; var_12 = function_0x40370b_Code_x86(); var_18 = var_12; } else { var_13 = function_0x40367f_Code_x86(); var_18 = var_13.offset_0; var_19 = var_13.offset_4; } var_16 = var_18; var_17 = var_19; if (!var_16) { continue; } } } break; } var_2 = var_16; var_3 = var_17; } } } var_4.offset_0 = var_2; var_4.offset_4 = var_3; return var_4; } _ABI(Microsoft_x86_cdecl) struct_709 function_0x40367f_Code_x86(void) { struct_421 stack; struct_694 var_0; generic32_t var_1; generic32_t var_2; var_0 = function_0x402f3d_Code_x86(); var_1 = var_0.offset_0; var_2 = var_0.offset_4; if (!var_1) { generic32_t var_3; generic32_t var_4; var_4 = lshift(stack.offset_8, 4294967272); var_3 = lshift(0, 4294967276); if (stack.offset_8 != 0 || *(generic32_t *) NULL < stack.offset_4) { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 16; var_1 = 16; var_2 = stack.offset_8; } else { *(generic32_t *) NULL = *(generic32_t *) NULL - stack.offset_4; var_1 = 0; var_2 = 0; } } struct_709 var_5; var_5.offset_0 = var_1; var_5.offset_4 = var_2; return var_5; } _ABI(Microsoft_x86_cdecl) struct_711 function_0x4036b9_Code_x86(void) { struct_420 stack; struct_694 var_0; generic32_t var_1; generic32_t var_2; stack.offset_8 = 0; var_0 = function_0x402f3d_Code_x86(); var_1 = var_0.offset_0; var_2 = var_0.offset_4; if (!var_1) { var_1 = 0; var_2 = var_0.offset_4; if (stack.offset_16) { while (true) { struct_709 var_3; var_3 = function_0x40367f_Code_x86(); if (!var_3.offset_0) { struct_694 var_4; generic32_t var_5; var_4 = function_0x402f3d_Code_x86(); var_5 = var_4.offset_0; if (!var_5) { var_5 = 0; if (stack.offset_16) { continue; } } var_1 = var_5; var_2 = var_4.offset_4; } else { var_2 = var_3.offset_4; var_1 = var_3.offset_0; } break; } } } struct_711 var_6; var_6.offset_0 = var_1; var_6.offset_4 = var_2; return var_6; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x40370b_Code_x86(void) { struct_422 stack; generic32_t var_0; if (!*(generic32_t *) NULL) { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 16; var_0 = 16; } else { generic32_t var_1; generic32_t var_2; *(generic32_t *) NULL = *(generic32_t *) NULL - 1; var_1 = *(generic32_t *) NULL + 1; *(generic32_t *) NULL = var_1; if (!*(generic8_t *) *(generic32_t *) NULL) { struct_714 var_3; var_3 = function_0x403761_Code_x86(); var_2 = var_3.offset_0; var_1 = *(generic32_t *) NULL; if (var_2 > var_1 >> 2) { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 16; var_0 = 16; return var_0; } } *(generic32_t *) NULL = var_1 - (var_2 << 2); var_0 = 0; } return var_0; } _ABI(Microsoft_x86_cdecl) struct_714 function_0x403761_Code_x86(void) { struct_714 var_0; var_0.offset_0 = 0; return var_0; } _ABI(Microsoft_x86_cdecl) struct_716 function_0x40378c_Code_x86(union_455 argument_0, generic32_t argument_1, generic32_t argument_2, generic32_t *argument_3) { struct_417 stack; uint64_t loop_state_var; struct_711 var_0; generic32_t var_1; generic32_t var_2; generic32_t *var_3; generic32_t var_4; generic32_t var_5; struct_716 var_6; var_1 = argument_1; var_2 = argument_2; var_3 = argument_3; var_0 = function_0x4036b9_Code_x86(); var_4 = var_0.offset_0; var_5 = var_0.offset_4; if (!var_4) { struct_692 var_7; var_7 = function_0x402ee3_Code_x86(); var_4 = var_7.offset_0; var_5 = var_7.offset_4; if (!var_4) { generic32_t var_8; generic32_t var_9; var_8 = 4; var_9 = var_7.offset_4; if (stack.offset_200 > argument_0.member_1) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } *(generic32_t *) NULL = stack.offset_200; var_8 = 16; var_9 = var_7.offset_4; if (!stack.offset_200) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } generic32_t var_10; generic32_t var_11; *(generic32_t *) NULL = stack.offset_200 - 1; argument_0.member_0.offset_3 = *(generic8_t *) (stack.offset_200 - 1); *(generic32_t *) NULL = stack.offset_200; if (!*(generic8_t *) (stack.offset_200 - 1)) { stack.offset_204 = stack.offset_200; var_10 = NULL; var_11 = stack.offset_200; } else { struct_692 var_12; var_12 = function_0x402ee3_Code_x86(); var_4 = var_12.offset_0; var_5 = var_12.offset_4; if (var_4) { var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } var_8 = 16; var_9 = var_12.offset_4; if (!(stack.offset_188.member_1 < var_2)) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } generic32_t var_13; var_13 = (stack.offset_188.member_1 << 3) + var_1; stack.offset_204 = *(generic32_t *) var_13; var_10 = var_13 + 4; var_11 = stack.offset_200; } generic32_t var_14; generic32_t var_15; generic32_t var_16; artificial_struct_returned_by_rawfunction_218 var_17; stack.offset_208 = *(generic32_t *) var_10; var_9 = (var_11 << 2) + 4; var_17 = ((rawfunction_218 *) *var_3)((generic32_t) var_3, var_9); var_16 = var_17.register_eax; var_15 = var_17.register_ebx; var_14 = var_17.register_esi; *(generic32_t *) (var_14 + 20) = var_16; var_8 = 2; if (!var_16) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } generic32_t var_18; generic32_t var_19; generic32_t var_20; artificial_struct_returned_by_rawfunction_219 var_21; var_9 = (stack.offset_200 << 2) + 4; var_21 = ((rawfunction_219 *) *(generic32_t *) var_15)(var_15, var_9); var_20 = var_21.register_eax; var_19 = var_21.register_ebx; var_18 = var_21.register_esi; *(generic32_t *) (var_18 + 24) = var_20; var_8 = 2; if (!var_20) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } generic32_t var_22; generic32_t var_23; generic32_t var_24; artificial_struct_returned_by_rawfunction_220 var_25; var_9 = (stack.offset_200 << 2) + 4; var_25 = ((rawfunction_220 *) *(generic32_t *) var_19)(var_19, var_9); var_24 = var_25.register_eax; var_23 = var_25.register_ebx; var_22 = var_25.register_esi; *(generic32_t *) (var_22 + 28) = var_24; var_8 = 2; if (!var_24) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } generic32_t var_26; generic32_t var_27; if (!stack.offset_200) { *(generic32_t *) (var_22 + 32) = 0; var_26 = var_23; var_27 = var_22; } else { generic32_t var_28; generic32_t var_29; generic32_t var_30; artificial_struct_returned_by_rawfunction_221 var_31; var_31 = ((rawfunction_221 *) *(generic32_t *) var_23)(var_23); var_30 = var_31.register_eax; var_29 = var_31.register_ebx; var_26 = var_29; var_28 = var_31.register_esi; var_27 = var_28; *(generic32_t *) (var_27 + 32) = var_30; var_8 = 2; var_9 = stack.offset_200; if (!var_30) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } } generic32_t var_32; generic32_t var_33; generic8_t *var_34; struct_718 var_35; struct_709 var_36; struct_694 var_37; struct_694 var_38; generic32_t var_39; generic32_t var_40; generic32_t var_41; struct_711 var_42; generic32_t var_43; generic32_t var_44; generic32_t var_45; generic32_t var_46; generic32_t var_47; generic32_t var_48; generic32_t var_49; generic32_t var_50; generic32_t var_51; generic32_t var_52; generic32_t var_53; generic32_t var_54; generic32_t var_55; generic32_t var_56; generic32_t var_57; generic32_t var_58; generic32_t var_59; generic32_t var_60; generic32_t var_61; generic32_t var_62; generic32_t var_63; artificial_struct_returned_by_rawfunction_222 var_64; artificial_struct_returned_by_rawfunction_223 var_65; var_34 = stack.offset_204; var_33 = stack.offset_200; stack.offset_176 = var_34; stack.offset_192 = 0; var_1 = 0; stack.offset_184 = 0; if (!var_33) { var_61 = var_27 + 28; var_60 = var_27 + 24; var_59 = var_27 + 20; var_62 = 0; var_63 = var_26; *(generic32_t *) (var_62 + *(generic32_t *) var_61) = var_1; *(generic32_t *) (var_62 + *(generic32_t *) var_60) = stack.offset_192; *(generic32_t *) (var_62 + *(generic32_t *) var_59) = (pointer_or_number32_t) stack.offset_204 - stack.offset_176; if ((pointer_or_number32_t) stack.offset_204 == stack.offset_176) { *(generic32_t *) (var_27 + 40) = 0; var_56 = var_63; var_57 = stack.offset_192; var_58 = var_27; } else { var_64 = ((rawfunction_222 *) *(generic32_t *) var_63)(var_63, (pointer_or_number32_t) stack.offset_204 - stack.offset_176); var_47 = var_64.register_eax; var_46 = var_64.register_ebx; var_45 = var_64.register_ecx; var_44 = var_64.register_edx; var_9 = var_44; var_43 = var_64.register_esi; *(generic32_t *) (var_43 + 40) = var_47; var_8 = 2; if (!var_47) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } stack.offset_8 = (pointer_or_number32_t) stack.offset_204 - stack.offset_176; stack.offset_4 = stack.offset_176; stack.offset_0 = var_47; function_0x407250_Code_x86(); var_56 = var_46; var_57 = var_44; var_58 = var_43; } if (argument_0.member_0.offset_3) { var_8 = 16; var_9 = var_57; if (stack.offset_208) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } var_32 = stack.offset_160->offset_4; stack.offset_204 = stack.offset_160->offset_0; stack.offset_208 = var_32; } var_42 = function_0x4036b9_Code_x86(); var_4 = var_42.offset_0; var_5 = var_42.offset_4; if (!var_4) { if (!var_1) { *(generic32_t *) (var_58 + 36) = 0; var_54 = var_56; var_55 = var_58; } else { var_9 = var_1 << 3; var_65 = ((rawfunction_223 *) *(generic32_t *) var_56)(var_56, var_9); var_41 = var_65.register_eax; var_40 = var_65.register_ebx; var_54 = var_40; var_39 = var_65.register_esi; var_55 = var_39; *(generic32_t *) (var_55 + 36) = var_41; var_8 = 2; if (!var_41) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } } if (var_1) { var_53 = 0; while (true) { var_38 = function_0x402f3d_Code_x86(); if (!var_38.offset_0) { var_53 = var_53 + 1; if (var_53 < var_1) { continue; } break; } var_5 = var_38.offset_4; var_4 = var_38.offset_0; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } } var_52 = (pointer_or_number32_t) &stack.offset_8 + 4; while (true) { var_37 = function_0x402f3d_Code_x86(); var_48 = var_37.offset_0; var_49 = var_37.offset_4; if (!var_48) { if (!(stack.offset_168 | stack.offset_172)) { stack.offset_160->offset_0 = stack.offset_204; stack.offset_160->offset_4 = stack.offset_208; var_4 = 0; var_5 = var_37.offset_4; break; } if (stack.offset_168 == 10 && !stack.offset_172) { *(generic32_t *) (var_52 - 4) = var_54; var_51 = var_52 - 8; *(generic32_t *) var_51 = var_55 + 12; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_35 = function_0x403c4e_Code_x86(0, 0); var_50 = &var_35; } else { var_36 = function_0x40367f_Code_x86(); var_50 = &var_36; var_51 = var_52; } var_49 = *(generic32_t *) (var_50 + 4); var_48 = *(generic32_t *) var_50; if (!var_48) { continue; } } var_4 = var_48; var_5 = var_49; break; } } var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } generic32_t var_66; generic8_t *var_67; var_66 = 0; var_67 = var_34; while (true) { generic32_t var_68; struct_692 var_69; var_68 = (pointer_or_number32_t) var_67 - stack.offset_176; stack.offset_196 = 0; *(generic32_t *) ((var_66 << 2) + *(generic32_t *) (var_27 + 20)) = var_68; var_69 = function_0x402ee3_Code_x86(); if (var_69.offset_0) { var_4 = var_69.offset_0; var_5 = var_69.offset_4; break; } generic32_t var_70; generic32_t var_71; var_70 = 4; var_71 = var_69.offset_4; if (var_2 < 1 || var_2 > 64) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; break; } generic32_t var_72; generic32_t var_73; generic32_t var_74; var_72 = lshift(var_2, 4294967272); var_73 = 0; var_74 = var_69.offset_4; generic32_t var_75; while (true) { generic32_t var_76; generic32_t var_77; var_77 = var_74; var_76 = 16; if (stack.offset_208) { generic8_t *var_78; var_78 = stack.offset_204; stack.offset_208 = stack.offset_208 - 1; stack.offset_204 = &stack.offset_204[1]; var_76 = 4; var_77 = var_74; if (*var_78 < '@') { var_76 = 4; var_77 = var_74; if (!((*var_78 & 0xF) > '\010')) { var_76 = 16; var_77 = var_74; if (!(stack.offset_208 < (*var_78 & 0xF))) { generic32_t var_79; generic32_t var_80; generic32_t var_81; generic32_t var_82; stack.offset_208 = stack.offset_208 - (*var_78 & 0xF); stack.offset_204 = (pointer_or_number32_t) stack.offset_204 + (*var_78 & 0xF); stack.offset_180 = 1; var_81 = 1; var_82 = var_74; if ((*var_78 & 0x10)) { struct_692 var_83; var_83 = function_0x402ee3_Code_x86(); var_79 = var_83.offset_0; var_80 = var_83.offset_4; if (var_79) { var_4 = var_79; var_5 = var_80; loop_state_var = 0; break; } struct_692 var_84; var_84 = function_0x402ee3_Code_x86(); var_79 = var_84.offset_0; var_80 = var_84.offset_4; if (var_79) { var_4 = var_79; var_5 = var_80; loop_state_var = 0; break; } var_76 = 4; var_77 = var_84.offset_4; if (stack.offset_180 > 64) { var_8 = var_76; var_9 = var_77; loop_state_var = 1; break; } var_76 = 4; var_77 = var_84.offset_4; var_81 = stack.offset_180; var_82 = var_84.offset_4; if (stack.offset_156 != 1) { var_8 = var_76; var_9 = var_77; loop_state_var = 1; break; } } var_75 = var_82; stack.offset_196 = stack.offset_196 + var_81; if ((*var_78 & 0x20)) { struct_692 var_85; var_85 = function_0x402ee3_Code_x86(); var_79 = var_85.offset_0; var_80 = var_85.offset_4; if (var_79) { var_4 = var_79; var_5 = var_80; loop_state_var = 0; break; } generic32_t var_86; var_86 = stack.offset_152; var_76 = 16; var_77 = var_85.offset_4; if (stack.offset_208 < var_86) { var_8 = var_76; var_9 = var_77; loop_state_var = 1; break; } stack.offset_208 = stack.offset_208 - var_86; stack.offset_204 = &stack.offset_204[var_86]; var_75 = var_85.offset_4; } generic8_t var_87; var_87 = var_73 + 1 < var_2; var_73 = var_73 + 1; if (var_87) { continue; } loop_state_var = 2; break; } } } } var_8 = var_76; var_9 = var_77; loop_state_var = 1; break; } bool var_88 = false; switch (loop_state_var) { case 0: { var_88 = true; break; } break; case 1: { loop_state_var = 1; var_88 = true; break; } break; case 2: { generic32_t var_89; generic32_t var_90; generic32_t var_91; generic32_t var_92; stack.offset_188.member_1 = 0; stack.offset_8 = 1; if (var_2 == 1) { var_92 = 1; if (stack.offset_196 == 1) { var_91 = stack.offset_184; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 24)) = stack.offset_192; var_90 = var_1; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 28)) = var_90; *(generic8_t *) (*(generic32_t *) (var_27 + 32) + var_91) = stack.offset_188.member_0; var_1 = var_1 + var_2; if (var_1 < var_2) { var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 4; loop_state_var = 1; } else { if (!(var_92 > *(generic32_t *) var_27 - stack.offset_192)) { stack.offset_192 = stack.offset_192 + var_92; var_89 = stack.offset_200; stack.offset_184 = var_91 + 1; if (var_91 + 1 - var_89 > ~var_89) { var_67 = stack.offset_204; var_66 = var_91 + 1; continue; } var_63 = var_3; var_62 = (var_91 + 1) << 2; var_59 = var_27 + 20; var_60 = var_27 + 24; var_61 = var_27 + 28; loop_state_var = 2; var_88 = true; break; } var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 16; loop_state_var = 1; } var_88 = true; break; } } var_70 = 16; var_71 = var_75; if (stack.offset_196 < var_2 - 1) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; var_88 = true; break; } var_70 = 4; var_71 = var_75; if (stack.offset_196 > 64) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; var_88 = true; break; } generic32_t var_93; generic32_t var_94; var_93 = lshift(stack.offset_196, 4294967272); var_94 = var_75; if (stack.offset_196) { generic32_t var_95; var_95 = &stack.offset_88; if (!(stack.offset_196 < 4)) { generic32_t var_96; generic32_t var_97; var_97 = &stack.offset_88; var_96 = 0; do { var_96 = var_96 + 1; *(generic32_t *) var_97 = 0; var_97 = var_97 + 4; } while (stack.offset_196 >> 2 != var_96); var_95 = (pointer_or_number32_t) &stack.offset_88 + (stack.offset_196 & 0xFFFFFFFC) * 1; } var_94 = stack.offset_196; if ((stack.offset_196 & 0x3)) { generic32_t var_98; generic32_t var_99; var_98 = var_95; var_99 = stack.offset_196 & 0x3; do { *(generic8_t *) var_98 = '\000'; var_98 = var_98 + 1; var_99 = var_99 - 1; } while (var_99 != 0); var_94 = stack.offset_196; } } generic32_t var_100; generic32_t var_101; var_101 = var_94; var_100 = lshift(var_2, 4294967272); if (var_2) { generic32_t var_102; var_102 = &stack.offset_24; if (!(var_2 < 4)) { generic32_t var_103; generic32_t var_104; var_104 = &stack.offset_24; var_103 = 0; do { var_103 = var_103 + 1; *(generic32_t *) var_104 = 0; var_104 = var_104 + 4; } while (var_2 >> 2 != var_103); var_102 = (pointer_or_number32_t) &stack.offset_24 + (var_2 & 0xFFFFFFFC) * 1; } var_101 = var_2; if ((var_2 & 0x3)) { generic32_t var_105; generic32_t var_106; var_105 = var_102; var_106 = var_2 & 0x3; do { *(generic8_t *) var_105 = '\000'; var_105 = var_105 + 1; var_106 = var_106 - 1; } while (var_106 != 0); var_101 = var_2; } } generic8_t var_107; generic8_t var_108; generic32_t var_109; generic32_t var_110; generic32_t var_111; struct_692 var_112; generic32_t var_113; generic32_t var_114; generic32_t var_115; generic32_t var_116; generic32_t var_117; generic32_t var_118; generic32_t var_119; generic32_t var_120; generic32_t var_121; var_121 = var_101; var_114 = lshift(var_2 - 1, 4294967272); if (var_2 == 1) { var_119 = var_121; var_109 = stack.offset_196 - (var_2 - 1); if (var_109 == 1) { var_116 = 0 - var_2; var_115 = 0; if (var_2) { var_118 = 0; while (true) { if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_24 + var_118 * 1)) { var_107 = var_118 + 1 < var_2; var_118 = var_118 + 1; if (var_107) { continue; } var_117 = var_118; break; } stack.offset_188.member_1 = var_118; var_117 = var_118; break; } var_115 = var_2; var_116 = var_117 - var_115; } var_111 = lshift(var_116, 4294967272); var_110 = lshift(((var_116 + var_115) ^ var_115) & ((var_116 + var_115) ^ var_116), 4294967276); var_70 = 16; var_71 = var_119; var_92 = var_109; if (!var_116) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; var_88 = true; break; } var_91 = stack.offset_184; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 24)) = stack.offset_192; var_90 = var_1; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 28)) = var_90; *(generic8_t *) (*(generic32_t *) (var_27 + 32) + var_91) = stack.offset_188.member_0; var_1 = var_1 + var_2; if (var_1 < var_2) { var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 4; loop_state_var = 1; } else { if (!(var_92 > *(generic32_t *) var_27 - stack.offset_192)) { stack.offset_192 = stack.offset_192 + var_92; var_89 = stack.offset_200; stack.offset_184 = var_91 + 1; if (var_91 + 1 - var_89 > ~var_89) { var_67 = stack.offset_204; var_66 = var_91 + 1; continue; } var_63 = var_3; var_62 = (var_91 + 1) << 2; var_59 = var_27 + 20; var_60 = var_27 + 24; var_61 = var_27 + 28; loop_state_var = 2; var_88 = true; break; } var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 16; loop_state_var = 1; } var_88 = true; break; } var_113 = lshift(var_109, 4294967272); var_119 = var_121; if (!var_109) { var_116 = 0 - var_2; var_115 = 0; if (var_2) { var_118 = 0; while (true) { if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_24 + var_118 * 1)) { var_107 = var_118 + 1 < var_2; var_118 = var_118 + 1; if (var_107) { continue; } var_117 = var_118; break; } stack.offset_188.member_1 = var_118; var_117 = var_118; break; } var_115 = var_2; var_116 = var_117 - var_115; } var_111 = lshift(var_116, 4294967272); var_110 = lshift(((var_116 + var_115) ^ var_115) & ((var_116 + var_115) ^ var_116), 4294967276); var_70 = 16; var_71 = var_119; var_92 = var_109; if (!var_116) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; var_88 = true; break; } var_91 = stack.offset_184; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 24)) = stack.offset_192; var_90 = var_1; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 28)) = var_90; *(generic8_t *) (*(generic32_t *) (var_27 + 32) + var_91) = stack.offset_188.member_0; var_1 = var_1 + var_2; if (var_1 < var_2) { var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 4; loop_state_var = 1; } else { if (!(var_92 > *(generic32_t *) var_27 - stack.offset_192)) { stack.offset_192 = stack.offset_192 + var_92; var_89 = stack.offset_200; stack.offset_184 = var_91 + 1; if (var_91 + 1 - var_89 > ~var_89) { var_67 = stack.offset_204; var_66 = var_91 + 1; continue; } var_63 = var_3; var_62 = (var_91 + 1) << 2; var_59 = var_27 + 20; var_60 = var_27 + 24; var_61 = var_27 + 28; loop_state_var = 2; var_88 = true; break; } var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 16; loop_state_var = 1; } var_88 = true; break; } var_120 = 0; while (true) { var_112 = function_0x402ee3_Code_x86(); if (var_112.offset_0) { var_4 = var_112.offset_0; var_5 = var_112.offset_4; loop_state_var = 0; break; } if (stack.offset_172 < stack.offset_196) { if (!*(generic8_t *) ((pointer_or_number32_t) &stack.offset_208 + 4 + stack.offset_172 * 1 - 124)) { *(generic8_t *) ((pointer_or_number32_t) &stack.offset_208 + 4 + stack.offset_172 * 1 - 124) = '\001'; var_108 = var_120 + 1 < var_109; var_120 = var_120 + 1; if (var_108) { continue; } loop_state_var = 2; break; } } var_8 = 16; var_9 = var_112.offset_4; loop_state_var = 1; break; } switch (loop_state_var) { case 0: { var_88 = true; break; } break; case 1: { loop_state_var = 1; var_88 = true; break; } break; case 2: { var_119 = var_112.offset_4; var_116 = 0 - var_2; var_115 = 0; if (var_2) { var_118 = 0; while (true) { if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_24 + var_118 * 1)) { var_107 = var_118 + 1 < var_2; var_118 = var_118 + 1; if (var_107) { continue; } var_117 = var_118; break; } stack.offset_188.member_1 = var_118; var_117 = var_118; break; } var_115 = var_2; var_116 = var_117 - var_115; } var_111 = lshift(var_116, 4294967272); var_110 = lshift(((var_116 + var_115) ^ var_115) & ((var_116 + var_115) ^ var_116), 4294967276); var_70 = 16; var_71 = var_119; var_92 = var_109; if (!var_116) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; var_88 = true; break; } var_91 = stack.offset_184; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 24)) = stack.offset_192; var_90 = var_1; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 28)) = var_90; *(generic8_t *) (*(generic32_t *) (var_27 + 32) + var_91) = stack.offset_188.member_0; var_1 = var_1 + var_2; if (var_1 < var_2) { var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 4; loop_state_var = 1; } else { if (!(var_92 > *(generic32_t *) var_27 - stack.offset_192)) { stack.offset_192 = stack.offset_192 + var_92; var_89 = stack.offset_200; stack.offset_184 = var_91 + 1; if (var_91 + 1 - var_89 > ~var_89) { var_67 = stack.offset_204; var_66 = var_91 + 1; continue; } var_63 = var_3; var_62 = (var_91 + 1) << 2; var_59 = var_27 + 20; var_60 = var_27 + 24; var_61 = var_27 + 28; loop_state_var = 2; var_88 = true; break; } var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 16; loop_state_var = 1; } var_88 = true; break; } break; } if (var_88){ break;} } else { generic32_t var_122; var_122 = 0; struct_692 var_123; while (true) { struct_692 var_124; generic32_t var_125; generic32_t var_126; var_124 = function_0x402ee3_Code_x86(); var_125 = var_124.offset_0; var_126 = var_124.offset_4; if (!var_125) { generic32_t var_127; var_127 = var_124.offset_4; if (!(stack.offset_164 < stack.offset_196)) { var_9 = var_127; var_8 = 16; loop_state_var = 1; break; } var_127 = var_124.offset_4; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_208 + 4 + stack.offset_164 * 1 - 124)) { var_9 = var_127; var_8 = 16; loop_state_var = 1; break; } *(generic8_t *) ((pointer_or_number32_t) &stack.offset_208 + 4 + stack.offset_164 * 1 - 124) = '\001'; var_123 = function_0x402ee3_Code_x86(); var_125 = var_123.offset_0; var_126 = var_123.offset_4; if (!var_125) { var_127 = var_123.offset_4; if (stack.offset_164 < var_2) { var_127 = var_123.offset_4; if (!*(generic8_t *) ((pointer_or_number32_t) &stack.offset_208 + 4 + stack.offset_164 * 1 - 188)) { generic8_t var_128; *(generic8_t *) ((pointer_or_number32_t) &stack.offset_208 + 4 + stack.offset_164 * 1 - 188) = '\001'; var_128 = var_122 + 1 < var_2 - 1; var_122 = var_122 + 1; if (var_128) { continue; } loop_state_var = 2; break; } } var_9 = var_127; var_8 = 16; loop_state_var = 1; break; } } var_4 = var_125; var_5 = var_126; loop_state_var = 0; break; } switch (loop_state_var) { case 0: { var_88 = true; break; } break; case 1: { loop_state_var = 1; var_88 = true; break; } break; case 2: { var_121 = var_123.offset_4; var_119 = var_121; var_109 = stack.offset_196 - (var_2 - 1); if (var_109 == 1) { var_116 = 0 - var_2; var_115 = 0; if (var_2) { var_118 = 0; while (true) { if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_24 + var_118 * 1)) { var_107 = var_118 + 1 < var_2; var_118 = var_118 + 1; if (var_107) { continue; } var_117 = var_118; break; } stack.offset_188.member_1 = var_118; var_117 = var_118; break; } var_115 = var_2; var_116 = var_117 - var_115; } var_111 = lshift(var_116, 4294967272); var_110 = lshift(((var_116 + var_115) ^ var_115) & ((var_116 + var_115) ^ var_116), 4294967276); var_70 = 16; var_71 = var_119; var_92 = var_109; if (!var_116) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; var_88 = true; break; } var_91 = stack.offset_184; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 24)) = stack.offset_192; var_90 = var_1; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 28)) = var_90; *(generic8_t *) (*(generic32_t *) (var_27 + 32) + var_91) = stack.offset_188.member_0; var_1 = var_1 + var_2; if (var_1 < var_2) { var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 4; loop_state_var = 1; } else { if (!(var_92 > *(generic32_t *) var_27 - stack.offset_192)) { stack.offset_192 = stack.offset_192 + var_92; var_89 = stack.offset_200; stack.offset_184 = var_91 + 1; if (var_91 + 1 - var_89 > ~var_89) { var_67 = stack.offset_204; var_66 = var_91 + 1; continue; } var_63 = var_3; var_62 = (var_91 + 1) << 2; var_59 = var_27 + 20; var_60 = var_27 + 24; var_61 = var_27 + 28; loop_state_var = 2; var_88 = true; break; } var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 16; loop_state_var = 1; } var_88 = true; break; } var_113 = lshift(var_109, 4294967272); var_119 = var_121; if (!var_109) { var_116 = 0 - var_2; var_115 = 0; if (var_2) { var_118 = 0; while (true) { if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_24 + var_118 * 1)) { var_107 = var_118 + 1 < var_2; var_118 = var_118 + 1; if (var_107) { continue; } var_117 = var_118; break; } stack.offset_188.member_1 = var_118; var_117 = var_118; break; } var_115 = var_2; var_116 = var_117 - var_115; } var_111 = lshift(var_116, 4294967272); var_110 = lshift(((var_116 + var_115) ^ var_115) & ((var_116 + var_115) ^ var_116), 4294967276); var_70 = 16; var_71 = var_119; var_92 = var_109; if (!var_116) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; var_88 = true; break; } var_91 = stack.offset_184; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 24)) = stack.offset_192; var_90 = var_1; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 28)) = var_90; *(generic8_t *) (*(generic32_t *) (var_27 + 32) + var_91) = stack.offset_188.member_0; var_1 = var_1 + var_2; if (var_1 < var_2) { var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 4; loop_state_var = 1; } else { if (!(var_92 > *(generic32_t *) var_27 - stack.offset_192)) { stack.offset_192 = stack.offset_192 + var_92; var_89 = stack.offset_200; stack.offset_184 = var_91 + 1; if (var_91 + 1 - var_89 > ~var_89) { var_67 = stack.offset_204; var_66 = var_91 + 1; continue; } var_63 = var_3; var_62 = (var_91 + 1) << 2; var_59 = var_27 + 20; var_60 = var_27 + 24; var_61 = var_27 + 28; loop_state_var = 2; var_88 = true; break; } var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 16; loop_state_var = 1; } var_88 = true; break; } var_120 = 0; while (true) { var_112 = function_0x402ee3_Code_x86(); if (var_112.offset_0) { var_4 = var_112.offset_0; var_5 = var_112.offset_4; loop_state_var = 0; break; } if (stack.offset_172 < stack.offset_196) { if (!*(generic8_t *) ((pointer_or_number32_t) &stack.offset_208 + 4 + stack.offset_172 * 1 - 124)) { *(generic8_t *) ((pointer_or_number32_t) &stack.offset_208 + 4 + stack.offset_172 * 1 - 124) = '\001'; var_108 = var_120 + 1 < var_109; var_120 = var_120 + 1; if (var_108) { continue; } loop_state_var = 2; break; } } var_8 = 16; var_9 = var_112.offset_4; loop_state_var = 1; break; } switch (loop_state_var) { case 0: { var_88 = true; break; } break; case 1: { loop_state_var = 1; var_88 = true; break; } break; case 2: { var_119 = var_112.offset_4; var_116 = 0 - var_2; var_115 = 0; if (var_2) { var_118 = 0; while (true) { if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_24 + var_118 * 1)) { var_107 = var_118 + 1 < var_2; var_118 = var_118 + 1; if (var_107) { continue; } var_117 = var_118; break; } stack.offset_188.member_1 = var_118; var_117 = var_118; break; } var_115 = var_2; var_116 = var_117 - var_115; } var_111 = lshift(var_116, 4294967272); var_110 = lshift(((var_116 + var_115) ^ var_115) & ((var_116 + var_115) ^ var_116), 4294967276); var_70 = 16; var_71 = var_119; var_92 = var_109; if (!var_116) { var_8 = var_70; var_9 = var_71; loop_state_var = 1; var_88 = true; break; } var_91 = stack.offset_184; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 24)) = stack.offset_192; var_90 = var_1; *(generic32_t *) ((var_91 << 2) + *(generic32_t *) (var_27 + 28)) = var_90; *(generic8_t *) (*(generic32_t *) (var_27 + 32) + var_91) = stack.offset_188.member_0; var_1 = var_1 + var_2; if (var_1 < var_2) { var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 4; loop_state_var = 1; } else { if (!(var_92 > *(generic32_t *) var_27 - stack.offset_192)) { stack.offset_192 = stack.offset_192 + var_92; var_89 = stack.offset_200; stack.offset_184 = var_91 + 1; if (var_91 + 1 - var_89 > ~var_89) { var_67 = stack.offset_204; var_66 = var_91 + 1; continue; } var_63 = var_3; var_62 = (var_91 + 1) << 2; var_59 = var_27 + 20; var_60 = var_27 + 24; var_61 = var_27 + 28; loop_state_var = 2; var_88 = true; break; } var_9 = (var_90 & 0xFFFFFF00) | stack.offset_188.member_0; var_8 = 16; loop_state_var = 1; } var_88 = true; break; } break; } if (var_88){ break;} } break; } if (var_88){ break;} } } break; } if (var_88){ break;} } if (loop_state_var == 1) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; } else { *(generic32_t *) (var_62 + *(generic32_t *) var_61) = var_1; *(generic32_t *) (var_62 + *(generic32_t *) var_60) = stack.offset_192; *(generic32_t *) (var_62 + *(generic32_t *) var_59) = (pointer_or_number32_t) stack.offset_204 - stack.offset_176; if ((pointer_or_number32_t) stack.offset_204 == stack.offset_176) { *(generic32_t *) (var_27 + 40) = 0; var_56 = var_63; var_57 = stack.offset_192; var_58 = var_27; } else { var_64 = ((rawfunction_222 *) *(generic32_t *) var_63)(var_63, (pointer_or_number32_t) stack.offset_204 - stack.offset_176); var_47 = var_64.register_eax; var_46 = var_64.register_ebx; var_45 = var_64.register_ecx; var_44 = var_64.register_edx; var_9 = var_44; var_43 = var_64.register_esi; *(generic32_t *) (var_43 + 40) = var_47; var_8 = 2; if (!var_47) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } stack.offset_8 = (pointer_or_number32_t) stack.offset_204 - stack.offset_176; stack.offset_4 = stack.offset_176; stack.offset_0 = var_47; function_0x407250_Code_x86(); var_56 = var_46; var_57 = var_44; var_58 = var_43; } if (argument_0.member_0.offset_3) { var_8 = 16; var_9 = var_57; if (stack.offset_208) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } var_32 = stack.offset_160->offset_4; stack.offset_204 = stack.offset_160->offset_0; stack.offset_208 = var_32; } var_42 = function_0x4036b9_Code_x86(); var_4 = var_42.offset_0; var_5 = var_42.offset_4; if (!var_4) { if (!var_1) { *(generic32_t *) (var_58 + 36) = 0; var_54 = var_56; var_55 = var_58; } else { var_9 = var_1 << 3; var_65 = ((rawfunction_223 *) *(generic32_t *) var_56)(var_56, var_9); var_41 = var_65.register_eax; var_40 = var_65.register_ebx; var_54 = var_40; var_39 = var_65.register_esi; var_55 = var_39; *(generic32_t *) (var_55 + 36) = var_41; var_8 = 2; if (!var_41) { var_4 = var_8; var_5 = var_9; stack.offset_8 = var_4; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } } if (var_1) { var_53 = 0; while (true) { var_38 = function_0x402f3d_Code_x86(); if (!var_38.offset_0) { var_53 = var_53 + 1; if (var_53 < var_1) { continue; } break; } var_5 = var_38.offset_4; var_4 = var_38.offset_0; var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } } var_52 = (pointer_or_number32_t) &stack.offset_8 + 4; while (true) { var_37 = function_0x402f3d_Code_x86(); var_48 = var_37.offset_0; var_49 = var_37.offset_4; if (!var_48) { if (!(stack.offset_168 | stack.offset_172)) { stack.offset_160->offset_0 = stack.offset_204; stack.offset_160->offset_4 = stack.offset_208; var_4 = 0; var_5 = var_37.offset_4; break; } if (stack.offset_168 == 10 && !stack.offset_172) { *(generic32_t *) (var_52 - 4) = var_54; var_51 = var_52 - 8; *(generic32_t *) var_51 = var_55 + 12; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_35 = function_0x403c4e_Code_x86(0, 0); var_50 = &var_35; } else { var_36 = function_0x40367f_Code_x86(); var_50 = &var_36; var_51 = var_52; } var_49 = *(generic32_t *) (var_50 + 4); var_48 = *(generic32_t *) var_50; if (!var_48) { continue; } } var_4 = var_48; var_5 = var_49; break; } } } } } var_6.offset_0 = var_4; var_6.offset_4 = var_5; return var_6; } _ABI(Microsoft_x86_cdecl) struct_718 function_0x403c4e_Code_x86(generic32_t argument_0, generic32_t argument_1) { struct_423 stack; struct_720 var_0; struct_686 var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; var_2 = argument_0; var_3 = argument_1; var_1 = function_0x402b4c_Code_x86(); stack.offset_0 = var_3; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_2; var_0 = function_0x403c8a_Code_x86((generic32_t *) var_4); if (!var_0.offset_0) { struct_722 var_5; generic32_t var_6; generic32_t var_7; *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = var_3; *(generic32_t *) ((pointer_or_number32_t) &stack - 12) = var_2; var_5 = function_0x403d2e_Code_x86((struct_582 *) var_6, (struct_583 *) var_7); revng_abort("A longjmp was taken"); } else { revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_cdecl) struct_720 function_0x403c8a_Code_x86(generic32_t *argument_0) { generic32_t *var_0; generic32_t var_1; generic32_t var_2; var_0 = argument_0; *argument_0 = 0; if (!*(generic32_t *) NULL) { *(generic32_t *) (revng_undefined_local_sp() - 20) = 16; var_2 = 16; } else { *(generic32_t *) NULL = *(generic32_t *) NULL - 1; var_1 = *(generic8_t *) *(generic32_t *) NULL; *(generic32_t *) NULL = *(generic32_t *) NULL + 1; var_2 = 0; } struct_720 var_3; var_3.offset_0 = var_2; var_3.offset_4 = var_1; return var_3; } _ABI(Microsoft_x86_cdecl) struct_722 function_0x403d2e_Code_x86(struct_582 *argument_0, struct_583 *argument_1) { generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; var_1 = argument_0; var_2 = argument_1; argument_0->offset_4 = 0; var_1 = 0; var_5 = *(generic32_t *) NULL; var_4 = var_5; var_3 = argument_0->offset_4; *(generic32_t *) (revng_undefined_local_sp() - 8) = argument_0->offset_0; var_0 = lshift(undef(generic32_t), 4294967272); var_2 = var_3; generic32_t var_6; generic32_t var_7; while (true) { generic32_t var_8; generic32_t var_9; generic32_t var_10; generic32_t var_11; var_11 = var_4; var_10 = var_5; var_9 = 0x80 >> (var_1 & 0x7); var_8 = 0; if ((var_9 & *(generic8_t *) (*(generic32_t *) (revng_undefined_local_sp() - 8) + (var_1 >> 3)))) { if (!(var_5 > 3)) { *(generic32_t *) (revng_undefined_local_sp() - 28) = 16; var_6 = 0x80 >> (var_1 & 0x7); var_7 = 16; break; } var_8 = *(generic32_t *) var_4; var_10 = var_5 - 4; var_11 = var_4 + 4; var_9 = var_3; } *(generic32_t *) var_3 = var_8; var_1 = var_1 + 1; var_3 = var_2 + 4; var_2 = var_3; if (var_1 < *(generic32_t *) (revng_undefined_local_sp() - 12)) { continue; } *(generic32_t *) NULL = var_10; var_6 = var_9; var_7 = 0; break; } struct_722 var_12; var_12.offset_0 = var_7; var_12.offset_4 = var_6; return var_12; } _ABI(Microsoft_x86_cdecl) struct_724 function_0x403dd0_Code_x86(struct_593 *argument_0) { struct_418 stack; uint64_t loop_state_var; struct_694 var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; struct_724 var_4; var_1 = argument_0; stack.offset_12 = 0; stack.offset_16 = 0; stack.offset_36 = 0; stack.offset_32 = *(generic32_t *) NULL; stack.offset_28 = 0; var_0 = function_0x402f3d_Code_x86(); var_2 = var_0.offset_0; var_3 = var_0.offset_4; if (!var_2) { generic32_t var_5; generic32_t var_6; var_5 = var_1; var_6 = var_0.offset_4; generic32_t var_7; generic32_t var_8; generic32_t var_9; while (true) { struct_694 var_10; struct_709 var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; generic32_t var_15; bool var_16 = false; var_15 = var_6; switch ((number32_t) stack.offset_12) { case 13: { var_15 = 0; if (!stack.offset_16) { *(generic32_t *) (var_5 + 8) = *(generic32_t *) NULL; stack.offset_32 = 0; stack.offset_36 = 0; var_1 = 0; if (*(generic32_t *) NULL) { while (true) { struct_692 var_17; var_17 = function_0x402ee3_Code_x86(); if (!var_17.offset_0) { generic32_t var_18; var_18 = stack.offset_24; if (!(stack.offset_32 > stack.offset_32 + var_18)) { generic32_t var_19; stack.offset_32 = stack.offset_32 + var_18; var_19 = 0; if (!var_18) { stack.offset_36 = stack.offset_36 + var_19; } else { stack.offset_28 = var_18 + stack.offset_28 - 1; var_19 = var_18; if (var_18 == 1) { var_19 = 1; if (!stack.offset_20->offset_12) { stack.offset_36 = stack.offset_36 + var_19; } else { if (!((0x80 >> (var_1 & 0x7)) & *(generic8_t *) (stack.offset_20->offset_12 + (var_1 >> 3)))) { var_19 = stack.offset_24; stack.offset_36 = stack.offset_36 + var_19; } } } else { stack.offset_36 = stack.offset_36 + var_19; } } var_1 = var_1 + 1; if (var_1 < *(generic32_t *) NULL) { continue; } break; } *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 4; var_2 = 4; var_3 = stack.offset_32; loop_state_var = 1; } else { var_3 = var_17.offset_4; var_2 = var_17.offset_0; loop_state_var = 1; } break; } if (loop_state_var == 1) { var_16 = true; break; } } *(generic32_t *) (var_5 + 12) = *(generic32_t *) NULL - *(generic32_t *) (var_5 + 8); var_10 = function_0x402f3d_Code_x86(); var_13 = var_10.offset_0; var_6 = var_10.offset_4; var_14 = var_6; if (!var_13) { continue; } var_2 = var_13; var_3 = var_14; var_16 = true; break; } var_12 = var_15; if ((stack.offset_12 | stack.offset_16)) { var_11 = function_0x40367f_Code_x86(); var_13 = var_11.offset_0; var_14 = var_11.offset_4; if (var_13) { var_2 = var_13; var_3 = var_14; var_16 = true; break; } var_10 = function_0x402f3d_Code_x86(); var_13 = var_10.offset_0; var_6 = var_10.offset_4; var_14 = var_6; if (!var_13) { continue; } var_2 = var_13; var_3 = var_14; var_16 = true; break; } } break; case 10: { var_12 = var_6; var_15 = var_6; if (stack.offset_16) { var_12 = var_15; if ((stack.offset_12 | stack.offset_16)) { var_11 = function_0x40367f_Code_x86(); var_13 = var_11.offset_0; var_14 = var_11.offset_4; if (var_13) { var_2 = var_13; var_3 = var_14; var_16 = true; break; } var_10 = function_0x402f3d_Code_x86(); var_13 = var_10.offset_0; var_6 = var_10.offset_4; var_14 = var_6; if (!var_13) { continue; } var_2 = var_13; var_3 = var_14; var_16 = true; break; } } } break; case 9: { var_12 = var_6; var_15 = var_6; if (stack.offset_16) { var_12 = var_15; if ((stack.offset_12 | stack.offset_16)) { var_11 = function_0x40367f_Code_x86(); var_13 = var_11.offset_0; var_14 = var_11.offset_4; if (var_13) { var_2 = var_13; var_3 = var_14; var_16 = true; break; } var_10 = function_0x402f3d_Code_x86(); var_13 = var_10.offset_0; var_6 = var_10.offset_4; var_14 = var_6; if (!var_13) { continue; } var_2 = var_13; var_3 = var_14; var_16 = true; break; } } } break; default: { var_12 = var_15; if ((stack.offset_12 | stack.offset_16)) { var_11 = function_0x40367f_Code_x86(); var_13 = var_11.offset_0; var_14 = var_11.offset_4; if (var_13) { var_2 = var_13; var_3 = var_14; var_16 = true; break; } var_10 = function_0x402f3d_Code_x86(); var_13 = var_10.offset_0; var_6 = var_10.offset_4; var_14 = var_6; if (!var_13) { continue; } var_2 = var_13; var_3 = var_14; var_16 = true; break; } } break; } if (var_16){ break;} generic32_t var_20; var_20 = var_12; if (!*(generic32_t *) (var_5 + 8)) { struct_592 *var_21; var_21 = stack.offset_20; stack.offset_36 = *(generic32_t *) NULL; var_20 = var_12; if (var_21->offset_12) { struct_714 var_22; var_22 = function_0x403761_Code_x86(); var_20 = var_22.offset_4; stack.offset_36 = *(generic32_t *) NULL - var_22.offset_0; } } var_7 = var_20; *(generic32_t *) var_5 = stack.offset_32; *(generic32_t *) (var_5 + 4) = stack.offset_36; if (stack.offset_12 == 9) { var_7 = var_20; if (!stack.offset_16) { generic32_t var_23; var_3 = stack.offset_28; var_8 = var_5 + 16; *(generic32_t *) var_8 = *(generic32_t *) NULL; var_23 = function_0x403f91_Code_x86(); var_2 = var_23; var_9 = 20; if (var_2) { break; } loop_state_var = 2; break; } loop_state_var = 1; } else { loop_state_var = 1; } break; } generic32_t var_24; struct_709 var_25; struct_694 var_26; if (loop_state_var == 1) { while (true) { var_3 = var_7; var_2 = 0; if (!((stack.offset_12 | stack.offset_16))) { loop_state_var = 0; } else { if (stack.offset_12 == 10 && !stack.offset_16) { break; } var_25 = function_0x40367f_Code_x86(); var_2 = var_25.offset_0; var_3 = var_25.offset_4; if (!var_2) { var_26 = function_0x402f3d_Code_x86(); var_2 = var_26.offset_0; var_7 = var_26.offset_4; var_3 = var_7; if (!var_2) { continue; } loop_state_var = 0; } else { loop_state_var = 0; } } break; } if (!(loop_state_var)) { var_4.offset_0 = var_2; var_4.offset_4 = var_3; return var_4; } var_3 = stack.offset_36; var_8 = var_5 + 24; *(generic32_t *) var_8 = *(generic32_t *) NULL; var_24 = function_0x40370b_Code_x86(); var_2 = var_24; var_9 = 28; if (!(!var_2)) { var_4.offset_0 = var_2; var_4.offset_4 = var_3; return var_4; } while (true) { *(generic32_t *) (var_5 + var_9) = *(generic32_t *) NULL - *(generic32_t *) var_8; var_26 = function_0x402f3d_Code_x86(); var_2 = var_26.offset_0; var_7 = var_26.offset_4; var_3 = var_7; if (!var_2) { while (true) { var_3 = var_7; var_2 = 0; if ((stack.offset_12 | stack.offset_16)) { if (stack.offset_12 == 10 && !stack.offset_16) { loop_state_var = 1; break; } var_25 = function_0x40367f_Code_x86(); var_2 = var_25.offset_0; var_3 = var_25.offset_4; if (!var_2) { var_26 = function_0x402f3d_Code_x86(); var_2 = var_26.offset_0; var_7 = var_26.offset_4; var_3 = var_7; if (!var_2) { continue; } } } break; } if (loop_state_var == 1) { var_3 = stack.offset_36; var_8 = var_5 + 24; *(generic32_t *) var_8 = *(generic32_t *) NULL; var_24 = function_0x40370b_Code_x86(); var_2 = var_24; var_9 = 28; if (!var_2) { continue; } } } break; } } else { while (true) { *(generic32_t *) (var_5 + var_9) = *(generic32_t *) NULL - *(generic32_t *) var_8; var_26 = function_0x402f3d_Code_x86(); var_2 = var_26.offset_0; var_7 = var_26.offset_4; var_3 = var_7; if (!var_2) { while (true) { var_3 = var_7; var_2 = 0; if ((stack.offset_12 | stack.offset_16)) { if (stack.offset_12 == 10 && !stack.offset_16) { loop_state_var = 1; break; } var_25 = function_0x40367f_Code_x86(); var_2 = var_25.offset_0; var_3 = var_25.offset_4; if (!var_2) { var_26 = function_0x402f3d_Code_x86(); var_2 = var_26.offset_0; var_7 = var_26.offset_4; var_3 = var_7; if (!var_2) { continue; } } } break; } if (loop_state_var == 1) { var_3 = stack.offset_36; var_8 = var_5 + 24; *(generic32_t *) var_8 = *(generic32_t *) NULL; var_24 = function_0x40370b_Code_x86(); var_2 = var_24; var_9 = 28; if (!var_2) { continue; } } } break; } } } var_4.offset_0 = var_2; var_4.offset_4 = var_3; return var_4; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x403f91_Code_x86(void) { return 0; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x403feb_Code_x86(generic32_t argument_0, generic32_t argument_1, generic32_t argument_2) { struct_424 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; var_0 = argument_0; var_1 = argument_1; var_2 = argument_2; stack.offset_76 = 0; stack.offset_84 = 8; generic32_t var_3; struct_737 var_4; do { var_4 = function_0x404bef_Code_x86(); var_3 = stack.offset_84; stack.offset_84 = var_3 - 1; } while (var_3 != 1); generic32_t var_5; generic32_t var_6; union_458 var_7; union_457 var_8; union_456 var_9; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_2; *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = var_1; *(generic32_t **) ((pointer_or_number32_t) &stack - 12) = &stack.offset_76; *(generic32_t *) ((pointer_or_number32_t) &stack - 16) = (pointer_or_number32_t) &stack + 12; *(generic32_t *) ((pointer_or_number32_t) &stack - 20) = var_0; function_0x404061_Code_x86(var_5, var_9, var_8, (generic32_t *) var_6, var_7); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x404061_Code_x86(generic32_t argument_0, union_456 argument_1, union_457 argument_2, generic32_t *argument_3, union_458 argument_4) { struct_425 stack; uint64_t loop_state_var; struct_694 var_0; generic32_t var_1; generic32_t var_2; var_1 = argument_0; var_2 = argument_3; stack.offset_104 = 0; stack.offset_108 = 0; stack.offset_112 = 0; stack.offset_116 = 0; stack.offset_96 = 0; stack.offset_100 = 0; stack.offset_92 = 0; stack.offset_88 = 0; var_0 = function_0x402f3d_Code_x86(); if (!var_0.offset_0) { if ((stack.offset_168 == 2) && (!stack.offset_172)) { while (true) { struct_694 var_3; var_3 = function_0x402f3d_Code_x86(); if (!var_3.offset_0) { if (!(stack.offset_160 | stack.offset_164)) { struct_694 var_4; var_4 = function_0x402f3d_Code_x86(); if (!var_4.offset_0) { break; } loop_state_var = 0; } else { struct_709 var_5; var_5 = function_0x40367f_Code_x86(); if (!var_5.offset_0) { continue; } loop_state_var = 0; } } else { loop_state_var = 0; } break; } if (!(loop_state_var)) { return; } } generic32_t var_6; var_6 = (pointer_or_number32_t) &stack.offset_8 + 4; if (stack.offset_168 == 3) { var_6 = (pointer_or_number32_t) &stack.offset_8 + 4; if (!stack.offset_172) { struct_688 var_7; struct_703 var_8; generic32_t var_9; generic32_t var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; function_0x402ab0_Code_x86(); stack.offset_8 = argument_4.member_1; stack.offset_72 = *(generic32_t *) NULL; stack.offset_76 = *(generic32_t *) NULL; stack.offset_4 = (pointer_or_number32_t) &stack.offset_8 + 16; stack.offset_0 = *(generic32_t *) NULL; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = *(generic32_t *) NULL; *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = 8; *(generic32_t *) ((pointer_or_number32_t) &stack - 12) = argument_1.member_1; var_8 = function_0x40336e_Code_x86((struct_502 *) var_9, var_10, var_11, var_12, (struct_568 *) var_13, var_14); var_1 = var_8.offset_0; *(generic32_t *) *(generic32_t *) &argument_2 = stack.offset_28; var_7 = function_0x402b6b_Code_x86(); if (var_1) { return; } struct_694 var_15; var_15 = function_0x402f3d_Code_x86(); var_6 = (pointer_or_number32_t) &stack - 12; if (var_15.offset_0) { return; } } } generic32_t var_16; generic32_t var_17; var_16 = var_6; var_17 = 0; if (stack.offset_168 == 4) { var_16 = var_6; var_17 = 0; if (!stack.offset_172) { struct_705 var_18; *(generic32_t *) (var_6 - 4) = var_2; *(generic32_t **) (var_6 - 8) = &stack.offset_88; *(generic32_t *) (var_6 - 16) = *(generic32_t *) *(generic32_t *) &argument_2; *(generic32_t *) (var_6 - 20) = argument_1.member_1; *(generic32_t *) (var_6 - 24) = 1073741824; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_18 = function_0x403454_Code_x86(0, 0, 0, (struct_561 *) NULL, (struct_492 *) NULL, 0); if (var_18.offset_0) { return; } struct_694 var_19; var_17 = (uint32_t) *(generic32_t *) NULL >> 31; *(generic32_t *) NULL = *(generic32_t *) NULL * 3 + var_17; var_19 = function_0x402f3d_Code_x86(); var_16 = var_6 - 24; if (var_19.offset_0) { return; } } } if ((stack.offset_168 | stack.offset_172)) { generic32_t var_20; generic32_t var_21; var_20 = var_16; var_21 = 16; if (stack.offset_168 == 5 && !stack.offset_172) { struct_692 var_22; var_1 = 0; stack.offset_152 = 0; stack.offset_136 = 0; stack.offset_128 = 0; var_22 = function_0x402ee3_Code_x86(); if (var_22.offset_0) { return; } struct_694 var_23; *(generic32_t *) NULL = var_1; var_23 = function_0x402f3d_Code_x86(); if (var_23.offset_0) { return; } generic32_t var_24; generic32_t var_25; var_24 = var_2; var_25 = var_16; while (true) { if (!(stack.offset_160 | stack.offset_164)) { var_20 = var_25; var_21 = 16; if (var_1 - stack.offset_152 != stack.offset_88) { loop_state_var = 0; break; } loop_state_var = 2; break; } struct_694 var_26; var_26 = function_0x402f3d_Code_x86(); if (var_26.offset_0) { break; } generic32_t var_27; generic32_t var_28; var_27 = var_25; var_28 = 16; if (stack.offset_124 != 0 || *(generic32_t *) NULL < stack.offset_120) { var_20 = var_27; var_21 = var_28; loop_state_var = 0; break; } struct_694 var_29; generic32_t var_30; if (stack.offset_164) { *(generic32_t *) NULL = *(generic32_t *) NULL - stack.offset_120; var_30 = var_25; var_29 = function_0x402f3d_Code_x86(); if (!var_29.offset_0) { continue; } break; } if (stack.offset_160 > 255) { *(generic32_t *) NULL = *(generic32_t *) NULL - stack.offset_120; var_30 = var_25; var_29 = function_0x402f3d_Code_x86(); if (!var_29.offset_0) { continue; } break; } generic32_t var_31; generic32_t var_32; bool var_33 = false; switch ((number32_t) stack.offset_160) { case 14: { generic32_t var_34; *(generic32_t **) (var_25 - 4) = &stack.offset_136; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_34 = function_0x4048bb_Code_x86((generic32_t *) NULL); if (var_34) { var_33 = true; break; } struct_714 var_35; var_35 = function_0x403761_Code_x86(); stack.offset_128 = 0; stack.offset_152 = var_35.offset_0; var_30 = var_25 - 4; var_29 = function_0x402f3d_Code_x86(); if (!var_29.offset_0) { continue; } var_33 = true; break; } break; case 15: { generic32_t var_36; *(generic32_t **) (var_25 - 4) = &stack.offset_128; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_36 = function_0x4048bb_Code_x86((generic32_t *) NULL); var_32 = var_36; var_31 = var_25 - 4; var_30 = var_31; if (var_32) { var_33 = true; break; } var_29 = function_0x402f3d_Code_x86(); if (!var_29.offset_0) { continue; } var_33 = true; break; } break; case 17: { var_27 = var_25; var_28 = 16; if (*(generic32_t *) NULL) { generic32_t var_37; generic32_t var_38; *(generic32_t *) NULL = *(generic32_t *) NULL - 1; argument_4.member_0.offset_3 = *(generic8_t *) (*(generic32_t *) NULL - 1); *(generic32_t *) NULL = *(generic32_t *) NULL; if (!*(generic8_t *) (*(generic32_t *) NULL - 1)) { var_38 = stack.offset_120 - 1; var_37 = *(generic32_t *) NULL; } else { struct_692 var_39; var_39 = function_0x402ee3_Code_x86(); if (var_39.offset_0) { var_33 = true; break; } var_27 = var_25; var_28 = 16; if (!(stack.offset_156 < *(generic32_t *) *(generic32_t *) &argument_2)) { var_20 = var_27; var_21 = var_28; loop_state_var = 0; var_33 = true; break; } var_37 = *(generic32_t *) ((stack.offset_156 << 3) + argument_1.member_1); var_38 = *(generic32_t *) ((stack.offset_156 << 3) + argument_1.member_1 + 4); } stack.offset_148 = var_37; var_2 = var_38; var_27 = var_25; var_28 = 16; if (!(var_38 & 0x1)) { generic32_t var_40; var_40 = ((rawfunction_227 *) *(generic32_t *) var_24)(var_24, (var_1 << 2) + 4); *(generic32_t *) NULL = var_40; var_27 = var_25; var_28 = 2; if (var_40) { generic32_t var_41; generic32_t var_42; if (!var_2) { *(generic32_t *) NULL = 0; var_42 = var_25 - 8; var_41 = var_42; } else { generic32_t var_43; generic32_t var_44; generic32_t var_45; artificial_struct_returned_by_rawfunction_228 var_46; var_46 = ((rawfunction_228 *) *(generic32_t *) var_24)(var_24); var_45 = var_46.register_eax; var_44 = var_46.register_ecx; var_43 = var_46.register_edx; *(generic32_t *) NULL = var_45; var_27 = var_25; var_28 = 2; if (!var_45) { var_20 = var_27; var_21 = var_28; loop_state_var = 0; var_33 = true; break; } *(generic32_t *) (var_25 - 4) = var_2; var_42 = var_25 - 8; var_41 = var_42; *(generic32_t *) var_41 = stack.offset_148; *(generic32_t *) (var_25 - 12) = var_45; function_0x407250_Code_x86(); } generic32_t var_47; var_30 = var_42; *(generic32_t *) (var_25 - 4) = *(generic32_t *) NULL; *(generic32_t *) var_41 = var_1; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_47 = function_0x4048df_Code_x86(0, (generic32_t *) NULL); if (var_47) { var_33 = true; break; } var_29 = function_0x402f3d_Code_x86(); if (!var_29.offset_0) { continue; } var_33 = true; break; } } } var_20 = var_27; var_21 = var_28; loop_state_var = 0; var_33 = true; break; } break; case 18: case 20: { union_459 var_48; *(generic32_t *) (var_25 - 4) = var_24; *(generic32_t *) (var_25 - 8) = *(generic32_t *) *(generic32_t *) &argument_2; *(generic32_t *) (var_25 - 12) = argument_1.member_1; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); function_0x404944_Code_x86(var_48, 0, 0, (generic32_t *) NULL); } break; case 21: { struct_720 var_49; struct_686 var_50; var_50 = function_0x402b4c_Code_x86(); *(generic32_t *) (var_25 - 4) = var_24; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_49 = function_0x403c8a_Code_x86((generic32_t *) NULL); if (var_49.offset_0) { var_33 = true; break; } var_27 = var_25 - 8; var_28 = 16; if (!*(generic32_t *) NULL) { var_20 = var_27; var_21 = var_28; loop_state_var = 0; var_33 = true; break; } *(generic32_t *) NULL = *(generic32_t *) NULL - 1; *(generic32_t *) NULL = *(generic32_t *) NULL; if (*(generic8_t *) (*(generic32_t *) NULL - 1)) { struct_692 var_51; var_51 = function_0x402ee3_Code_x86(); if (var_51.offset_0) { var_33 = true; break; } var_27 = var_25 - 8; var_28 = 16; if (!(stack.offset_132 < *(generic32_t *) *(generic32_t *) &argument_2)) { var_20 = var_27; var_21 = var_28; loop_state_var = 0; var_33 = true; break; } generic32_t var_52; var_52 = (stack.offset_132 << 3) + argument_1.member_1; stack.offset_168 = *(generic32_t *) var_52; stack.offset_172 = *(generic32_t *) (var_52 + 4); } struct_722 var_53; *(generic32_t *) (var_25 - 12) = var_24; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_53 = function_0x403d2e_Code_x86((struct_582 *) NULL, (struct_583 *) NULL); var_32 = var_53.offset_0; var_31 = var_25 - 16; var_30 = var_31; if (var_32) { var_33 = true; break; } var_29 = function_0x402f3d_Code_x86(); if (!var_29.offset_0) { continue; } var_33 = true; break; } break; default: { *(generic32_t *) NULL = *(generic32_t *) NULL - stack.offset_120; var_30 = var_25; var_29 = function_0x402f3d_Code_x86(); if (!var_29.offset_0) { continue; } var_33 = true; break; } break; } if (var_33){ break;} } if (!(loop_state_var)) { *(generic32_t *) (var_20 - 4) = var_21; } else { while (true) { struct_694 var_54; var_54 = function_0x402f3d_Code_x86(); if (!var_54.offset_0) { if (!(stack.offset_160 | stack.offset_164)) { generic32_t var_55; argument_4.member_0.offset_3 = '\000'; argument_1.member_0.offset_3 = '\000'; stack.offset_148 = 0; var_2 = 0; stack.offset_144 = 0; stack.offset_156 = 0; stack.offset_168 = 0; stack.offset_172 = 0; stack.offset_132 = 0; stack.offset_140 = 0; stack.offset_152 = 0; argument_2.member_0.offset_3 = '\200'; var_55 = ((rawfunction_229 *) *(generic32_t *) var_24)(var_24, (*(generic32_t *) NULL << 2) + 4); *(generic32_t *) NULL = var_55; var_20 = var_25; var_21 = 2; if (!var_55) { break; } generic32_t var_56; var_56 = ((rawfunction_230 *) *(generic32_t *) var_24)(var_24, var_55 << 2); *(generic32_t *) NULL = var_56; var_20 = var_25; var_21 = 2; if (!var_56) { break; } generic32_t var_57; var_57 = ((rawfunction_231 *) *(generic32_t *) var_24)(var_24, (var_56 << 3) + 8); *(generic32_t *) NULL = var_57; var_20 = var_25; var_21 = 2; if (!var_57) { break; } if (var_57 < 1 || var_57 > (uint32_t) -8) { *(generic32_t *) NULL = 0; } else { generic32_t var_58; var_58 = ((rawfunction_232 *) *(generic32_t *) var_24)(var_24, (var_57 + 7) >> 3); *(generic32_t *) NULL = var_58; var_20 = var_25; var_21 = 2; if (!var_58) { break; } } struct_729 var_59; *(generic32_t *) (var_25 - 4) = var_24; var_59 = function_0x40487a_Code_x86(); if (var_59.offset_0) { loop_state_var = 1; break; } if (stack.offset_116) { generic8_t *var_60; generic8_t *var_61; var_60 = stack.offset_112; stack.offset_116 = stack.offset_116 - 1; stack.offset_112 = &var_60[1]; var_61 = &var_60[1]; if (!*var_60) { generic32_t var_62; var_62 = stack.offset_92; stack.offset_132 = &var_60[1]; var_61 = &var_60[((var_62 + 7) >> 3) + 1]; } stack.offset_140 = var_61; } struct_692 var_63; generic8_t var_64; generic8_t var_65; generic32_t var_66; generic32_t var_67; var_66 = stack.offset_168; var_67 = 0; if (!var_1) { *(generic32_t *) ((var_67 << 3) + *(generic32_t *) NULL) = var_66; *(generic32_t *) ((var_67 << 3) + *(generic32_t *) NULL + 4) = stack.offset_172; var_20 = var_25 - 4; var_21 = 16; if (stack.offset_144) { break; } *(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) = var_67; var_64 = !stack.offset_96; if (!(var_2 < *(generic32_t *) NULL)) { if (var_64) { loop_state_var = 1; break; } var_20 = var_25 - 4; var_21 = 16; if (stack.offset_100) { break; } loop_state_var = 1; break; } var_65 = !stack.offset_96; while (true) { if (!(var_65)) { var_63 = function_0x402ee3_Code_x86(); if (var_63.offset_0) { loop_state_var = 1; break; } if (!stack.offset_156) { var_2 = var_2 + 1; *(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) = var_67; var_65 = !stack.offset_96; if (var_2 < *(generic32_t *) NULL) { continue; } var_64 = !stack.offset_96; loop_state_var = 2; break; } } var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } bool var_68 = false; switch (loop_state_var) { case 0: { var_68 = true; break; } break; case 1: { loop_state_var = 1; var_68 = true; break; } break; case 2: { if (var_64) { loop_state_var = 1; var_68 = true; break; } var_20 = var_25 - 4; var_21 = 16; if (stack.offset_100) { var_68 = true; break; } loop_state_var = 1; var_68 = true; break; } break; } if (var_68){ break;} } else { generic32_t var_69; generic32_t var_70; generic32_t var_71; var_69 = var_17; var_70 = stack.offset_168; var_71 = 0; while (true) { generic32_t var_72; var_72 = var_71; if (!argument_2.member_0.offset_3) { generic8_t var_73; generic8_t var_74; var_74 = argument_4.member_0.offset_3; argument_4.member_0.offset_3 = '\000'; argument_2.member_0.offset_3 = '\200'; *(generic8_t *) (((var_72 - 1) >> 3) + *(generic32_t *) NULL) = var_74; var_73 = argument_1.member_0.offset_3; argument_1.member_0.offset_3 = '\000'; *(generic8_t *) (((var_72 - 1) >> 3) + *(generic32_t *) NULL) = var_73; } generic32_t *var_75; generic32_t var_76; generic32_t var_77; generic8_t var_78; generic32_t var_79; generic32_t var_80; generic32_t var_81; generic32_t var_82; generic32_t var_83; generic32_t var_84; generic32_t var_85; generic32_t var_86; generic32_t var_87; generic32_t var_88; struct_696 var_89; generic32_t var_90; generic32_t var_91; generic32_t var_92; generic32_t var_93; generic32_t var_94; struct_696 var_95; generic32_t var_96; generic32_t var_97; struct_694 var_98; struct_692 var_99; generic32_t var_100; generic32_t var_101; generic32_t var_102; generic32_t var_103; generic32_t var_104; generic32_t var_105; generic32_t var_106; generic32_t var_107; generic32_t var_108; generic32_t var_109; *(generic32_t *) ((var_72 << 3) + *(generic32_t *) NULL) = var_70; *(generic32_t *) ((var_72 << 3) + *(generic32_t *) NULL + 4) = stack.offset_172; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = 0; if (!stack.offset_136) { var_104 = var_69; var_105 = var_70; if (!stack.offset_144) { if (!(var_2 < *(generic32_t *) NULL)) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } var_106 = *(generic32_t *) NULL; var_107 = var_2; var_108 = var_70; var_109 = var_69; while (true) { *(generic32_t *) ((var_107 << 2) + var_106) = var_72; var_85 = stack.offset_96; stack.offset_156 = 1; if (var_85) { var_99 = function_0x402ee3_Code_x86(); if (var_99.offset_0) { loop_state_var = 1; break; } } stack.offset_144 = stack.offset_156; if (stack.offset_156) { loop_state_var = 2; break; } var_89 = function_0x403031_Code_x86(); var_86 = var_108 + var_89.offset_0 < var_89.offset_0; stack.offset_172 = stack.offset_172 + var_89.offset_4 + var_86; if (!(stack.offset_172 < var_89.offset_4)) { var_88 = lshift(stack.offset_172 - var_89.offset_4, 4294967272); var_87 = lshift((stack.offset_172 ^ var_89.offset_4) & (stack.offset_172 ^ (stack.offset_172 - var_89.offset_4)), 4294967276); if (!(stack.offset_172 == var_89.offset_4 && var_108 + var_89.offset_0 < var_89.offset_0)) { var_107 = var_2 + 1; var_2 = var_107; var_106 = *(generic32_t *) NULL; var_108 = var_108 + var_89.offset_0; var_109 = var_86; if (var_107 < var_106) { continue; } } } var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } bool var_110 = false; switch (loop_state_var) { case 0: { loop_state_var = 0; var_110 = true; break; } break; case 1: { loop_state_var = 1; var_110 = true; break; } break; case 2: { var_104 = var_109; var_105 = var_108; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = var_2; if (stack.offset_136) { var_100 = var_104; var_101 = var_105; if (((0x80 >> (var_72 & 0x7)) & *(generic8_t *) (stack.offset_136 + (var_72 >> 3)))) { argument_2.member_0.offset_3 = (uint8_t) argument_2.member_0.offset_3 >> '\001'; var_71 = var_72 + 1; if (var_72 + 1 < var_1) { continue; } *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_4.member_0.offset_3; *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_1.member_0.offset_3; var_66 = var_101; var_67 = var_72 + 1; loop_state_var = 2; var_110 = true; break; } } var_84 = stack.offset_144; stack.offset_144 = var_84 - 1; if (var_84 == 1) { var_95 = function_0x403031_Code_x86(); stack.offset_160 = var_95.offset_0; stack.offset_164 = var_95.offset_4; var_79 = stack.offset_172 - (*(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL + 4) + (var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) > ~*(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL))); stack.offset_80 = var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL); if (stack.offset_164 < var_79) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_110 = true; break; } var_94 = lshift(stack.offset_164 - var_79, 4294967272); var_93 = lshift((stack.offset_164 ^ var_79) & (stack.offset_164 ^ (stack.offset_164 - var_79)), 4294967276); if (stack.offset_164 == var_79 && stack.offset_160 < var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL)) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_110 = true; break; } var_78 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) + stack.offset_160 < stack.offset_160; var_80 = var_78; var_77 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL + 4) + stack.offset_164 + var_80; stack.offset_168 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) + stack.offset_160; var_76 = stack.offset_164; stack.offset_172 = var_77; if (var_77 - var_76 > ~var_76) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_110 = true; break; } var_92 = var_77 == var_76 ? 64 : 0; var_91 = lshift(var_77 - var_76, 4294967272); var_90 = lshift((var_77 ^ var_76) & (var_77 ^ (var_77 - var_76)), 4294967276); if ((var_92 | (var_77 < var_76)) != 0 && var_78) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_110 = true; break; } if (stack.offset_156 == 1) { if (*(generic32_t *) NULL) { if (((0x80 >> (var_2 & 0x7)) & *(generic8_t *) (*(generic32_t *) NULL + (var_2 >> 3)))) { *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL); argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } } } var_2 = var_2 + 1; var_103 = stack.offset_168; var_102 = var_80; } else { var_98 = function_0x402f3d_Code_x86(); if (var_98.offset_0) { loop_state_var = 1; var_110 = true; break; } var_83 = var_105 + stack.offset_120; var_81 = stack.offset_124; var_82 = var_83 < stack.offset_120; stack.offset_172 = stack.offset_172 + var_81 + var_82; if (stack.offset_172 < var_81) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_110 = true; break; } var_97 = lshift(stack.offset_172 - var_81, 4294967272); var_96 = lshift((stack.offset_172 ^ var_81) & (stack.offset_172 ^ (stack.offset_172 - var_81)), 4294967276); var_102 = var_82; var_103 = var_83; if (stack.offset_172 == var_81) { var_102 = var_82; var_103 = var_83; if (var_83 < stack.offset_120) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_110 = true; break; } } } var_100 = var_102; var_101 = var_103; if (!(argument_1.member_0.offset_3 & argument_2.member_0.offset_3)) { var_75 = stack.offset_140; var_100 = var_102; var_101 = var_103; if (var_75) { if (!stack.offset_132) { stack.offset_140 = &var_75[1]; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *var_75; argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } else { if (((0x80 >> (stack.offset_152 & 0x7)) & *(generic8_t *) (stack.offset_132 + (stack.offset_152 >> 3)))) { stack.offset_140 = &var_75[1]; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *var_75; argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } } stack.offset_152 = stack.offset_152 + 1; var_100 = var_102; var_101 = var_103; } } argument_2.member_0.offset_3 = (uint8_t) argument_2.member_0.offset_3 >> '\001'; var_71 = var_72 + 1; if (var_72 + 1 < var_1) { continue; } *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_4.member_0.offset_3; *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_1.member_0.offset_3; var_66 = var_101; var_67 = var_72 + 1; loop_state_var = 2; var_110 = true; break; } break; } if (var_110){ break;} } } else { if (!((0x80 >> (var_72 & 0x7)) & *(generic8_t *) (stack.offset_136 + (var_72 >> 3)))) { var_104 = var_69; var_105 = var_70; if (!stack.offset_144) { if (!(var_2 < *(generic32_t *) NULL)) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } var_106 = *(generic32_t *) NULL; var_107 = var_2; var_108 = var_70; var_109 = var_69; while (true) { *(generic32_t *) ((var_107 << 2) + var_106) = var_72; var_85 = stack.offset_96; stack.offset_156 = 1; if (var_85) { var_99 = function_0x402ee3_Code_x86(); if (var_99.offset_0) { loop_state_var = 1; break; } } stack.offset_144 = stack.offset_156; if (stack.offset_156) { loop_state_var = 2; break; } var_89 = function_0x403031_Code_x86(); var_86 = var_108 + var_89.offset_0 < var_89.offset_0; stack.offset_172 = stack.offset_172 + var_89.offset_4 + var_86; if (!(stack.offset_172 < var_89.offset_4)) { var_88 = lshift(stack.offset_172 - var_89.offset_4, 4294967272); var_87 = lshift((stack.offset_172 ^ var_89.offset_4) & (stack.offset_172 ^ (stack.offset_172 - var_89.offset_4)), 4294967276); if (!(stack.offset_172 == var_89.offset_4 && var_108 + var_89.offset_0 < var_89.offset_0)) { var_107 = var_2 + 1; var_2 = var_107; var_106 = *(generic32_t *) NULL; var_108 = var_108 + var_89.offset_0; var_109 = var_86; if (var_107 < var_106) { continue; } } } var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } bool var_111 = false; switch (loop_state_var) { case 0: { loop_state_var = 0; var_111 = true; break; } break; case 1: { loop_state_var = 1; var_111 = true; break; } break; case 2: { var_104 = var_109; var_105 = var_108; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = var_2; if (stack.offset_136) { var_100 = var_104; var_101 = var_105; if (((0x80 >> (var_72 & 0x7)) & *(generic8_t *) (stack.offset_136 + (var_72 >> 3)))) { argument_2.member_0.offset_3 = (uint8_t) argument_2.member_0.offset_3 >> '\001'; var_71 = var_72 + 1; if (var_72 + 1 < var_1) { continue; } *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_4.member_0.offset_3; *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_1.member_0.offset_3; var_66 = var_101; var_67 = var_72 + 1; loop_state_var = 2; var_111 = true; break; } } var_84 = stack.offset_144; stack.offset_144 = var_84 - 1; if (var_84 == 1) { var_95 = function_0x403031_Code_x86(); stack.offset_160 = var_95.offset_0; stack.offset_164 = var_95.offset_4; var_79 = stack.offset_172 - (*(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL + 4) + (var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) > ~*(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL))); stack.offset_80 = var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL); if (stack.offset_164 < var_79) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_111 = true; break; } var_94 = lshift(stack.offset_164 - var_79, 4294967272); var_93 = lshift((stack.offset_164 ^ var_79) & (stack.offset_164 ^ (stack.offset_164 - var_79)), 4294967276); if (stack.offset_164 == var_79 && stack.offset_160 < var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL)) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_111 = true; break; } var_78 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) + stack.offset_160 < stack.offset_160; var_80 = var_78; var_77 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL + 4) + stack.offset_164 + var_80; stack.offset_168 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) + stack.offset_160; var_76 = stack.offset_164; stack.offset_172 = var_77; if (var_77 - var_76 > ~var_76) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_111 = true; break; } var_92 = var_77 == var_76 ? 64 : 0; var_91 = lshift(var_77 - var_76, 4294967272); var_90 = lshift((var_77 ^ var_76) & (var_77 ^ (var_77 - var_76)), 4294967276); if ((var_92 | (var_77 < var_76)) != 0 && var_78) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_111 = true; break; } if (stack.offset_156 == 1) { if (*(generic32_t *) NULL) { if (((0x80 >> (var_2 & 0x7)) & *(generic8_t *) (*(generic32_t *) NULL + (var_2 >> 3)))) { *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL); argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } } } var_2 = var_2 + 1; var_103 = stack.offset_168; var_102 = var_80; } else { var_98 = function_0x402f3d_Code_x86(); if (var_98.offset_0) { loop_state_var = 1; var_111 = true; break; } var_83 = var_105 + stack.offset_120; var_81 = stack.offset_124; var_82 = var_83 < stack.offset_120; stack.offset_172 = stack.offset_172 + var_81 + var_82; if (stack.offset_172 < var_81) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_111 = true; break; } var_97 = lshift(stack.offset_172 - var_81, 4294967272); var_96 = lshift((stack.offset_172 ^ var_81) & (stack.offset_172 ^ (stack.offset_172 - var_81)), 4294967276); var_102 = var_82; var_103 = var_83; if (stack.offset_172 == var_81) { var_102 = var_82; var_103 = var_83; if (var_83 < stack.offset_120) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; var_111 = true; break; } } } var_100 = var_102; var_101 = var_103; if (!(argument_1.member_0.offset_3 & argument_2.member_0.offset_3)) { var_75 = stack.offset_140; var_100 = var_102; var_101 = var_103; if (var_75) { if (!stack.offset_132) { stack.offset_140 = &var_75[1]; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *var_75; argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } else { if (((0x80 >> (stack.offset_152 & 0x7)) & *(generic8_t *) (stack.offset_132 + (stack.offset_152 >> 3)))) { stack.offset_140 = &var_75[1]; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *var_75; argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } } stack.offset_152 = stack.offset_152 + 1; var_100 = var_102; var_101 = var_103; } } argument_2.member_0.offset_3 = (uint8_t) argument_2.member_0.offset_3 >> '\001'; var_71 = var_72 + 1; if (var_72 + 1 < var_1) { continue; } *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_4.member_0.offset_3; *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_1.member_0.offset_3; var_66 = var_101; var_67 = var_72 + 1; loop_state_var = 2; var_111 = true; break; } break; } if (var_111){ break;} } } else { if (!stack.offset_128) { argument_4.member_0.offset_3 = argument_2.member_0.offset_3 | argument_4.member_0.offset_3; } else { if (!((0x80 >> (stack.offset_148 & 0x7)) & *(generic8_t *) (stack.offset_128 + (stack.offset_148 >> 3)))) { argument_4.member_0.offset_3 = argument_2.member_0.offset_3 | argument_4.member_0.offset_3; } stack.offset_148 = stack.offset_148 + 1; } var_104 = var_69; var_105 = var_70; if (!stack.offset_144) { *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = 4294967295; var_100 = var_69; var_101 = var_70; argument_2.member_0.offset_3 = (uint8_t) argument_2.member_0.offset_3 >> '\001'; var_71 = var_72 + 1; if (var_72 + 1 < var_1) { continue; } *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_4.member_0.offset_3; *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_1.member_0.offset_3; var_66 = var_101; var_67 = var_72 + 1; loop_state_var = 2; break; } } } *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = var_2; if (stack.offset_136) { var_100 = var_104; var_101 = var_105; if (((0x80 >> (var_72 & 0x7)) & *(generic8_t *) (stack.offset_136 + (var_72 >> 3)))) { argument_2.member_0.offset_3 = (uint8_t) argument_2.member_0.offset_3 >> '\001'; var_71 = var_72 + 1; if (var_72 + 1 < var_1) { continue; } *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_4.member_0.offset_3; *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_1.member_0.offset_3; var_66 = var_101; var_67 = var_72 + 1; loop_state_var = 2; break; } } var_84 = stack.offset_144; stack.offset_144 = var_84 - 1; if (var_84 == 1) { var_95 = function_0x403031_Code_x86(); stack.offset_160 = var_95.offset_0; stack.offset_164 = var_95.offset_4; var_79 = stack.offset_172 - (*(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL + 4) + (var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) > ~*(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL))); stack.offset_80 = var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL); if (stack.offset_164 < var_79) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } var_94 = lshift(stack.offset_164 - var_79, 4294967272); var_93 = lshift((stack.offset_164 ^ var_79) & (stack.offset_164 ^ (stack.offset_164 - var_79)), 4294967276); if (stack.offset_164 == var_79 && stack.offset_160 < var_105 - *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL)) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } var_78 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) + stack.offset_160 < stack.offset_160; var_80 = var_78; var_77 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL + 4) + stack.offset_164 + var_80; stack.offset_168 = *(generic32_t *) ((*(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) << 3) + *(generic32_t *) NULL) + stack.offset_160; var_76 = stack.offset_164; stack.offset_172 = var_77; if (var_77 - var_76 > ~var_76) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } var_92 = var_77 == var_76 ? 64 : 0; var_91 = lshift(var_77 - var_76, 4294967272); var_90 = lshift((var_77 ^ var_76) & (var_77 ^ (var_77 - var_76)), 4294967276); if ((var_92 | (var_77 < var_76)) != 0 && var_78) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } if (stack.offset_156 == 1) { if (*(generic32_t *) NULL) { if (((0x80 >> (var_2 & 0x7)) & *(generic8_t *) (*(generic32_t *) NULL + (var_2 >> 3)))) { *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL); argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } } } var_2 = var_2 + 1; var_103 = stack.offset_168; var_102 = var_80; } else { var_98 = function_0x402f3d_Code_x86(); if (var_98.offset_0) { loop_state_var = 1; break; } var_83 = var_105 + stack.offset_120; var_81 = stack.offset_124; var_82 = var_83 < stack.offset_120; stack.offset_172 = stack.offset_172 + var_81 + var_82; if (stack.offset_172 < var_81) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } var_97 = lshift(stack.offset_172 - var_81, 4294967272); var_96 = lshift((stack.offset_172 ^ var_81) & (stack.offset_172 ^ (stack.offset_172 - var_81)), 4294967276); var_102 = var_82; var_103 = var_83; if (stack.offset_172 == var_81) { var_102 = var_82; var_103 = var_83; if (var_83 < stack.offset_120) { var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } } } var_100 = var_102; var_101 = var_103; if (!(argument_1.member_0.offset_3 & argument_2.member_0.offset_3)) { var_75 = stack.offset_140; var_100 = var_102; var_101 = var_103; if (var_75) { if (!stack.offset_132) { stack.offset_140 = &var_75[1]; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *var_75; argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } else { if (((0x80 >> (stack.offset_152 & 0x7)) & *(generic8_t *) (stack.offset_132 + (stack.offset_152 >> 3)))) { stack.offset_140 = &var_75[1]; *(generic32_t *) ((var_72 << 2) + *(generic32_t *) NULL) = *var_75; argument_1.member_0.offset_3 = argument_2.member_0.offset_3 | argument_1.member_0.offset_3; } } stack.offset_152 = stack.offset_152 + 1; var_100 = var_102; var_101 = var_103; } } argument_2.member_0.offset_3 = (uint8_t) argument_2.member_0.offset_3 >> '\001'; var_71 = var_72 + 1; if (var_72 + 1 < var_1) { continue; } *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_4.member_0.offset_3; *(generic8_t *) ((var_72 >> 3) + *(generic32_t *) NULL) = argument_1.member_0.offset_3; var_66 = var_101; var_67 = var_72 + 1; loop_state_var = 2; break; } bool var_112 = false; switch (loop_state_var) { case 0: { var_112 = true; break; } break; case 1: { loop_state_var = 1; var_112 = true; break; } break; case 2: { *(generic32_t *) ((var_67 << 3) + *(generic32_t *) NULL) = var_66; *(generic32_t *) ((var_67 << 3) + *(generic32_t *) NULL + 4) = stack.offset_172; var_20 = var_25 - 4; var_21 = 16; if (stack.offset_144) { var_112 = true; break; } *(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) = var_67; var_64 = !stack.offset_96; if (!(var_2 < *(generic32_t *) NULL)) { if (var_64) { loop_state_var = 1; var_112 = true; break; } var_20 = var_25 - 4; var_21 = 16; if (stack.offset_100) { var_112 = true; break; } loop_state_var = 1; var_112 = true; break; } var_65 = !stack.offset_96; while (true) { if (!(var_65)) { var_63 = function_0x402ee3_Code_x86(); if (var_63.offset_0) { loop_state_var = 1; break; } if (!stack.offset_156) { var_2 = var_2 + 1; *(generic32_t *) ((var_2 << 2) + *(generic32_t *) NULL) = var_67; var_65 = !stack.offset_96; if (var_2 < *(generic32_t *) NULL) { continue; } var_64 = !stack.offset_96; loop_state_var = 2; break; } } var_20 = var_25 - 4; var_21 = 16; loop_state_var = 0; break; } switch (loop_state_var) { case 0: { var_112 = true; break; } break; case 1: { loop_state_var = 1; var_112 = true; break; } break; case 2: { if (var_64) { loop_state_var = 1; var_112 = true; break; } var_20 = var_25 - 4; var_21 = 16; if (stack.offset_100) { var_112 = true; break; } loop_state_var = 1; var_112 = true; break; } break; } if (var_112){ break;} } break; } if (var_112){ break;} } } struct_709 var_113; var_113 = function_0x40367f_Code_x86(); if (!var_113.offset_0) { continue; } } loop_state_var = 1; break; } if (loop_state_var == 1) { return; } *(generic32_t *) (var_20 - 4) = var_21; } return; } *(generic32_t *) (var_20 - 4) = var_21; } } } _ABI(Microsoft_x86_cdecl) struct_729 function_0x40487a_Code_x86(void) { struct_729 var_0; *(generic32_t *) NULL = 0; var_0.offset_0 = 0; var_0.offset_4 = 0; return var_0; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x4048bb_Code_x86(generic32_t *argument_0) { generic32_t *var_0; var_0 = argument_0; *argument_0 = *(generic32_t *) NULL; return 0; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x4048df_Code_x86(generic32_t argument_0, generic32_t *argument_1) { generic32_t var_0; generic32_t *var_1; generic32_t var_2; var_0 = argument_0; var_1 = argument_1; *(generic32_t *) (revng_undefined_local_sp() - 4) = 0; *var_1 = 0; var_2 = 0; if (var_0) { *(generic32_t *) (revng_undefined_local_sp() - 16) = 16; var_2 = 16; } return var_2; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x404944_Code_x86(union_459 argument_0, generic32_t argument_1, generic32_t argument_2, generic32_t *argument_3) { struct_426 stack; struct_720 var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; var_1 = argument_1; var_2 = argument_2; var_3 = argument_3; stack.offset_0 = argument_3; var_0 = function_0x403c8a_Code_x86((generic32_t *) var_4); if (!var_0.offset_0) { if (!*(generic32_t *) (*(generic32_t *) &argument_0 + 4)) { *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = 16; } else { generic32_t var_5; generic32_t var_6; *(generic32_t *) (*(generic32_t *) &argument_0 + 4) = *(generic32_t *) (*(generic32_t *) &argument_0 + 4) - 1; var_6 = *(generic32_t *) *(generic32_t *) &argument_0 + 1; argument_0.member_0.offset_3 = *(generic8_t *) *(generic32_t *) *(generic32_t *) &argument_0; *(generic32_t *) *(generic32_t *) &argument_0 = var_6; var_5 = *(generic32_t *) &argument_0 + 4; if (*(generic8_t *) *(generic32_t *) *(generic32_t *) &argument_0) { struct_692 var_7; var_7 = function_0x402ee3_Code_x86(); if (var_7.offset_0) { return; } if (!(stack.offset_24 < var_2)) { *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = 16; return; } var_6 = *(generic32_t *) ((stack.offset_24 << 3) + var_1); var_5 = (stack.offset_24 << 3) + var_1 + 4; } stack.offset_20 = *(generic32_t *) var_5; if (!stack.offset_28) { *(generic32_t *) NULL = 0; } else { generic32_t var_8; var_8 = ((rawfunction_235 *) *(generic32_t *) var_3)(stack.offset_28 << 3); *(generic32_t *) NULL = var_8; if (!var_8) { *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = 2; return; } } generic32_t var_9; var_3 = 0; var_9 = var_6; if (stack.offset_28) { generic32_t var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; var_10 = 0; var_11 = 0; var_12 = *(generic32_t *) NULL; var_13 = var_6; while (true) { generic32_t var_14; if (!((0x80 >> (var_11 & 0x7)) & *(generic8_t *) (*(generic32_t *) NULL + (var_11 >> 3)))) { *(generic32_t *) var_12 = 0; *(generic32_t *) (*(generic32_t *) NULL + 4 + (var_10 << 3)) = 0; var_14 = var_13; } else { if (!(stack.offset_20 > 7)) { *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = 16; return; } stack.offset_20 = stack.offset_20 - 8; *(generic32_t *) var_12 = *(generic32_t *) var_13; *(generic32_t *) (*(generic32_t *) NULL + 4 + (var_10 << 3)) = *(generic32_t *) (var_13 + 4); var_14 = var_13 + 8; } var_11 = var_3 + 1; var_3 = var_11; var_12 = var_12 + 8; var_10 = var_10 + 1; if (var_11 < stack.offset_28) { continue; } var_9 = var_14; break; } } if (!argument_0.member_0.offset_3) { *(generic32_t *) *(generic32_t *) &argument_0 = var_9; *(generic32_t *) (*(generic32_t *) &argument_0 + 4) = stack.offset_20; } } } } _ABI(Microsoft_x86_cdecl) struct_734 function_0x404a4b_Code_x86(generic32_t argument_0, generic32_t *argument_1, generic32_t *argument_2, generic32_t *argument_3, generic32_t *argument_4, generic32_t *argument_5, union_465 argument_6, generic32_t argument_7) { struct_427 stack; generic32_t var_0; generic32_t var_1; generic32_t *var_2; generic32_t *var_3; generic32_t *var_4; generic32_t *var_5; generic32_t *var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; struct_734 var_10; var_1 = argument_0; var_2 = argument_1; var_3 = argument_2; var_4 = argument_3; var_5 = argument_4; var_6 = argument_5; var_7 = argument_7; var_0 = var_1; stack.offset_20 = var_0 << 2; *var_5 = 0; var_1 = 0; *argument_5 = 0; if (*(generic32_t *) ((var_0 << 2) + *(generic32_t *) NULL) == (pointer_or_number32_t) -1) { generic32_t var_11; generic32_t var_12; artificial_struct_returned_by_rawfunction_236 var_13; var_9 = *var_3; var_13 = ((rawfunction_236 *) *(generic32_t *) (*(generic32_t *) &argument_6 + 4))(var_9); var_12 = var_13.register_ebx; var_11 = var_13.register_esi; *var_2 = *var_2 | var_12; *(generic32_t *) var_11 = 0; *var_4 = 0; var_8 = 0; } else { struct_752 var_14; generic32_t var_15; generic32_t var_16; generic32_t var_17; generic32_t var_18; generic32_t var_19; struct_696 var_20; generic32_t var_21; generic32_t var_22; generic32_t var_23; generic32_t var_24; generic32_t var_25; generic32_t var_26; generic32_t var_27; generic32_t var_28; generic32_t var_29; generic32_t *var_30; generic32_t var_31; generic32_t var_32; generic32_t var_33; generic32_t var_34; generic32_t var_35; generic32_t var_36; artificial_struct_returned_by_rawfunction_237 var_37; artificial_struct_returned_by_rawfunction_238 var_38; if (!*var_3) { var_20 = function_0x403031_Code_x86(); stack.offset_12 = var_20.offset_0; if (var_20.offset_4) { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 2; var_8 = 2; var_9 = var_20.offset_4; var_10.offset_0 = var_8; var_10.offset_4 = var_9; return var_10; } *var_2 = *(generic32_t *) ((var_0 << 2) + *(generic32_t *) NULL); var_37 = ((rawfunction_237 *) *(generic32_t *) (*(generic32_t *) &argument_6 + 4))(*var_3, undef(generic32_t)); var_19 = var_37.register_ebx; var_35 = var_19; var_18 = var_37.register_esi; var_36 = var_18; *var_3 = 0; *var_4 = stack.offset_12; if (stack.offset_12) { var_38 = ((rawfunction_238 *) *(generic32_t *) *(generic32_t *) &argument_6)(); var_17 = var_38.register_eax; var_16 = var_38.register_ebx; var_35 = var_16; var_15 = var_38.register_esi; var_36 = var_15; *var_3 = var_17; var_28 = 2; var_29 = stack.offset_12; if (!var_17) { var_27 = var_29; var_1 = var_28; var_9 = var_27; var_8 = var_1; var_10.offset_0 = var_8; var_10.offset_4 = var_9; return var_10; } } *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_7; *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = stack.offset_12; *(generic32_t *) ((pointer_or_number32_t) &stack - 12) = *var_3; *(generic32_t *) ((pointer_or_number32_t) &stack - 16) = *(generic32_t *) (var_36 + 68); *(generic32_t *) ((pointer_or_number32_t) &stack - 20) = *(generic32_t *) (var_36 + 64); *(generic32_t *) ((pointer_or_number32_t) &stack - 24) = stack.offset_28; var_14 = function_0x404e36_Code_x86(var_21, var_22, var_23, var_24, var_25, (struct_574 *) var_26); var_27 = var_14.offset_4; var_1 = var_14.offset_0; if (var_14.offset_0) { var_9 = var_27; var_8 = var_1; var_10.offset_0 = var_8; var_10.offset_4 = var_9; return var_10; } var_31 = var_5; var_30 = &stack.offset_28; var_32 = (pointer_or_number32_t) &stack - 24; var_33 = var_35; var_34 = var_36; } else { if (*var_2 == *(generic32_t *) ((var_0 << 2) + *(generic32_t *) NULL)) { var_30 = &stack.offset_28; var_31 = var_5; var_32 = &stack; var_33 = *(generic32_t *) ((var_0 << 2) + *(generic32_t *) NULL); } else { var_20 = function_0x403031_Code_x86(); stack.offset_12 = var_20.offset_0; if (var_20.offset_4) { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 2; var_8 = 2; var_9 = var_20.offset_4; var_10.offset_0 = var_8; var_10.offset_4 = var_9; return var_10; } *var_2 = *(generic32_t *) ((var_0 << 2) + *(generic32_t *) NULL); var_37 = ((rawfunction_237 *) *(generic32_t *) (*(generic32_t *) &argument_6 + 4))(*var_3, undef(generic32_t)); var_19 = var_37.register_ebx; var_35 = var_19; var_18 = var_37.register_esi; var_36 = var_18; *var_3 = 0; *var_4 = stack.offset_12; if (stack.offset_12) { var_38 = ((rawfunction_238 *) *(generic32_t *) *(generic32_t *) &argument_6)(); var_17 = var_38.register_eax; var_16 = var_38.register_ebx; var_35 = var_16; var_15 = var_38.register_esi; var_36 = var_15; *var_3 = var_17; var_28 = 2; var_29 = stack.offset_12; if (!var_17) { var_27 = var_29; var_1 = var_28; var_9 = var_27; var_8 = var_1; var_10.offset_0 = var_8; var_10.offset_4 = var_9; return var_10; } } *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_7; *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = stack.offset_12; *(generic32_t *) ((pointer_or_number32_t) &stack - 12) = *var_3; *(generic32_t *) ((pointer_or_number32_t) &stack - 16) = *(generic32_t *) (var_36 + 68); *(generic32_t *) ((pointer_or_number32_t) &stack - 20) = *(generic32_t *) (var_36 + 64); *(generic32_t *) ((pointer_or_number32_t) &stack - 24) = stack.offset_28; var_14 = function_0x404e36_Code_x86(var_21, var_22, var_23, var_24, var_25, (struct_574 *) var_26); var_27 = var_14.offset_4; var_1 = var_14.offset_0; if (var_14.offset_0) { var_9 = var_27; var_8 = var_1; var_10.offset_0 = var_8; var_10.offset_4 = var_9; return var_10; } var_31 = var_5; var_30 = &stack.offset_28; var_32 = (pointer_or_number32_t) &stack - 24; var_33 = var_35; var_34 = var_36; } } stack.offset_24 = *(generic32_t *) ((var_0 << 3) + *(generic32_t *) (var_34 + 76)); *var_30 = *(generic32_t *) ((var_0 << 3) + *(generic32_t *) (var_34 + 76) + 4); *(generic32_t *) var_31 = stack.offset_24 - *(generic32_t *) ((*(generic32_t *) ((var_33 << 2) + *(generic32_t *) (var_34 + 116)) << 3) + *(generic32_t *) (var_34 + 76)); *var_6 = *(generic32_t *) ((var_0 << 3) + *(generic32_t *) (var_34 + 76) + 8) - stack.offset_24; if (*(generic32_t *) ((var_0 << 3) + *(generic32_t *) (var_34 + 76) + 8) - stack.offset_24 + *(generic32_t *) var_31 > *(generic32_t *) *(generic32_t *) ((pointer_or_number32_t) &(&stack)[1].offset_12 + 4)) { *(generic32_t *) (var_32 - 4) = 11; var_8 = 11; var_9 = *(generic32_t *) ((var_0 << 3) + *(generic32_t *) (var_34 + 76) + 8) - stack.offset_24; var_10.offset_0 = var_8; var_10.offset_4 = var_9; return var_10; } var_27 = *(generic32_t *) ((var_0 << 3) + *(generic32_t *) (var_34 + 76) + 8) - stack.offset_24; if (*(generic32_t *) (var_34 + 84)) { var_27 = *(generic32_t *) ((var_0 << 3) + *(generic32_t *) (var_34 + 76) + 8) - stack.offset_24; if (((0x80 >> (var_0 & 0x7)) & *(generic8_t *) (*(generic32_t *) (var_34 + 84) + (var_0 >> 3)))) { generic32_t var_39; var_39 = function_0x407169_Code_x86(); var_29 = stack.offset_20; var_27 = var_29; var_28 = 3; if (var_39 != *(generic32_t *) (var_27 + *(generic32_t *) (var_34 + 88))) { var_27 = var_29; var_1 = var_28; } } } var_9 = var_27; var_8 = var_1; } var_10.offset_0 = var_8; var_10.offset_4 = var_9; return var_10; } _ABI(Microsoft_x86_cdecl) void function_0x404bb5_Code_x86(struct_514 *argument_0) { struct_514 *var_0; var_0 = argument_0; if (argument_0) { generic32_t var_1; var_1 = lshift(*(generic32_t *) (*(generic32_t *) NULL + 4) - *(generic32_t *) *(generic32_t *) NULL, 4294967272); if ((*(generic32_t *) (*(generic32_t *) NULL + 4) - *(generic32_t *) *(generic32_t *) NULL)) { generic32_t var_2; generic32_t var_3; struct_514 *var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; var_5 = (*(generic32_t *) *(generic32_t *) NULL << 1) + *(generic32_t *) NULL - (number32_t) argument_0; var_2 = 0; var_3 = 16; var_4 = argument_0; var_6 = argument_0; var_7 = argument_0; var_8 = *(generic32_t *) (*(generic32_t *) NULL + 4) - *(generic32_t *) *(generic32_t *) NULL; generic32_t var_9; generic8_t var_10; do { generic32_t var_11; var_11 = var_5; var_9 = (var_7 & 0xFFFF0000) | *(generic16_t *) ((*(generic32_t *) *(generic32_t *) NULL << 1) + *(generic32_t *) NULL + (var_2 << 1)); ((struct_514 *) var_6)->offset_0 = *(generic16_t *) ((*(generic32_t *) *(generic32_t *) NULL << 1) + *(generic32_t *) NULL + (var_2 << 1)); switch ((number32_t) var_3) { case 32: { var_11 = var_4; } break; case 16: { var_11 = var_5 > ~(generic32_t) var_4; } break; case 48: { break; } break; default: { var_11 = 0; } break; } var_8 = var_8 - 1; var_5 = var_8; var_10 = *(generic32_t *) (*(generic32_t *) NULL + 4) + ~*(generic32_t *) *(generic32_t *) NULL == var_2; var_2 = var_2 + 1; var_6 = &((struct_514 *) var_6)->offset_2; var_3 = 32; var_7 = var_9; } while (!(var_10)); } } } _ABI(Microsoft_x86_cdecl) struct_737 function_0x404bef_Code_x86(void) { struct_737 var_0; *(generic32_t *) NULL = 0; return var_0; } _ABI(Microsoft_x86_cdecl) struct_739 function_0x404bf7_Code_x86(void) { struct_739 var_0; *(generic32_t *) NULL = 0; *(generic32_t *) (revng_undefined_local_sp() - 12) = 1; var_0.offset_0 = 1; return var_0; } _ABI(Microsoft_x86_cdecl) struct_741 function_0x404c26_Code_x86(void) { struct_741 var_0; ((rawfunction_240 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); *(generic32_t *) NULL = 0; var_0.offset_4 = *(generic32_t *) NULL; return var_0; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x404c3b_Code_x86(void) { generic32_t var_0; *(generic32_t *) (revng_undefined_local_sp() - 4) = 0; function_0x404c43_Code_x86(var_0); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x404c43_Code_x86(generic32_t argument_0) { struct_429 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; var_3 = argument_0; stack.offset_24 = 0; stack.offset_20 = 128; var_2 = !argument_0 ? 3 : 2; stack.offset_16 = var_2; stack.offset_12 = 0; var_1 = !argument_0 ? 2147483648 : 1073741824; stack.offset_8 = 1; stack.offset_4 = var_1; var_0 = ((cabifunction_839 *) segment_1.offset_44)(); *(generic32_t *) NULL = var_0; if (var_0 == (pointer_or_number32_t) -1) { ((cabifunction_840 *) segment_1.offset_116)(); revng_abort("A longjmp was taken"); } else { revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x404c8a_Code_x86(void) { generic32_t var_0; *(generic32_t *) (revng_undefined_local_sp() - 4) = 1; function_0x404c43_Code_x86(var_0); } _ABI(Microsoft_x86_cdecl) void function_0x404c92_Code_x86(void) { struct_430 stack; if (*(generic32_t *) NULL == (pointer_or_number32_t) -1) { revng_abort("A longjmp was taken"); } else { generic32_t var_0; generic32_t var_1; artificial_struct_returned_by_rawfunction_243 var_2; stack.offset_0 = *(generic32_t *) NULL; var_2 = ((rawfunction_243 *) segment_1.offset_40)(); var_1 = var_2.register_eax; var_0 = var_2.register_esi; if (!var_1) { ((cabifunction_841 *) segment_1.offset_116)(); return; } *(generic32_t *) var_0 = 4294967295; revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_cdecl) generic32_t function_0x404cb6_Code_x86(generic32_t *argument_0) { generic32_t var_0; var_0 = argument_0; *argument_0 = 0; if (*argument_0) { generic32_t var_1; generic32_t var_2; generic32_t var_3; var_3 = revng_undefined_local_sp() - 24; var_1 = 0; var_2 = *argument_0; while (true) { generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; artificial_struct_returned_by_rawfunction_246 var_9; *(generic32_t *) var_3 = 0; var_0 = 0; *(generic32_t *) (revng_undefined_local_sp() - 28 + var_1 * (number32_t) -20) = revng_undefined_local_sp() + 4; *(generic32_t *) (revng_undefined_local_sp() - 32 + var_1 * (number32_t) -20) = llvm_umin_i32(var_2, 4194304); *(generic32_t *) (revng_undefined_local_sp() - 36 + var_1 * (number32_t) -20) = *(generic32_t *) (revng_undefined_local_sp() - 8); *(generic32_t *) (revng_undefined_local_sp() - 40 + var_1 * (number32_t) -20) = *(generic32_t *) var_8; var_9 = ((rawfunction_246 *) segment_1.offset_36)(); var_7 = var_9.register_eax; var_6 = var_9.register_ebx; var_5 = var_9.register_esi; var_4 = var_9.register_edi; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) + var_0; *(generic32_t *) var_5 = *(generic32_t *) var_5 + var_0; if (!var_7) { ((cabifunction_842 *) segment_1.offset_116)(); } else { if (var_0) { generic32_t var_10; var_10 = lshift(var_4 - var_0, 4294967272); var_1 = var_1 + 1; var_8 = var_6; var_2 = var_4 - var_0; var_3 = var_3 - 20; if ((var_4 - var_0)) { continue; } } } break; } } return 0; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x404d18_Code_x86(generic32_t *argument_0) { generic32_t var_0; var_0 = argument_0; *argument_0 = 0; if (*argument_0) { generic32_t var_1; generic32_t var_2; generic32_t var_3; var_3 = revng_undefined_local_sp() - 24; var_1 = 0; var_2 = *argument_0; while (true) { generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; artificial_struct_returned_by_rawfunction_248 var_9; *(generic32_t *) var_3 = 0; var_0 = 0; *(generic32_t *) (revng_undefined_local_sp() - 28 + var_1 * (number32_t) -20) = revng_undefined_local_sp() + 4; *(generic32_t *) (revng_undefined_local_sp() - 32 + var_1 * (number32_t) -20) = llvm_umin_i32(var_2, 4194304); *(generic32_t *) (revng_undefined_local_sp() - 36 + var_1 * (number32_t) -20) = *(generic32_t *) (revng_undefined_local_sp() - 8); *(generic32_t *) (revng_undefined_local_sp() - 40 + var_1 * (number32_t) -20) = *(generic32_t *) var_8; var_9 = ((rawfunction_248 *) segment_1.offset_52)(); var_7 = var_9.register_eax; var_6 = var_9.register_ebx; var_5 = var_9.register_esi; var_4 = var_9.register_edi; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) + var_0; *(generic32_t *) var_5 = *(generic32_t *) var_5 + var_0; if (!var_7) { ((cabifunction_843 *) segment_1.offset_116)(); } else { if (var_0) { generic32_t var_10; var_10 = lshift(var_4 - var_0, 4294967272); var_1 = var_1 + 1; var_8 = var_6; var_2 = var_4 - var_0; var_3 = var_3 - 20; if ((var_4 - var_0)) { continue; } } } break; } } return 0; } _ABI(Microsoft_x86_cdecl) struct_749 function_0x404d7a_Code_x86(generic32_t argument_0) { struct_431 stack; struct_793 var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; struct_749 var_5; var_1 = argument_0; stack.offset_12 = 32; var_0 = function_0x407210_Code_x86(); stack.offset_28 = var_0.offset_0; var_4 = 0; switch ((number32_t) var_1) { case 0: case 1: case 2: { switch ((number32_t) var_1) { case 1: case 2: { var_4 = var_1; } break; } generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; artificial_struct_returned_by_rawfunction_250 var_10; stack.offset_12 = var_4; stack.offset_8 = &stack.offset_28; stack.offset_4 = *(generic32_t *) NULL; stack.offset_0 = *(generic32_t *) NULL; var_10 = ((rawfunction_250 *) segment_1.offset_80)((generic32_t) var_0.offset_4); var_7 = var_10.register_eax; var_8 = var_7; var_6 = var_10.register_esi; var_9 = var_6; if (var_8 == (pointer_or_number32_t) -1) { generic32_t var_11; generic32_t var_12; generic32_t var_13; artificial_struct_returned_by_rawfunction_251 var_14; var_14 = ((rawfunction_251 *) segment_1.offset_116)((generic32_t) var_0.offset_4); var_13 = var_14.register_eax; var_2 = var_13; var_12 = var_14.register_esi; var_9 = var_12; var_11 = var_14.register_edi; var_8 = var_11; var_3 = var_0.offset_4; if (var_2) { var_5.offset_0 = var_2; var_5.offset_4 = var_3; return var_5; } } *(generic32_t *) var_9 = var_8; *(union_604 **) (var_9 + 4) = stack.offset_28; var_2 = 0; var_3 = 0; } break; default: { stack.offset_12 = 87; var_2 = 87; var_3 = var_0.offset_4; } break; } var_5.offset_0 = var_2; var_5.offset_4 = var_3; return var_5; } _ABI(Microsoft_x86_cdecl) void function_0x404dee_Code_x86(void) { *(cabifunction_860 **) NULL = function_0x404e19_Code_x86; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x404dfc_Code_x86(generic32_t argument_0) { struct_432 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; var_1 = argument_0; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = argument_0; var_0 = function_0x404cb6_Code_x86((generic32_t *) var_2); *(generic32_t *) NULL = var_0; revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) struct_859 function_0x404e19_Code_x86(generic32_t argument_0) { struct_433 stack; struct_749 var_0; generic32_t var_1; generic32_t var_2; var_1 = argument_0; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = argument_0; var_0 = function_0x404d7a_Code_x86(var_2); *(generic32_t *) NULL = var_0.offset_0; revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) struct_752 function_0x404e36_Code_x86(generic32_t argument_0, generic32_t argument_1, generic32_t argument_2, generic32_t argument_3, generic32_t argument_4, struct_574 *argument_5) { struct_416 stack; struct_690 var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; struct_574 *var_6; generic32_t var_7; generic32_t var_8; var_1 = argument_0; var_2 = argument_1; var_3 = argument_2; var_4 = argument_3; var_5 = argument_4; var_6 = argument_5; stack.offset_128 = *(generic32_t *) NULL + *(generic32_t *) *(generic32_t *) NULL; stack.offset_132 = *(generic32_t *) (*(generic32_t *) NULL + 4) - *(generic32_t *) *(generic32_t *) NULL; var_0 = function_0x402bbc_Code_x86(); var_7 = var_0.offset_0; var_8 = var_0.offset_4; if (!var_7) { generic32_t var_9; var_9 = var_0.offset_4; if (!stack.offset_132) { var_9 = stack.offset_136; if (stack.offset_24 == *(generic8_t *) (var_9 + *(generic32_t *) NULL)) { struct_696 var_10; var_10 = function_0x403031_Code_x86(); var_9 = var_10.offset_4; if (var_5 == var_10.offset_0 && !var_9) { struct_754 var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; generic32_t var_15; generic32_t var_16; generic32_t var_17; generic32_t var_18; generic32_t var_19; generic32_t var_20; generic32_t var_21; stack.offset_116 = 0; stack.offset_120 = 0; stack.offset_124 = 0; *(generic32_t **) ((pointer_or_number32_t) &stack - 4) = &stack.offset_116; *(struct_574 **) ((pointer_or_number32_t) &stack - 8) = var_6; *(generic32_t *) ((pointer_or_number32_t) &stack - 12) = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 16) = var_4; *(generic32_t *) ((pointer_or_number32_t) &stack - 20) = var_3; *(generic32_t *) ((pointer_or_number32_t) &stack - 24) = var_2; *(generic32_t *) ((pointer_or_number32_t) &stack - 28) = var_1; *(generic32_t *) ((pointer_or_number32_t) &stack - 32) = (*(generic32_t *) *(generic32_t *) NULL << 3) + *(generic32_t *) NULL; *(generic32_t *) ((pointer_or_number32_t) &stack - 36) = (*(generic32_t *) *(generic32_t *) NULL << 3) + *(generic32_t *) NULL; var_11 = function_0x404f5e_Code_x86(var_12, (struct_588 *) var_13, var_14, var_15, var_16, var_17, var_18, (generic32_t *) var_19, (struct_600 *) var_20); var_1 = var_11.offset_0; var_3 = 3; var_21 = &stack.offset_116; generic32_t var_22; generic32_t var_23; generic32_t var_24; generic32_t var_25; generic32_t var_26; artificial_struct_returned_by_rawfunction_252 var_27; do { var_23 = *(generic32_t *) var_21; var_27 = ((rawfunction_252 *) *(generic32_t *) ((pointer_or_number32_t) var_6 + 4))(var_23, var_26); var_25 = var_27.register_ebx; var_24 = var_27.register_esi; var_26 = var_24; var_22 = var_3; var_3 = var_22 - 1; var_21 = var_25 + 4; } while (var_22 != 1); generic32_t var_28; var_28 = var_23; if (!var_1) { var_28 = 0; if (*(generic32_t *) (var_24 + 12)) { var_28 = *(generic32_t *) (var_24 + 12); if (((0x80 >> (stack.offset_136 & 0x7)) & *(generic8_t *) (*(generic32_t *) (var_24 + 12) + (stack.offset_136 >> 3)))) { generic32_t var_29; var_28 = var_5; var_29 = function_0x407169_Code_x86(); if (var_29 != *(generic32_t *) *(generic32_t *) (var_24 + 16)) { var_1 = 3; var_28 = var_5; } } } } var_8 = var_28; var_7 = var_1; } else { var_8 = var_9; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 11; var_7 = 11; } } else { var_8 = var_9; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 11; var_7 = 11; } } else { var_8 = var_9; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 11; var_7 = 11; } } struct_752 var_30; var_30.offset_0 = var_7; var_30.offset_4 = var_8; return var_30; } _ABI(Microsoft_x86_cdecl) struct_754 function_0x404f5e_Code_x86(generic32_t argument_0, struct_588 *argument_1, generic32_t argument_2, generic32_t argument_3, generic32_t argument_4, generic32_t argument_5, generic32_t argument_6, generic32_t *argument_7, struct_600 *argument_8) { struct_434 stack; uint64_t loop_state_var; struct_762 var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t *var_8; struct_600 *var_9; generic32_t var_10; generic32_t var_11; var_1 = argument_0; var_2 = argument_1; var_3 = argument_2; var_4 = argument_3; var_5 = argument_4; var_6 = argument_5; var_7 = argument_6; var_8 = argument_7; var_9 = argument_8; stack.offset_624.member_1 = 0; stack.offset_628 = 0; stack.offset_644 = 0; stack.offset_636 = 0; var_0 = function_0x40540e_Code_x86(); var_10 = var_0.offset_0; var_11 = var_0.offset_4; if (!var_10) { stack.offset_652 = 0; var_10 = 0; var_11 = var_0.offset_4; if (*(generic32_t *) NULL) { generic32_t var_12; struct_434 *var_13; generic32_t var_14; var_12 = var_2; var_13 = &stack; var_14 = 0; while (true) { struct_760 var_15; generic32_t var_16; generic32_t var_17; generic32_t var_18; generic32_t var_19; generic32_t var_20; generic32_t var_21; generic32_t var_22; generic32_t var_23; generic32_t var_24; generic32_t var_25; generic32_t var_26; generic32_t var_27; generic32_t *var_28; struct_606 var_29; stack.offset_620 = var_14 * 12 + (pointer_or_number32_t) var_28 + 56; var_15 = function_0x4053fb_Code_x86(); if (var_15.offset_0) { generic32_t var_30; stack.offset_648 = var_6; var_2 = var_7; var_30 = 0; if (*stack.offset_640 == 4) { generic32_t var_31; var_31 = stack.offset_652; stack.offset_604 = 0; *(generic32_t *) ((pointer_or_number32_t) var_13 - 4) = 2; stack.offset_596 = 3; stack.offset_600 = 2; if (var_31 < 2) { var_2 = *(generic32_t *) ((var_14 << 3) + var_1); var_16 = 2; var_17 = *(generic32_t *) ((var_31 << 3) + var_1 + 4); if (*(generic32_t *) ((var_31 << 3) + var_1 + 4)) { var_10 = var_16; var_11 = var_17; break; } generic32_t var_32; var_32 = ((rawfunction_253 *) *var_8)(*(generic32_t *) ((var_14 << 3) + var_1)); var_24 = *(generic32_t *) ((var_14 << 3) + var_1); if (!(var_32 != 0 || !*(generic32_t *) ((var_14 << 3) + var_1))) { var_11 = var_24; *(generic32_t *) ((pointer_or_number32_t) var_13 - 4) = 2; var_10 = 2; break; } generic32_t var_33; var_33 = stack.offset_652 * (number32_t) -4; stack.offset_648 = var_32; *(generic32_t *) ((pointer_or_number32_t) var_9 + var_33 + 4) = var_32; *(generic32_t *) ((pointer_or_number32_t) &stack.offset_652 + 4 + var_33 * 1 - 28) = *(generic32_t *) ((var_14 << 3) + var_1); var_30 = *(generic32_t *) ((pointer_or_number32_t) &stack.offset_652 + 4 + var_31 * 4 - 60); } else { generic32_t var_34; generic32_t var_35; var_35 = lshift(var_31 - 2, 4294967272); var_34 = lshift((var_31 ^ 0x2) & (var_31 ^ (var_31 - 2)), 4294967276); var_27 = *(generic32_t *) ((var_31 << 3) + var_1 + 4); if (var_31 != 2) { var_26 = var_27; var_25 = (pointer_or_number32_t) var_13 - 4; var_11 = var_26; *(generic32_t *) var_25 = 4; var_10 = 4; break; } if (*(generic32_t *) ((var_31 << 3) + var_1 + 4) != 0 || *(generic32_t *) ((var_14 << 3) + var_1) > var_7) { *(generic32_t *) ((pointer_or_number32_t) var_13 - 4) = 5; var_10 = 5; var_11 = *(generic32_t *) ((var_31 << 3) + var_1 + 4); break; } var_2 = *(generic32_t *) ((var_14 << 3) + var_1); stack.offset_644 = *(generic32_t *) ((var_14 << 3) + var_1); stack.offset_648 = var_6 - *(generic32_t *) ((var_14 << 3) + var_1) + var_7; stack.offset_636 = var_6 - *(generic32_t *) ((var_14 << 3) + var_1) + var_7; var_30 = *(generic32_t *) ((pointer_or_number32_t) &stack.offset_652 + 4 + var_31 * 4 - 60); } } struct_765 var_36; *(generic32_t *) ((pointer_or_number32_t) var_13 - 4) = *(generic32_t *) ((var_30 << 3) + var_12 + 4) + var_5 + (*(generic32_t *) ((var_30 << 3) + var_12) + var_4 < var_4); *(generic32_t *) ((pointer_or_number32_t) var_13 - 8) = *(generic32_t *) ((var_30 << 3) + var_12) + var_4; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_36 = function_0x4054e6_Code_x86(0, 0); var_16 = var_36.offset_0; var_17 = var_36.offset_4; if (var_16) { var_10 = var_16; var_11 = var_17; break; } generic32_t var_37; generic32_t var_38; bool var_39 = false; switch ((number32_t) stack.offset_620->offset_4) { case 0: { var_22 = (pointer_or_number32_t) var_13 - 8; var_23 = var_36.offset_4; if (!(*(generic32_t *) ((var_30 << 3) + var_12 + 8) - *(generic32_t *) ((var_30 << 3) + var_12) == var_2 && *(generic32_t *) ((var_30 << 3) + var_12 + 12) == *(generic32_t *) ((var_30 << 3) + var_12 + 4) + (*(generic32_t *) ((var_30 << 3) + var_12 + 8) < *(generic32_t *) ((var_30 << 3) + var_12)))) { var_20 = var_22; var_21 = var_23; var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; var_39 = true; break; } struct_758 var_40; *(generic32_t *) ((pointer_or_number32_t) var_13 - 12) = *(generic32_t *) ((var_30 << 3) + var_12 + 12) - (*(generic32_t *) ((var_30 << 3) + var_12 + 4) + (*(generic32_t *) ((var_30 << 3) + var_12 + 8) < *(generic32_t *) ((var_30 << 3) + var_12))); var_37 = (pointer_or_number32_t) var_13 - 16; *(generic32_t *) var_37 = *(generic32_t *) ((var_30 << 3) + var_12 + 8) - *(generic32_t *) ((var_30 << 3) + var_12); revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_40 = function_0x40537c_Code_x86(0, var_29); var_38 = &var_40; var_19 = var_37; var_18 = *(generic32_t *) (var_38 + 4); var_17 = var_18; var_16 = *(generic32_t *) var_38; if (var_16) { var_10 = var_16; var_11 = var_17; var_39 = true; break; } var_17 = var_18; var_14 = stack.offset_652 + 1; stack.offset_652 = var_14; var_28 = stack.offset_640; var_16 = 0; if (var_14 < *var_28) { continue; } var_10 = var_16; var_11 = var_17; } break; case 196865: { struct_756 var_41; *(generic32_t **) ((pointer_or_number32_t) var_13 - 12) = var_8; *(generic32_t *) ((pointer_or_number32_t) var_13 - 16) = var_2; *(generic32_t *) ((pointer_or_number32_t) var_13 - 20) = stack.offset_648; *(generic32_t *) ((pointer_or_number32_t) var_13 - 24) = var_3; *(generic32_t *) ((pointer_or_number32_t) var_13 - 28) = *(generic32_t *) ((var_30 << 3) + var_12 + 12) - (*(generic32_t *) ((var_30 << 3) + var_12 + 4) + (*(generic32_t *) ((var_30 << 3) + var_12 + 8) < *(generic32_t *) ((var_30 << 3) + var_12))); var_37 = (pointer_or_number32_t) var_13 - 32; *(generic32_t *) var_37 = *(generic32_t *) ((var_30 << 3) + var_12 + 8) - *(generic32_t *) ((var_30 << 3) + var_12); revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_41 = function_0x405288_Code_x86(0, 0, (struct_605 *) NULL, 0, 0, 0); var_38 = &var_41; var_19 = var_37; var_18 = *(generic32_t *) (var_38 + 4); var_17 = var_18; var_16 = *(generic32_t *) var_38; if (var_16) { var_10 = var_16; var_11 = var_17; var_39 = true; break; } var_17 = var_18; var_14 = stack.offset_652 + 1; stack.offset_652 = var_14; var_28 = stack.offset_640; var_16 = 0; if (var_14 < *var_28) { continue; } var_10 = var_16; var_11 = var_17; } break; default: { var_25 = (pointer_or_number32_t) var_13 - 12; var_26 = var_36.offset_4; var_11 = var_26; *(generic32_t *) var_25 = 4; var_10 = 4; } break; } if (var_39){ break;} break; } var_27 = var_15.offset_4; if (*(generic32_t *) (var_14 * 12 + (pointer_or_number32_t) var_28 + 60) != 50528539) { var_26 = var_27; var_25 = (pointer_or_number32_t) var_13 - 4; var_11 = var_26; *(generic32_t *) var_25 = 4; var_10 = 4; break; } stack.offset_608 = *(generic32_t *) (var_12 + 8); stack.offset_612 = *(generic32_t *) (var_12 + 12); stack.offset_592 = *(generic32_t *) (var_12 + 20) - (*(generic32_t *) (var_12 + 12) + (*(generic32_t *) (var_12 + 16) - *(generic32_t *) (var_12 + 8) > ~*(generic32_t *) (var_12 + 8))); var_27 = var_15.offset_4; if (var_14 != 3) { var_26 = var_27; var_25 = (pointer_or_number32_t) var_13 - 4; var_11 = var_26; *(generic32_t *) var_25 = 4; var_10 = 4; break; } var_24 = var_15.offset_4; if (*(generic32_t *) (var_12 + 20) != *(generic32_t *) (var_12 + 12) + (*(generic32_t *) (var_12 + 16) - *(generic32_t *) (var_12 + 8) > ~*(generic32_t *) (var_12 + 8))) { var_11 = var_24; *(generic32_t *) ((pointer_or_number32_t) var_13 - 4) = 2; var_10 = 2; break; } generic32_t var_42; generic32_t var_43; artificial_struct_returned_by_rawfunction_254 var_44; var_44 = ((rawfunction_254 *) *var_8)(*(generic32_t *) (var_12 + 16) - *(generic32_t *) (var_12 + 8)); var_43 = var_44.register_eax; var_42 = var_44.register_edx; var_24 = var_42; *(generic32_t *) ((pointer_or_number32_t) var_9 + 8) = var_43; if (!(var_43 != 0 || *(generic32_t *) (var_12 + 16) == *(generic32_t *) (var_12 + 8))) { var_11 = var_24; *(generic32_t *) ((pointer_or_number32_t) var_13 - 4) = 2; var_10 = 2; break; } struct_765 var_45; *(generic32_t *) ((pointer_or_number32_t) var_13 - 4) = stack.offset_612 + var_5 + (stack.offset_608 + var_4 < var_4); *(generic32_t *) ((pointer_or_number32_t) var_13 - 8) = stack.offset_608 + var_4; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_45 = function_0x4054e6_Code_x86(0, 0); var_16 = var_45.offset_0; var_17 = var_45.offset_4; if (var_16) { var_10 = var_16; var_11 = var_17; break; } struct_758 var_46; *(generic32_t *) ((pointer_or_number32_t) var_13 - 12) = stack.offset_592; *(generic32_t *) ((pointer_or_number32_t) var_13 - 16) = *(generic32_t *) (var_12 + 16) - *(generic32_t *) (var_12 + 8); revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_46 = function_0x40537c_Code_x86(0, var_29); var_16 = var_46.offset_0; var_17 = var_46.offset_4; if (var_16) { var_10 = var_16; var_11 = var_17; break; } var_22 = (pointer_or_number32_t) var_13 - 16; var_23 = var_46.offset_4; if ((stack.offset_624.member_0 & 0x3)) { var_20 = var_22; var_21 = var_23; var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; break; } generic32_t var_47; var_47 = stack.offset_628; var_22 = (pointer_or_number32_t) var_13 - 16; var_23 = var_46.offset_4; if ((var_47 & 0x3)) { var_20 = var_22; var_21 = var_23; var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; break; } generic32_t var_48; var_48 = stack.offset_644; var_22 = (pointer_or_number32_t) var_13 - 16; var_23 = var_46.offset_4; if (var_48 + var_47 + stack.offset_624.member_1 != var_7) { var_20 = var_22; var_21 = var_23; var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; break; } generic32_t var_49; stack.offset_12 = stack.offset_636; var_17 = stack.offset_624.member_1; stack.offset_28 = stack.offset_636 + var_48; stack.offset_16 = *(generic32_t *) var_9; stack.offset_32 = *(generic32_t *) var_9 + var_17; stack.offset_20 = *(generic32_t *) ((pointer_or_number32_t) var_9 + 4); stack.offset_36 = *(generic32_t *) ((pointer_or_number32_t) var_9 + 4) + var_47; stack.offset_24 = *(generic32_t *) ((pointer_or_number32_t) var_9 + 8); stack.offset_40 = *(generic32_t *) ((pointer_or_number32_t) var_9 + 8) + (*(generic32_t *) (var_12 + 16) - *(generic32_t *) (var_12 + 8)); stack.offset_44 = var_6; stack.offset_48 = var_6 + var_7; function_0x40566b_Code_x86(); var_49 = function_0x405692_Code_x86(); var_16 = var_49; if (var_16) { var_10 = var_16; var_11 = var_17; break; } var_23 = stack.offset_12; var_22 = (pointer_or_number32_t) var_13 - 16; if (var_23 != stack.offset_28) { var_20 = var_22; var_21 = var_23; var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; break; } generic32_t var_50; generic32_t var_51; var_50 = stack.offset_12; var_51 = 0; while (true) { generic32_t var_52; var_52 = var_51; if (var_52 < (uint32_t) -1 && var_52 > 2) { loop_state_var = 1; break; } var_51 = var_52 + 1; var_50 = *(generic32_t *) ((pointer_or_number32_t) &stack.offset_16 + var_52 * 4); if (var_50 == *(generic32_t *) ((pointer_or_number32_t) &stack.offset_32 + var_52 * 4)) { continue; } var_20 = (pointer_or_number32_t) var_13 - 16; var_21 = *(generic32_t *) ((pointer_or_number32_t) &stack.offset_16 + var_52 * 4); loop_state_var = 0; break; } if (!(loop_state_var)) { var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; break; } var_22 = (pointer_or_number32_t) var_13 - 16; var_23 = var_50; if (stack.offset_44 != stack.offset_48) { var_20 = var_22; var_21 = var_23; var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; break; } var_22 = (pointer_or_number32_t) var_13 - 16; var_23 = var_50; if (stack.offset_52) { var_20 = var_22; var_21 = var_23; var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; break; } var_18 = var_50; var_19 = (pointer_or_number32_t) var_13 - 16; var_22 = (pointer_or_number32_t) var_13 - 16; var_23 = var_50; if (!stack.offset_68) { var_17 = var_18; var_14 = stack.offset_652 + 1; stack.offset_652 = var_14; var_28 = stack.offset_640; var_16 = 0; if (var_14 < *var_28) { continue; } var_10 = var_16; var_11 = var_17; break; } var_20 = var_22; var_21 = var_23; var_11 = var_21; *(generic32_t *) (var_20 - 4) = 1; var_10 = 1; break; } } } struct_754 var_53; var_53.offset_0 = var_10; var_53.offset_4 = var_11; return var_53; } _ABI(Microsoft_x86_cdecl) struct_756 function_0x405288_Code_x86(generic32_t argument_0, generic32_t argument_1, struct_605 *argument_2, generic32_t argument_3, generic32_t argument_4, generic32_t argument_5) { struct_436 stack; struct_783 var_0; generic32_t var_1; generic32_t var_2; struct_605 *var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; var_1 = argument_0; var_2 = argument_1; var_3 = argument_2; var_4 = argument_3; var_5 = argument_4; var_6 = argument_5; stack.offset_8 = argument_5; stack.offset_28 = 0; stack.offset_20 = 0; var_0 = function_0x4070c7_Code_x86(var_7, var_8); var_10 = &var_0; var_9 = ((struct_783 *) var_10)->offset_0; if (!var_9) { generic32_t var_11; generic32_t var_12; generic32_t var_13; stack.offset_28 = var_4; stack.offset_32 = var_5; var_12 = (pointer_or_number32_t) &stack - 12; function_0x405af9_Code_x86(); var_13 = var_1; var_11 = 0; generic32_t var_14; while (true) { generic32_t var_15; generic32_t var_16; generic32_t var_17; generic32_t var_18; artificial_struct_returned_by_rawfunction_255 var_19; stack.offset_120 = 0; var_17 = var_2 != 0 || var_13 > 262143 ? 262144 : var_13; var_4 = var_17; *(generic32_t *) var_12 = (pointer_or_number32_t) &(&stack)[1].offset_8 + 8; var_19 = ((rawfunction_255 *) *(generic32_t *) var_3)((generic32_t) &stack.offset_120); var_16 = var_19.register_eax; var_18 = var_16; var_15 = var_19.register_ebx; if (!var_18) { generic32_t var_20; stack.offset_116 = var_4; *(generic32_t **) ((pointer_or_number32_t) &stack - 16 + var_11 * (number32_t) -20) = &stack.offset_112; *(generic32_t *) ((pointer_or_number32_t) &stack - 20 + var_11 * (number32_t) -20) = 1; *(generic32_t **) ((pointer_or_number32_t) &stack - 24 + var_11 * (number32_t) -20) = &stack.offset_116; *(generic32_t *) ((pointer_or_number32_t) &stack - 28 + var_11 * (number32_t) -20) = stack.offset_120; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_20 = function_0x405b07_Code_x86((struct_521 *) NULL, (generic32_t *) NULL, 0, (generic32_t *) NULL); var_18 = var_20; var_4 = var_4 - stack.offset_116; var_2 = var_2 + (pointer_or_number32_t) (var_15 - stack.offset_116 > ~stack.offset_116); if (!var_18) { if (stack.offset_112 == 1) { var_14 = 0; if (var_5 == stack.offset_36 && !((var_15 - stack.offset_116) | var_2)) { break; } } else { generic32_t var_21; var_21 = var_5; if (var_5 == stack.offset_36) { var_21 = (var_15 - stack.offset_116) | var_2; var_18 = 0; if (!var_21 && stack.offset_112 == 4) { var_14 = var_18; break; } } if (!(!stack.offset_116 && stack.offset_36 == stack.offset_36)) { generic32_t var_22; generic32_t var_23; artificial_struct_returned_by_rawfunction_256 var_24; var_24 = ((rawfunction_256 *) *(generic32_t *) ((pointer_or_number32_t) var_3 + 4))(var_21); var_23 = var_24.register_eax; var_18 = var_23; var_22 = var_24.register_ebx; var_13 = var_22; var_11 = var_11 + 1; var_12 = var_12 - 20; if (!var_18) { continue; } var_14 = var_18; break; } } *(generic32_t *) ((pointer_or_number32_t) &stack - 32 + var_11 * (number32_t) -20) = 1; var_14 = 1; break; } } var_14 = var_18; break; } struct_780 var_25; var_9 = var_14; var_25 = function_0x407044_Code_x86(); var_10 = &var_25; } struct_756 var_26; var_26.offset_0 = var_9; var_26.offset_4 = *(generic32_t *) (var_10 + 4); return var_26; } _ABI(Microsoft_x86_cdecl) struct_758 function_0x40537c_Code_x86(generic32_t argument_0, struct_606 argument_1) { uint64_t loop_state_var; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; generic32_t var_11; generic32_t var_12; struct_758 var_13; var_2 = argument_0; var_6 = *(generic32_t *) &argument_1; var_9 = revng_undefined_local_sp() - 24; var_5 = var_9; var_1 = lshift(var_6, 4294967272); var_7 = argument_0; var_10 = argument_0; if (!var_6) { var_5 = var_9; var_7 = var_10; var_4 = var_11; var_8 = var_12; var_0 = lshift(var_7, 4294967272); var_3 = 0; var_6 = 0; if (!(var_7)) { var_13.offset_0 = var_3; var_13.offset_4 = var_4; return var_13; } } while (true) { generic32_t var_14; generic32_t var_15; generic32_t var_16; generic32_t var_17; var_15 = var_6; var_16 = var_7; var_17 = var_8; var_14 = 0; generic32_t var_18; generic32_t var_19; generic32_t var_20; while (true) { generic32_t var_21; var_18 = var_5 - 4 - (var_14 << 2); *(generic32_t *) &argument_1 = 262144; var_21 = lshift(var_15, 4294967272); if (!(var_15 != 0 || var_16 > 262143)) { *(generic32_t *) &argument_1 = var_16; } generic32_t var_22; generic32_t var_23; generic32_t var_24; generic32_t var_25; generic32_t var_26; generic32_t var_27; generic32_t var_28; generic32_t var_29; artificial_struct_returned_by_rawfunction_257 var_30; *(generic32_t *) var_18 = revng_undefined_local_sp() + 8; var_30 = ((rawfunction_257 *) *(generic32_t *) var_17)(var_17); var_27 = var_30.register_eax; var_28 = var_27; var_26 = var_30.register_ebx; var_25 = var_30.register_ecx; var_24 = var_30.register_edx; var_29 = var_24; var_23 = var_30.register_esi; var_22 = var_30.register_edi; if (!var_28) { if (!*(generic32_t *) &argument_1) { *(generic32_t *) (var_5 - 8 - (var_14 << 2)) = 6; var_3 = 6; var_4 = var_24; break; } generic32_t var_31; generic32_t var_32; artificial_struct_returned_by_rawfunction_258 var_33; *(generic32_t *) (var_5 - 8 - (var_14 << 2)) = *(generic32_t *) &argument_1; *(generic32_t *) (var_5 - 12 - (var_14 << 2)) = *(generic32_t *) (revng_undefined_local_sp() - 12); *(generic32_t *) (var_5 - 16 - (var_14 << 2)) = *(generic32_t *) (revng_undefined_local_sp() - 8); function_0x407250_Code_x86(); var_29 = *(generic32_t *) &argument_1; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) + var_29; var_33 = ((rawfunction_258 *) *(generic32_t *) (var_23 + 4))(0, var_23); var_32 = var_33.register_eax; var_28 = var_32; var_31 = var_33.register_ebx; var_20 = var_33.register_esi; var_19 = var_33.register_edi; if (!var_28) { generic32_t var_34; var_34 = lshift(var_31, 4294967272); var_14 = var_14 + 1; var_15 = var_31; var_16 = var_19; var_17 = var_20; if (var_31) { continue; } loop_state_var = 0; break; } } var_3 = var_28; var_4 = var_29; break; } if (!(loop_state_var)) { var_9 = var_18; var_10 = var_19; var_11 = *(generic32_t *) &argument_1; var_12 = var_20; var_5 = var_9; var_7 = var_10; var_4 = var_11; var_8 = var_12; var_0 = lshift(var_7, 4294967272); var_3 = 0; var_6 = 0; if (var_7) { continue; } } break; } var_13.offset_0 = var_3; var_13.offset_4 = var_4; return var_13; } _ABI(Microsoft_x86_cdecl) struct_760 function_0x4053fb_Code_x86(void) { struct_760 var_0; *(generic32_t *) (revng_undefined_local_sp() - 4) = 1; var_0.offset_0 = 1; return var_0; } _ABI(Microsoft_x86_cdecl) struct_762 function_0x40540e_Code_x86(void) { struct_435 stack; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 4; if (!(*(generic32_t *) NULL < 1 || *(generic32_t *) NULL > 4)) { generic32_t var_0; var_0 = function_0x4054cd_Code_x86(); if ((var_0) && (*(generic32_t *) NULL == 4)) { generic32_t var_1; var_1 = function_0x4054cd_Code_x86(); if (var_1) { generic32_t var_2; var_2 = function_0x4054cd_Code_x86(); } } } struct_762 var_3; var_3.offset_0 = 4; return var_3; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x4054cd_Code_x86(void) { generic32_t var_0; var_0 = 0; if (*(generic8_t *) NULL == '\001') { struct_760 var_1; var_1 = function_0x4053fb_Code_x86(); var_0 = 0; if (var_1.offset_0) { *(generic32_t *) (revng_undefined_local_sp() - 4) = 1; var_0 = 1; } } return var_0; } _ABI(Microsoft_x86_cdecl) struct_765 function_0x4054e6_Code_x86(generic32_t argument_0, generic32_t argument_1) { struct_415 stack; generic32_t var_0; generic32_t var_1; struct_765 var_2; var_0 = argument_0; var_1 = argument_1; stack.offset_0 = 0; stack.offset_4 = argument_0; stack.offset_8 = var_1; ((rawfunction_259 *) *(generic32_t *) NULL)((generic32_t) &stack.offset_4); var_2.offset_0 = var_1; var_2.offset_4 = &stack.offset_4; return var_2; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x405503_Code_x86(generic32_t argument_0) { generic32_t var_0; var_0 = argument_0; if (!argument_0) { revng_abort("A longjmp was taken"); } else { generic32_t var_1; *(generic32_t *) (revng_undefined_local_sp() - 20) = revng_undefined_local_sp() + 4; var_0 = argument_0; var_1 = ((rawfunction_260 *) *(generic32_t *) NULL)(undef(generic32_t), undef(generic32_t)); if (!var_1) { generic32_t var_2; generic32_t var_3; var_2 = 0; var_3 = argument_0; while (true) { generic32_t var_4; if (!(!var_0 || var_3 == var_0)) { generic32_t var_5; var_3 = var_3 - var_0; var_4 = var_4 + var_0; *(generic32_t *) (revng_undefined_local_sp() - 24 - (var_2 << 2)) = revng_undefined_local_sp() + 4; var_0 = var_3; var_5 = ((rawfunction_260 *) *(generic32_t *) NULL)(undef(generic32_t), var_4); var_2 = var_2 + 1; if (!var_5) { continue; } } break; } revng_abort("A longjmp was taken"); } else { revng_abort("A longjmp was taken"); } } } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x405541_Code_x86(generic32_t argument_0) { struct_440 stack; generic32_t var_0; generic32_t var_1; var_0 = argument_0; *(generic32_t *) &stack = 6; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_0; function_0x405503_Code_x86(var_1); } _ABI(Microsoft_x86_cdecl) void function_0x40554f_Code_x86(void) { *(cabifunction_865 **) NULL = function_0x405656_Code_x86; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x405575_Code_x86(generic32_t *argument_0) { struct_441 stack; generic32_t var_0; generic32_t var_1; var_0 = argument_0; var_1 = 0; if (*argument_0) { *(generic32_t *) NULL = 0; var_0 = 0; stack.offset_0 = (pointer_or_number32_t) &(&stack)[1] + 4; ((rawfunction_316 *) *(generic32_t *) *(generic32_t *) NULL)(*(generic32_t *) NULL); var_1 = var_0; *(generic32_t *) NULL = var_1; } if (*argument_0 > var_1) { *argument_0 = var_1; *(generic32_t *) NULL = *(generic32_t *) NULL << 1; revng_abort("A longjmp was taken"); } else { *(generic32_t *) NULL = *(generic32_t *) NULL << 1; revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4055c3_Code_x86(generic32_t *argument_0) { struct_442 stack; generic32_t *var_0; generic32_t var_1; var_0 = argument_0; var_1 = 0; if (*argument_0) { *(generic32_t *) NULL = 0; if (*argument_0) { *argument_0 = 0; } stack.offset_0 = argument_0; ((rawfunction_317 *) *(generic32_t *) *(generic32_t *) NULL)(*(generic32_t *) NULL); var_1 = *argument_0; *(generic32_t *) NULL = var_1; } if (*argument_0 > var_1) { *argument_0 = var_1; *(generic32_t *) NULL = *(generic32_t *) NULL << 1; revng_abort("A longjmp was taken"); } else { *(generic32_t *) NULL = *(generic32_t *) NULL << 1; revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_cdecl) generic32_t function_0x40560d_Code_x86(void) { return 0; } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x405613_Code_x86(generic32_t argument_0) { struct_443 stack; generic32_t var_0; var_0 = argument_0; stack.offset_0 = argument_0; ((cabifunction_875 *) *(generic32_t *) *(generic32_t *) NULL)(); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x405656_Code_x86(struct_370 argument_0) { struct_444 stack; *(generic32_t *) NULL = 0; *(generic32_t *) &stack = *(generic32_t *) &argument_0; ((cabifunction_876 *) *(generic32_t *) (generic32_t) 4)(); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) void function_0x40566b_Code_x86(void) { generic32_t var_0; *(generic32_t *) NULL = 0; var_0 = 0; generic32_t var_1; do { *(generic32_t *) var_1 = 67109888; var_1 = var_1 + 4; var_0 = var_0 + 1; } while (var_0 != 129); } _ABI(Microsoft_x86_cdecl) generic32_t function_0x405692_Code_x86(void) { uint64_t loop_state_var; generic32_t var_0; generic32_t var_1; var_1 = *(generic32_t *) NULL; if (!(var_1 > 5)) { generic32_t var_2; generic32_t var_3; *(generic32_t *) NULL = 9; var_3 = lshift(*(generic32_t *) NULL - 5, 4294967272); var_2 = lshift((*(generic32_t *) NULL ^ 0x5) & (*(generic32_t *) NULL ^ (*(generic32_t *) NULL - 5)), 4294967276); if (*(generic32_t *) NULL != 5) { *(generic32_t *) (revng_undefined_local_sp() - 24) = 1; var_0 = 1; if (*(generic32_t *) NULL != 1 || !*(generic32_t *) NULL) { *(generic32_t *) NULL = 3; var_0 = 0; } return var_0; } if (*(generic32_t *) NULL == (pointer_or_number32_t) -1) { *(generic32_t *) (revng_undefined_local_sp() - 24) = 1; var_0 = 1; return var_0; } *(generic32_t *) NULL = 4294967295; var_1 = 4294967295; } var_0 = 0; if (var_1 < 1 || var_1 > 2) { generic32_t var_4; var_4 = *(generic32_t *) NULL; if ((var_1 & 0xFFFFFFFC) != 4) { var_4 = *(generic32_t *) NULL; if (*(generic32_t *) NULL > 16777215) { generic32_t var_5; generic32_t var_6; var_5 = *(generic32_t *) NULL; var_6 = *(generic32_t *) NULL; while (true) { generic32_t var_7; var_7 = var_6; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_5; if (var_5 != *(generic32_t *) NULL) { generic32_t var_8; generic32_t var_9; generic32_t var_10; var_8 = 0; var_9 = var_5; var_10 = var_6; generic32_t var_11; var_11 = ((number32_t) var_10 << 24) | *(generic8_t *) var_9; while (!((*(generic8_t *) var_9 & 0xFE) == (pointer_or_number8_t) -'\030' || (var_11 & 0xFF0000F0) == 251658368)) { generic8_t var_12; var_9 = var_9 + 1; var_12 = var_5 + 1 + var_8 == *(generic32_t *) NULL; var_8 = var_8 + 1; var_10 = var_11; if (var_12) { var_4 = var_11; loop_state_var = 0; break; } var_11 = ((number32_t) var_10 << 24) | *(generic8_t *) var_9; } if (!(loop_state_var)) { break; } *(generic32_t *) NULL = var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1); *(generic32_t *) (revng_undefined_local_sp() - 8) = ((uint32_t) (var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1)) >> 11) * ((var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1)) & 0xFFFF); if (!(*(generic32_t *) NULL < ((uint32_t) (var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1)) >> 11) * ((var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1)) & 0xFFFF))) { *(generic32_t *) NULL = (((uint8_t) (*(generic8_t *) var_9 + 'W') >> '\006') & 0x1) + '\001'; var_0 = 0; return var_0; } *(generic32_t *) NULL = ((uint32_t) (var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1)) >> 11) * ((var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1)) & 0xFFFF); *(generic16_t *) NULL = (number16_t) (var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1)) + (number16_t) ((uint32_t) (2048 - ((var_5 + 1 + var_8 + ((var_5 + 1 + var_8 - *(generic32_t *) NULL) << 1)) & 0xFFFF)) >> 5); var_5 = *(generic32_t *) NULL; var_7 = var_11; var_6 = var_11; if (var_5 > 16777215) { continue; } } var_4 = var_7; break; } } } *(generic32_t *) NULL = var_4; var_0 = 0; } return var_0; } _ABI(Microsoft_x86_cdecl) void function_0x4059fd_Code_x86(void) { struct_374 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; artificial_struct_returned_by_rawfunction_261 var_4; var_4 = ((rawfunction_261 *) segment_1.offset_84)(); var_2 = var_4.register_eax; var_1 = var_4.register_ecx; var_0 = var_4.register_edi; var_3 = (pointer_or_number32_t) &stack.offset_12 + 4; if ((var_2 & 0xFFFF) != 6) { generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; artificial_struct_returned_by_rawfunction_262 var_11; artificial_struct_returned_by_rawfunction_263 var_12; stack.offset_12 = "SetDefaultDllDirectories"; stack.offset_8 = "k"; var_11 = ((rawfunction_262 *) segment_1.offset_132)(); var_10 = var_11.register_eax; var_9 = var_11.register_ecx; var_8 = var_11.register_edi; stack.offset_4 = var_10; var_12 = ((rawfunction_263 *) segment_1.offset_136)(); var_7 = var_12.register_eax; var_6 = var_12.register_ecx; var_5 = var_12.register_edi; var_3 = &stack.offset_4; if (var_7) { generic32_t var_13; generic32_t var_14; generic32_t var_15; artificial_struct_returned_by_rawfunction_264 var_16; stack.offset_0 = 3072; var_16 = ((rawfunction_264 *) var_7)(); var_15 = var_16.register_eax; var_14 = var_16.register_ecx; var_13 = var_16.register_edi; var_3 = &stack; if (var_15) { return; } } } generic32_t var_17; generic32_t var_18; generic32_t var_19; artificial_struct_returned_by_rawfunction_265 var_20; *(generic32_t *) (var_3 - 4) = 262; *(generic32_t *) (var_3 - 8) = (pointer_or_number32_t) &stack.offset_12 + 8; var_20 = ((rawfunction_265 *) segment_1.offset_64)(); var_19 = var_20.register_eax; var_18 = var_20.register_ecx; var_17 = var_20.register_edi; if (!(var_19 < 1 || var_19 > 260)) { generic32_t var_21; var_21 = var_19; if (*(generic16_t *) ((pointer_or_number32_t) &stack.offset_12 + 728 + var_19 * 2 - 722) != 92) { *(generic16_t *) ((pointer_or_number32_t) &stack.offset_12 + 728 + var_19 * 2 - 720) = 92; var_21 = var_19 + 1; } if (segment_1.offset_2964->offset_0) { generic32_t var_22; generic32_t var_23; generic32_t var_24; generic32_t var_25; *(generic32_t *) (var_3 - 12) = var_17; var_24 = (pointer_or_number32_t) &stack.offset_12 + 728 + var_21 * 2 - 720; var_22 = 0; var_23 = var_18; var_25 = segment_1.offset_2964; generic32_t var_26; generic32_t var_27; generic32_t var_28; generic32_t var_29; artificial_struct_returned_by_rawfunction_266 var_30; do { var_29 = var_24; if (*(generic8_t *) var_25) { generic32_t var_31; generic8_t var_32; generic32_t var_33; generic32_t var_34; var_31 = 0; var_32 = *(generic8_t *) var_25; var_33 = var_23; var_34 = var_24; generic32_t var_35; do { var_35 = var_31; var_33 = (var_33 & 0xFFFF0000) | var_32; *(generic16_t *) var_34 = var_32; var_34 = var_34 + 2; var_32 = *(generic8_t *) (var_25 + 1 + var_35); var_31 = var_35 + 1; } while (var_32); var_29 = var_24 + 2 + (var_35 << 1); } *(generic16_t *) (var_29 + 8) = 0; *(generic16_t *) var_29 = 46; *(generic16_t *) (var_29 + 2) = 100; *(generic16_t *) (var_29 + 4) = 108; *(generic16_t *) (var_29 + 6) = 108; *(generic32_t *) (var_3 - 16 + var_22 * (number32_t) -12) = 8; *(generic32_t *) (var_3 - 20 + var_22 * (number32_t) -12) = 0; *(generic32_t *) (var_3 - 24 + var_22 * (number32_t) -12) = (pointer_or_number32_t) &stack.offset_12 + 8; var_30 = ((rawfunction_266 *) *(generic32_t *) "")(); var_28 = var_30.register_ecx; var_23 = var_28; var_27 = var_30.register_esi; var_25 = var_27; var_26 = var_30.register_edi; var_24 = var_26; var_22 = var_22 + 1; } while (*(generic8_t *) var_25); } } } _ABI(Microsoft_x86_cdecl) void function_0x405acd_Code_x86(generic32_t argument_0) { generic32_t var_0; generic32_t var_1; var_1 = argument_0; var_0 = !argument_0 ? 275 : 276; *(generic32_t *) NULL = var_0; } _ABI(Microsoft_x86_cdecl) void function_0x405af9_Code_x86(void) { generic32_t var_0; *(generic32_t *) NULL = 0; *(generic32_t *) (revng_undefined_local_sp() - 4) = 1; function_0x405acd_Code_x86(var_0); } _ABI(Microsoft_x86_cdecl) generic32_t function_0x405b07_Code_x86(struct_521 *argument_0, generic32_t *argument_1, generic32_t argument_2, generic32_t *argument_3) { struct_438 stack; uint64_t loop_state_var; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t *var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; var_0 = argument_0; var_1 = argument_1; var_2 = argument_2; var_3 = argument_3; var_1 = *argument_1; *argument_1 = 0; *argument_3 = 0; if (*(generic32_t *) NULL > 274) { if (*(generic32_t *) NULL > 276) { generic32_t var_8; var_8 = *(generic32_t *) NULL == 511 ? 11 : 1; var_4 = var_8; return var_4; } generic32_t var_9; if (!var_1) { var_9 = *(generic32_t *) NULL; } else { while (true) { if (*(generic32_t *) NULL > 4) { var_9 = *(generic32_t *) NULL; break; } generic32_t var_10; *(generic8_t *) NULL = *(generic8_t *) var_0; *(generic32_t *) NULL = *(generic32_t *) NULL + 1; var_0 = var_0 + 1; *argument_1 = *argument_1 + 1; var_10 = var_1; var_1 = var_10 - 1; if (var_10 != 1) { continue; } var_9 = *(generic32_t *) NULL; break; } } if (!var_9) { *var_3 = 3; var_4 = 0; return var_4; } var_5 = &stack; var_6 = 1; if ((var_9 & 0xFF)) { var_4 = var_6; *(generic32_t *) (var_5 - 4) = var_4; return var_4; } if (!(var_9 > 4)) { *var_3 = 3; var_4 = 0; return var_4; } generic64_t var_11; var_11 = 0; do { *(generic32_t *) (var_11 << 2) = 67109888; var_11 = var_11 + 1; } while (var_11 != 1376); *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 1; *(generic32_t *) NULL = 0; var_7 = *(generic32_t *) ((pointer_or_number32_t) &stack - 4); } else { *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = 1; var_7 = 1; } var_4 = var_7; if (*(generic32_t *) NULL == 274) { return var_4; } generic32_t var_12; generic32_t var_13; generic32_t var_14; generic8_t var_15; function_0x405e96_Code_x86(); var_12 = stack.offset_20; stack.offset_24 = 0; var_15 = !*(generic32_t *) NULL; var_14 = var_7; if (!(*(generic32_t *) NULL - var_12 > ~var_12)) { if (var_15) { *var_3 = 4; var_4 = 0; } else { var_13 = !var_2 ? 0 : var_14; var_4 = var_13; *var_3 = 2; } return var_4; } generic8_t var_16; generic32_t var_17; struct_438 *var_18; var_16 = !*(generic32_t *) NULL; var_17 = *(generic32_t *) NULL; var_18 = &stack; generic32_t var_19; generic32_t var_20; generic32_t var_21; generic32_t var_22; while (true) { generic32_t var_23; generic32_t var_24; generic32_t var_25; generic32_t var_26; if (var_16) { generic32_t var_27; generic32_t var_28; generic32_t var_29; generic32_t var_30; if (var_1 > 19) { var_30 = var_0 + var_1 - 20; var_28 = 4294967295; var_29 = var_18; } else { generic32_t var_31; stack.offset_16 = var_1 + var_0; *(generic32_t **) ((pointer_or_number32_t) var_18 - 4) = &stack.offset_16; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_31 = function_0x406a85_Code_x86((generic32_t *) NULL); if (!var_31) { var_26 = (pointer_or_number32_t) var_18 - 4; if (!(var_1 > 19)) { generic32_t var_32; *argument_1 = *argument_1 + var_1; *(generic32_t *) NULL = var_1; var_32 = lshift(var_1, 4294967272); if (!var_1) { break; } var_19 = 0; var_20 = var_0; loop_state_var = 6; break; } var_5 = var_26; *(generic32_t *) NULL = 511; var_6 = 11; break; } var_27 = (pointer_or_number32_t) var_18 - 4; if (stack.offset_16 - var_0 > 20) { var_26 = var_27; var_5 = var_26; *(generic32_t *) NULL = 511; var_6 = 11; break; } var_28 = stack.offset_16 - var_0; var_29 = (pointer_or_number32_t) var_18 - 4; var_30 = var_0; if (stack.offset_24) { *(generic32_t *) ((pointer_or_number32_t) var_18 - 8) = 2; var_28 = stack.offset_16 - var_0; var_29 = (pointer_or_number32_t) var_18 - 4; var_30 = var_0; if (var_31 != 2) { generic32_t var_33; *argument_1 = *argument_1 + (stack.offset_16 - var_0); *(generic32_t *) NULL = stack.offset_16 - var_0; var_33 = lshift(stack.offset_16 - var_0, 4294967272); if (!(stack.offset_16 - var_0)) { break; } var_21 = 0; var_22 = argument_1; loop_state_var = 0; break; } } } generic32_t var_34; generic32_t var_35; generic32_t var_36; *(generic32_t *) NULL = var_0; *(generic32_t *) (var_29 - 4) = var_30; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_36 = function_0x405f01_Code_x86(0); var_34 = *(generic32_t *) NULL - var_0; var_35 = lshift(var_28, 4294967272); if (!(var_35 & 0x80)) { var_27 = var_29 - 4; if (var_28 != var_34) { var_26 = var_27; var_5 = var_26; *(generic32_t *) NULL = 511; var_6 = 11; break; } } else { var_27 = var_29 - 4; if (var_34 > var_1) { var_26 = var_27; var_5 = var_26; *(generic32_t *) NULL = 511; var_6 = 11; break; } } var_0 = var_0 + var_34; var_1 = var_1 - var_34; *argument_1 = *argument_1 + var_34; var_24 = var_36; var_25 = var_29 - 4; } else { generic32_t var_37; generic32_t var_38; generic32_t var_39; generic32_t var_40; stack.offset_16 = 4294967295; stack.offset_12 = 0; var_40 = var_17; if (var_17 > 19) { var_39 = var_40; var_38 = var_18; if (!stack.offset_24) { revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_37 = function_0x405f01_Code_x86(0); var_24 = var_37; var_25 = var_38 - 4; *(generic32_t *) NULL = 0; if (var_24) { *(generic32_t *) NULL = 512; var_5 = var_25; var_6 = 1; break; } *(generic32_t *) (var_25 - 4) = 1; if (*(generic32_t *) NULL != 274) { function_0x405e96_Code_x86(); var_23 = stack.offset_20; stack.offset_24 = 0; var_17 = *(generic32_t *) NULL; var_16 = !var_17; if (*(generic32_t *) NULL - var_23 > ~var_23) { continue; } var_14 = 1; var_15 = !var_17; loop_state_var = 3; break; } var_4 = 1; if (!*(generic32_t *) NULL) { *var_3 = 1; var_4 = 0; } break; } } else { generic32_t var_41; generic32_t var_42; var_41 = 0; var_42 = var_17; generic32_t var_43; while (true) { generic32_t var_44; var_44 = var_41; var_43 = var_42; if (var_44 < var_1) { var_41 = var_44 + 1; var_43 = var_17 + 1 + var_44; var_42 = var_42 + 1; *(generic8_t *) NULL = *(generic8_t *) (var_0 + var_44); stack.offset_12 = var_41; if (!(var_17 - 19 + var_44 < (uint32_t) -20)) { continue; } } break; } var_40 = var_43; var_39 = var_40; if (var_39 > 19) { var_39 = var_40; var_38 = var_18; if (!stack.offset_24) { revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_37 = function_0x405f01_Code_x86(0); var_24 = var_37; var_25 = var_38 - 4; *(generic32_t *) NULL = 0; if (var_24) { *(generic32_t *) NULL = 512; var_5 = var_25; var_6 = 1; break; } *(generic32_t *) (var_25 - 4) = 1; if (*(generic32_t *) NULL != 274) { function_0x405e96_Code_x86(); var_23 = stack.offset_20; stack.offset_24 = 0; var_17 = *(generic32_t *) NULL; var_16 = !var_17; if (*(generic32_t *) NULL - var_23 > ~var_23) { continue; } var_14 = 1; var_15 = !var_17; loop_state_var = 3; break; } var_4 = 1; if (!*(generic32_t *) NULL) { *var_3 = 1; var_4 = 0; } break; } } } generic32_t var_45; *(generic32_t **) ((pointer_or_number32_t) var_18 - 4) = &stack.offset_16; revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_45 = function_0x406a85_Code_x86((generic32_t *) NULL); if (!var_45) { var_26 = (pointer_or_number32_t) var_18 - 4; if (var_39 > 19) { var_5 = var_26; *(generic32_t *) NULL = 511; var_6 = 11; break; } *(generic32_t *) NULL = var_39; *argument_1 = *argument_1 + stack.offset_12; break; } var_38 = (pointer_or_number32_t) var_18 - 4; if (stack.offset_24) { *(generic32_t *) ((pointer_or_number32_t) var_18 - 8) = 2; var_38 = (pointer_or_number32_t) var_18 - 4; if (var_45 != 2) { *argument_1 = *argument_1 + (stack.offset_16 - *(generic32_t *) NULL); *(generic32_t *) NULL = stack.offset_16; *var_3 = 2; var_5 = (pointer_or_number32_t) var_18 - 4; var_6 = 1; break; } } revng_abort("Ignoring stack arguments for this call site: stack size at call site unknown"); var_37 = function_0x405f01_Code_x86(0); var_24 = var_37; var_25 = var_38 - 4; *(generic32_t *) NULL = 0; } if (var_24) { *(generic32_t *) NULL = 512; var_5 = var_25; var_6 = 1; break; } *(generic32_t *) (var_25 - 4) = 1; if (*(generic32_t *) NULL != 274) { function_0x405e96_Code_x86(); var_23 = stack.offset_20; stack.offset_24 = 0; var_17 = *(generic32_t *) NULL; var_16 = !var_17; if (*(generic32_t *) NULL - var_23 > ~var_23) { continue; } var_14 = 1; var_15 = !var_17; loop_state_var = 3; break; } var_4 = 1; if (!*(generic32_t *) NULL) { *var_3 = 1; var_4 = 0; } break; } switch (loop_state_var) { case 3: { if (var_15) { *var_3 = 4; var_4 = 0; } else { var_13 = !var_2 ? 0 : var_14; var_4 = var_13; *var_3 = 2; } } break; case 4: case 6: { if (loop_state_var == 6) { generic32_t var_46; do { var_46 = var_0 + var_19; var_19 = var_19 + 1; var_20 = (var_20 & 0xFFFFFF00) | *(generic8_t *) var_46; *(generic8_t *) NULL = *(generic8_t *) var_46; } while (var_19 < var_1); } *var_3 = 3; var_4 = 0; } break; case 0: case 1: case 5: { switch (loop_state_var) { case 0: case 1: { if (!(loop_state_var)) { generic32_t var_47; do { var_47 = var_0 + var_21; var_21 = var_21 + 1; var_22 = (var_22 & 0xFFFFFF00) | *(generic8_t *) var_47; *(generic8_t *) NULL = *(generic8_t *) var_47; } while (var_21 < stack.offset_16 - var_0); } *var_3 = 2; var_5 = (pointer_or_number32_t) var_18 - 4; var_6 = 1; } break; } var_4 = var_6; *(generic32_t *) (var_5 - 4) = var_4; } break; } return var_4; } _ABI(Microsoft_x86_cdecl) void function_0x405e96_Code_x86(void) { if (*(generic32_t *) NULL) { generic32_t var_0; generic32_t var_1; *(generic32_t *) NULL = *(generic32_t *) NULL << 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) NULL; *(generic32_t *) NULL = 0; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) NULL; var_0 = 0; var_1 = *(generic32_t *) NULL; generic32_t var_2; do { var_0 = var_0 + 1; var_2 = var_1 < *(generic32_t *) (revng_undefined_local_sp() - 8) ? *(generic32_t *) (revng_undefined_local_sp() - 12) : 0; *(generic8_t *) var_1 = *(generic8_t *) (var_1 + (var_2 - *(generic32_t *) (revng_undefined_local_sp() - 8))); var_1 = var_1 + 1; } while (*(generic32_t *) NULL != var_0); *(generic32_t *) NULL = *(generic32_t *) NULL << 1; } } _ABI(Microsoft_x86_cdecl) generic32_t function_0x405f01_Code_x86(generic32_t argument_0) { struct_445 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; var_1 = argument_0; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = argument_0; var_0 = function_0x405f40_Code_x86(var_2); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) generic32_t function_0x405f40_Code_x86(generic32_t argument_0) { generic32_t var_0; generic32_t var_1; generic32_t var_2; var_0 = argument_0; *(generic32_t *) (revng_undefined_local_sp() - 32) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 16) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 44) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 60) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 64) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 116) = 1; *(generic32_t *) (revng_undefined_local_sp() - 68) = *(generic32_t *) NULL; var_1 = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 100) = *(generic8_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 52) = var_1; *(generic32_t *) (revng_undefined_local_sp() - 92) = (*(generic32_t *) (revng_undefined_local_sp() - 116) << (*(generic8_t *) NULL & 0x1F)) - 1; *(generic32_t *) (revng_undefined_local_sp() - 56) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 20) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 40) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 84) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 24) = 0; var_2 = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 96) = (0x100 << (*(generic8_t *) NULL & 0x1F)) - (0x100 >> (*(generic8_t *) NULL & 0x1F)); *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) NULL; while (true) { generic32_t var_3; generic32_t var_4; var_3 = var_1; var_4 = var_2; *(generic32_t *) (revng_undefined_local_sp() - 80) = (number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4; *(generic32_t *) (revng_undefined_local_sp() - 76) = ((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16); *(generic32_t *) (revng_undefined_local_sp() - 36) = ((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512; if (!(var_4 > 16777215)) { var_3 = *(generic32_t *) (revng_undefined_local_sp() - 52); var_4 = (number32_t) var_2 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_4 >> 11) * *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512)) { generic32_t var_9; *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 36) = *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512)) >> 5); *(generic32_t *) (revng_undefined_local_sp() - 36) = *(generic32_t *) (revng_undefined_local_sp() - 32) + 640; if (!*(generic32_t *) (revng_undefined_local_sp() - 40)) { if (*(generic32_t *) (revng_undefined_local_sp() - 84)) { var_9 = *(generic32_t *) (revng_undefined_local_sp() - 20); if (!var_9) { var_9 = *(generic32_t *) (revng_undefined_local_sp() - 56); } *(generic32_t *) (revng_undefined_local_sp() - 36) = (((((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 40) << 8) | *(generic8_t *) (var_3 + var_9 - 1)) & *(generic32_t *) (revng_undefined_local_sp() - 96)) << (*(generic32_t *) (revng_undefined_local_sp() - 100) & 0x1F)) * 6 + (*(generic32_t *) (revng_undefined_local_sp() - 32) + 640); } } else { var_9 = *(generic32_t *) (revng_undefined_local_sp() - 20); if (!var_9) { var_9 = *(generic32_t *) (revng_undefined_local_sp() - 56); } *(generic32_t *) (revng_undefined_local_sp() - 36) = (((((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 40) << 8) | *(generic8_t *) (var_3 + var_9 - 1)) & *(generic32_t *) (revng_undefined_local_sp() - 96)) << (*(generic32_t *) (revng_undefined_local_sp() - 100) & 0x1F)) * 6 + (*(generic32_t *) (revng_undefined_local_sp() - 32) + 640); } generic32_t var_10; generic32_t var_11; generic32_t var_12; *(generic32_t *) (revng_undefined_local_sp() - 40) = *(generic32_t *) (revng_undefined_local_sp() - 40) + 1; if (*(generic32_t *) (revng_undefined_local_sp() - 16) > 6) { generic32_t var_13; generic32_t var_14; generic32_t var_15; generic32_t var_16; generic32_t var_17; *(generic32_t *) (revng_undefined_local_sp() - 116) = 1; var_14 = *(generic32_t *) (revng_undefined_local_sp() - 20) < *(generic32_t *) (revng_undefined_local_sp() - 44) ? *(generic32_t *) (revng_undefined_local_sp() - 56) : 0; *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic8_t *) (var_3 + (var_14 - *(generic32_t *) (revng_undefined_local_sp() - 44) + *(generic32_t *) (revng_undefined_local_sp() - 20))); var_13 = *(generic32_t *) (revng_undefined_local_sp() - 16) < 10 ? 4294967293 : 4294967290; *(generic32_t *) (revng_undefined_local_sp() - 16) = var_13 + *(generic32_t *) (revng_undefined_local_sp() - 16); var_15 = *(generic32_t *) (revng_undefined_local_sp() - 116); var_16 = 256; var_17 = ((uint32_t) var_4 >> 11) * *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512); generic32_t var_18; generic32_t var_19; do { generic32_t var_20; var_20 = var_17; *(generic32_t *) (revng_undefined_local_sp() - 72) = var_16; *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic32_t *) (revng_undefined_local_sp() - 48) << 1; *(generic32_t *) (revng_undefined_local_sp() - 80) = var_16 & (*(generic32_t *) (revng_undefined_local_sp() - 48) << 1); *(generic32_t *) (revng_undefined_local_sp() - 76) = ((*(generic32_t *) (revng_undefined_local_sp() - 72) + (var_16 & (*(generic32_t *) (revng_undefined_local_sp() - 48) << 1)) + var_15) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 36); *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic16_t *) (((*(generic32_t *) (revng_undefined_local_sp() - 72) + (var_16 & (*(generic32_t *) (revng_undefined_local_sp() - 48) << 1)) + var_15) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 36)); if (!(var_20 > 16777215)) { var_20 = (number32_t) var_17 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_21; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_20 >> 11)) { var_18 = var_15 << 1; *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 76) = (number16_t) ((uint32_t) (2048 - *(generic32_t *) (revng_undefined_local_sp() - 28)) >> 5) + (number16_t) *(generic32_t *) (revng_undefined_local_sp() - 28); var_21 = *(generic32_t *) (revng_undefined_local_sp() - 80) ^ *(generic32_t *) (revng_undefined_local_sp() - 72); var_19 = *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_20 >> 11); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_20 >> 11); var_19 = var_20 - *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_20 >> 11); var_18 = (var_15 << 1) | 0x1; *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 76) = (number16_t) *(generic32_t *) (revng_undefined_local_sp() - 28) - (number16_t) ((uint32_t) *(generic32_t *) (revng_undefined_local_sp() - 28) >> 5); var_21 = *(generic32_t *) (revng_undefined_local_sp() - 80); } } while (!(var_18 > 255)); var_10 = *(generic32_t *) (revng_undefined_local_sp() - 52); var_11 = var_18; var_12 = var_19; } else { generic32_t var_22; var_22 = *(generic32_t *) (revng_undefined_local_sp() - 16); if (*(generic32_t *) (revng_undefined_local_sp() - 16) > 3) { *(generic32_t *) (revng_undefined_local_sp() - 116) = 3; var_22 = 3; } generic32_t var_23; generic32_t var_24; *(generic32_t *) (revng_undefined_local_sp() - 16) = *(generic32_t *) (revng_undefined_local_sp() - 16) - var_22; *(generic32_t *) (revng_undefined_local_sp() - 116) = 1; var_23 = 1; var_24 = ((uint32_t) var_4 >> 11) * *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512); generic32_t var_25; generic32_t var_26; do { generic32_t var_27; var_27 = var_24; *(generic32_t *) (revng_undefined_local_sp() - 72) = var_23 << 1; *(generic32_t *) (revng_undefined_local_sp() - 48) = (var_23 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 36); *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic16_t *) ((var_23 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 36)); if (!(var_27 > 16777215)) { var_27 = (number32_t) var_24 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } if (*(generic32_t *) (revng_undefined_local_sp() - 8) < *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_27 >> 11)) { *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 48) = (number16_t) ((uint32_t) (2048 - *(generic32_t *) (revng_undefined_local_sp() - 28)) >> 5) + (number16_t) *(generic32_t *) (revng_undefined_local_sp() - 28); var_26 = *(generic32_t *) (revng_undefined_local_sp() - 72); var_25 = *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_27 >> 11); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_27 >> 11); var_25 = var_27 - *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_27 >> 11); *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 48) = (number16_t) *(generic32_t *) (revng_undefined_local_sp() - 28) - (number16_t) ((uint32_t) *(generic32_t *) (revng_undefined_local_sp() - 28) >> 5); var_26 = *(generic32_t *) (revng_undefined_local_sp() - 72) + 1; } } while (!(var_26 > 255)); var_10 = var_3; var_11 = var_26; var_12 = var_25; } var_7 = var_10; var_8 = var_12; *(generic32_t *) (revng_undefined_local_sp() - 20) = *(generic32_t *) (revng_undefined_local_sp() - 20) + 1; *(generic8_t *) (var_7 + *(generic32_t *) (revng_undefined_local_sp() - 20)) = (number8_t) var_11; var_6 = var_8; if (*(generic32_t *) (revng_undefined_local_sp() - 20) < *(generic32_t *) (revng_undefined_local_sp() - 88)) { var_6 = var_8; if (*(generic32_t *) (revng_undefined_local_sp() - 12) < var_0) { continue; } } } else { generic32_t var_28; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_4 >> 11) * *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512); var_28 = var_4 - ((uint32_t) var_4 >> 11) * *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512); *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 36) = *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512) - ((uint16_t) *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512) >> 5); *(generic32_t *) (revng_undefined_local_sp() - 36) = (*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32; if (!(var_28 > 16777215)) { var_28 = (number32_t) (var_4 - ((uint32_t) var_4 >> 11) * *(generic16_t *) (((((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 40) & *(generic32_t *) (revng_undefined_local_sp() - 92)) << 4) + *(generic32_t *) (revng_undefined_local_sp() - 16)) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 512)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_29; generic32_t var_30; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_28 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32)) { *(generic32_t *) (revng_undefined_local_sp() - 16) = *(generic32_t *) (revng_undefined_local_sp() - 16) + 12; *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32)) >> 5); var_30 = *(generic32_t *) (revng_undefined_local_sp() - 32) - 1536; var_29 = ((uint32_t) var_28 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32); } else { generic32_t var_31; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_28 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32); var_31 = var_28 - ((uint32_t) var_28 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32); *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32) - ((uint16_t) *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32) >> 5); if (!(var_31 > 16777215)) { var_31 = (number32_t) (var_28 - ((uint32_t) var_28 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 32)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_32; *(generic32_t *) (revng_undefined_local_sp() - 72) = ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56); if (*(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56) > ~(((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56))) { generic32_t var_33; *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56)) >> 5); *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 76) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 3072); var_33 = ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56); if (!(((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56) > 16777215)) { var_33 = (number32_t) (((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } if (*(generic32_t *) (revng_undefined_local_sp() - 8) < *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_33 >> 11)) { generic32_t var_34; generic32_t var_35; var_7 = *(generic32_t *) (revng_undefined_local_sp() - 52); *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 76) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 3072) = (number16_t) ((uint32_t) (2048 - *(generic32_t *) (revng_undefined_local_sp() - 28)) >> 5) + (number16_t) *(generic32_t *) (revng_undefined_local_sp() - 28); var_35 = *(generic32_t *) (revng_undefined_local_sp() - 20) < *(generic32_t *) (revng_undefined_local_sp() - 44) ? *(generic32_t *) (revng_undefined_local_sp() - 56) : 0; *(generic8_t *) (var_7 + *(generic32_t *) (revng_undefined_local_sp() - 20)) = *(generic8_t *) (var_7 + (var_35 - *(generic32_t *) (revng_undefined_local_sp() - 44) + *(generic32_t *) (revng_undefined_local_sp() - 20))); *(generic32_t *) (revng_undefined_local_sp() - 40) = *(generic32_t *) (revng_undefined_local_sp() - 40) + 1; *(generic32_t *) (revng_undefined_local_sp() - 20) = *(generic32_t *) (revng_undefined_local_sp() - 20) + 1; var_34 = *(generic32_t *) (revng_undefined_local_sp() - 16) < 7 ? 9 : 11; *(generic32_t *) (revng_undefined_local_sp() - 16) = var_34; var_8 = *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_33 >> 11); var_6 = var_8; if (*(generic32_t *) (revng_undefined_local_sp() - 20) < *(generic32_t *) (revng_undefined_local_sp() - 88)) { var_6 = var_8; if (*(generic32_t *) (revng_undefined_local_sp() - 12) < var_0) { continue; } } var_5 = var_6; if (!(var_5 > 16777215)) { *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 20); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 40); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 44); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 8); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 60); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 64); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 68); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 16); return *(generic32_t *) (revng_undefined_local_sp() - 24) > 511; } *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_33 >> 11); var_32 = var_33 - *(generic32_t *) (revng_undefined_local_sp() - 28) * ((uint32_t) var_33 >> 11); *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 76) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 3072) = (number16_t) *(generic32_t *) (revng_undefined_local_sp() - 28) - (number16_t) ((uint32_t) *(generic32_t *) (revng_undefined_local_sp() - 28) >> 5); } else { generic32_t var_36; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56); var_36 = var_31 - ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56); *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56) - ((uint16_t) *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56) >> 5); if (!(var_36 > 16777215)) { var_36 = (number32_t) (var_31 - ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 56)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_37; generic32_t var_38; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_36 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80)) { var_37 = *(generic32_t *) (revng_undefined_local_sp() - 60); *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80)) >> 5); var_38 = ((uint32_t) var_36 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80); } else { generic32_t var_39; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_36 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80); var_39 = var_36 - ((uint32_t) var_36 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80); *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80) - ((uint16_t) *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80) >> 5); if (!(var_39 > 16777215)) { var_39 = (number32_t) (var_36 - ((uint32_t) var_36 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 80)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_40; generic32_t var_41; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_39 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104)) { var_40 = *(generic32_t *) (revng_undefined_local_sp() - 64); *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104)) >> 5); var_41 = ((uint32_t) var_39 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_39 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104); var_41 = var_39 - ((uint32_t) var_39 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104); *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104) - ((uint16_t) *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 16) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) + 104) >> 5); var_40 = *(generic32_t *) (revng_undefined_local_sp() - 68); *(generic32_t *) (revng_undefined_local_sp() - 68) = *(generic32_t *) (revng_undefined_local_sp() - 64); } var_37 = var_40; var_38 = var_41; *(generic32_t *) (revng_undefined_local_sp() - 64) = *(generic32_t *) (revng_undefined_local_sp() - 60); } var_32 = var_38; *(generic32_t *) (revng_undefined_local_sp() - 44) = var_37; *(generic32_t *) (revng_undefined_local_sp() - 60) = *(generic32_t *) (revng_undefined_local_sp() - 44); } generic32_t var_42; var_29 = var_32; var_42 = *(generic32_t *) (revng_undefined_local_sp() - 16) < 7 ? 8 : 11; *(generic32_t *) (revng_undefined_local_sp() - 16) = var_42; var_30 = *(generic32_t *) (revng_undefined_local_sp() - 32) - 2560; } generic32_t var_43; generic32_t var_44; var_44 = var_29; var_43 = *(generic16_t *) var_30; *(generic32_t *) (revng_undefined_local_sp() - 28) = var_43; if (!(var_44 > 16777215)) { var_44 = (number32_t) var_29 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); var_43 = *(generic32_t *) (revng_undefined_local_sp() - 28); } generic32_t var_45; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < var_43 * ((uint32_t) var_44 >> 11)) { *(generic32_t *) (revng_undefined_local_sp() - 28) = 8; *(generic32_t *) (revng_undefined_local_sp() - 48) = 0; *(generic16_t *) var_30 = (number16_t) ((uint32_t) (2048 - var_43) >> 5) + (number16_t) var_43; *(generic32_t *) (revng_undefined_local_sp() - 36) = (*(generic32_t *) (revng_undefined_local_sp() - 80) << 1) + var_30; var_45 = var_43 * ((uint32_t) var_44 >> 11); } else { generic32_t var_46; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - var_43 * ((uint32_t) var_44 >> 11); var_46 = var_44 - var_43 * ((uint32_t) var_44 >> 11); *(generic16_t *) var_30 = (number16_t) var_43 - (number16_t) ((uint32_t) var_43 >> 5); if (!(var_46 > 16777215)) { var_46 = (number32_t) (var_44 - var_43 * ((uint32_t) var_44 >> 11)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_46 >> 11) * *(generic16_t *) (var_30 + 16)) { *(generic32_t *) (revng_undefined_local_sp() - 116) = 8; *(generic16_t *) (var_30 + 16) = *(generic16_t *) (var_30 + 16) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) (var_30 + 16)) >> 5); *(generic32_t *) (revng_undefined_local_sp() - 36) = (*(generic32_t *) (revng_undefined_local_sp() - 80) << 1) + var_30 + 16; *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic32_t *) (revng_undefined_local_sp() - 116); *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic32_t *) (revng_undefined_local_sp() - 116); var_45 = ((uint32_t) var_46 >> 11) * *(generic16_t *) (var_30 + 16); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_46 >> 11) * *(generic16_t *) (var_30 + 16); var_45 = var_46 - ((uint32_t) var_46 >> 11) * *(generic16_t *) (var_30 + 16); *(generic32_t *) (revng_undefined_local_sp() - 48) = 16; *(generic32_t *) (revng_undefined_local_sp() - 28) = 256; *(generic16_t *) (var_30 + 16) = *(generic16_t *) (var_30 + 16) - ((uint16_t) *(generic16_t *) (var_30 + 16) >> 5); *(generic32_t *) (revng_undefined_local_sp() - 36) = var_30 + 512; } } generic32_t var_47; generic32_t var_48; var_48 = var_45; *(generic32_t *) (revng_undefined_local_sp() - 116) = 1; var_47 = 1; generic32_t var_49; generic32_t var_50; do { generic16_t var_51; generic32_t var_52; generic32_t var_53; var_53 = var_48; *(generic32_t *) (revng_undefined_local_sp() - 76) = var_47 << 1; var_52 = (var_47 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 36); *(generic32_t *) (revng_undefined_local_sp() - 80) = var_52; var_51 = *(generic16_t *) var_52; if (!(var_53 > 16777215)) { var_53 = (number32_t) var_48 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); var_52 = *(generic32_t *) (revng_undefined_local_sp() - 80); } if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_53 >> 11) * var_51) { *(generic16_t *) var_52 = var_51 + (number16_t) ((uint32_t) (2048 - var_51) >> 5); var_49 = *(generic32_t *) (revng_undefined_local_sp() - 76); var_50 = ((uint32_t) var_53 >> 11) * var_51; } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_53 >> 11) * var_51; var_50 = var_53 - ((uint32_t) var_53 >> 11) * var_51; *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 80) = var_51 - ((uint16_t) var_51 >> 5); var_49 = *(generic32_t *) (revng_undefined_local_sp() - 76) + 1; } *(generic32_t *) (revng_undefined_local_sp() - 24) = var_49; } while (var_49 - *(generic32_t *) (revng_undefined_local_sp() - 28) > ~*(generic32_t *) (revng_undefined_local_sp() - 28)); generic32_t var_54; *(generic32_t *) (revng_undefined_local_sp() - 24) = var_49 + (*(generic32_t *) (revng_undefined_local_sp() - 48) - *(generic32_t *) (revng_undefined_local_sp() - 28)); var_54 = var_50; if (*(generic32_t *) (revng_undefined_local_sp() - 16) > 11) { generic32_t var_55; generic32_t var_56; generic32_t var_57; *(generic32_t *) (revng_undefined_local_sp() - 116) = 1; var_55 = ((number32_t) llvm_umin_i32(var_49 + (*(generic32_t *) (revng_undefined_local_sp() - 48) - *(generic32_t *) (revng_undefined_local_sp() - 28)), 3) << 7) + 128 + *(generic32_t *) (revng_undefined_local_sp() - 32); *(generic32_t *) (revng_undefined_local_sp() - 36) = var_55; var_56 = 1; var_57 = var_50; generic32_t var_58; generic32_t var_59; while (true) { generic16_t var_60; generic32_t var_61; generic32_t var_62; var_62 = var_57; *(generic32_t *) (revng_undefined_local_sp() - 80) = var_56 << 1; var_61 = var_55 + (var_56 << 1); *(generic32_t *) (revng_undefined_local_sp() - 28) = var_61; var_60 = *(generic16_t *) var_61; if (!(var_62 > 16777215)) { var_62 = (number32_t) var_57 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); var_61 = *(generic32_t *) (revng_undefined_local_sp() - 28); } if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_62 >> 11) * var_60) { var_58 = *(generic32_t *) (revng_undefined_local_sp() - 80); *(generic16_t *) var_61 = var_60 + (number16_t) ((uint32_t) (2048 - var_60) >> 5); var_59 = ((uint32_t) var_62 >> 11) * var_60; } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_62 >> 11) * var_60; var_59 = var_62 - ((uint32_t) var_62 >> 11) * var_60; *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 28) = var_60 - ((uint16_t) var_60 >> 5); var_58 = *(generic32_t *) (revng_undefined_local_sp() - 80) + 1; } if (var_58 > 63) { break; } var_55 = *(generic32_t *) (revng_undefined_local_sp() - 36); } generic32_t var_63; generic32_t var_64; generic32_t var_65; generic32_t var_66; var_65 = var_58 - 64; var_66 = var_59; if ((var_58 & 0xFFFFFFFC) != 64) { *(generic32_t *) (revng_undefined_local_sp() - 80) = ((var_58 - 64) >> 1) - 1; *(generic32_t *) (revng_undefined_local_sp() - 36) = (var_58 & 0x1) | 0x2; if (var_58 < 64 || var_58 > 77) { generic32_t var_67; generic32_t var_68; var_67 = 0; var_68 = var_59; generic8_t var_69; generic32_t var_70; do { var_70 = var_68; if (!(var_70 > 16777215)) { var_70 = (number32_t) var_68 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } var_68 = var_70 >> 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - var_68; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - var_68 + (((int32_t) (*(generic32_t *) (revng_undefined_local_sp() - 8) - var_68) >> 31) & var_68); *(generic32_t *) (revng_undefined_local_sp() - 36) = (*(generic32_t *) (revng_undefined_local_sp() - 36) << 1) + ((int32_t) (*(generic32_t *) (revng_undefined_local_sp() - 8) - var_68) >> 31) + 1; var_69 = ((var_58 - 64) >> 1) - 6 == var_67; var_67 = var_67 + 1; } while (!(var_69)); generic32_t var_71; *(generic32_t *) (revng_undefined_local_sp() - 36) = (number32_t) ((*(generic32_t *) (revng_undefined_local_sp() - 36) << 1) + ((int32_t) (*(generic32_t *) (revng_undefined_local_sp() - 8) - var_68) >> 31) + 1) << 4; var_71 = var_70 >> 1; if (!(var_70 > 33554431)) { var_71 = (number32_t) (var_70 >> 1) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_72; generic32_t var_73; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_71 >> 11) * *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 32) + 2)) { var_72 = *(generic32_t *) (revng_undefined_local_sp() - 32); *(generic32_t *) (revng_undefined_local_sp() - 28) = 2; *(generic16_t *) (var_72 + 2) = *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 32) + 2) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 32) + 2)) >> 5); var_73 = ((uint32_t) var_71 >> 11) * *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 32) + 2); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_71 >> 11) * *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 32) + 2); var_73 = var_71 - ((uint32_t) var_71 >> 11) * *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 32) + 2); *(generic32_t *) (revng_undefined_local_sp() - 28) = 3; var_72 = *(generic32_t *) (revng_undefined_local_sp() - 32); *(generic16_t *) (var_72 + 2) = *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 32) + 2) - ((uint16_t) *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 32) + 2) >> 5); } generic32_t var_74; var_74 = var_73; *(generic32_t *) (revng_undefined_local_sp() - 48) = (*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72; if (!(var_74 > 16777215)) { var_74 = (number32_t) var_73 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_75; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_74 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72)) { *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic32_t *) (revng_undefined_local_sp() - 28) + 2; *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72)) >> 5); var_75 = ((uint32_t) var_74 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_74 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72); var_75 = var_74 - ((uint32_t) var_74 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72); *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic32_t *) (revng_undefined_local_sp() - 28) + 4; *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72) - ((uint16_t) *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + var_72) >> 5); } generic32_t var_76; var_76 = var_75; *(generic32_t *) (revng_undefined_local_sp() - 48) = (*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32); if (!(var_76 > 16777215)) { var_76 = (number32_t) var_75 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_77; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_76 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32))) { *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic32_t *) (revng_undefined_local_sp() - 28) + 4; *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32))) >> 5); var_77 = ((uint32_t) var_76 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_76 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)); var_77 = var_76 - ((uint32_t) var_76 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)); *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic32_t *) (revng_undefined_local_sp() - 28) + 8; *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)) - ((uint16_t) *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)) >> 5); } generic32_t var_78; var_78 = var_77; *(generic32_t *) (revng_undefined_local_sp() - 48) = (*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32); if (!(var_78 > 16777215)) { var_78 = (number32_t) var_77 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_79; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_78 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32))) { *(generic32_t *) (revng_undefined_local_sp() - 28) = *(generic32_t *) (revng_undefined_local_sp() - 28) - 8; *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)) + (number16_t) ((uint32_t) (2048 - *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32))) >> 5); var_79 = ((uint32_t) var_78 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_78 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)); var_79 = var_78 - ((uint32_t) var_78 >> 11) * *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)); *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)) - ((uint16_t) *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 28) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32)) >> 5); } var_66 = var_79; var_65 = *(generic32_t *) (revng_undefined_local_sp() - 36) | *(generic32_t *) (revng_undefined_local_sp() - 28); if (var_65 == (pointer_or_number32_t) -1) { *(generic32_t *) (revng_undefined_local_sp() - 16) = *(generic32_t *) (revng_undefined_local_sp() - 16) - 12; var_63 = 274; var_64 = var_79; var_5 = var_64; *(generic32_t *) (revng_undefined_local_sp() - 24) = var_63; if (!(var_5 > 16777215)) { *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 20); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 40); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 44); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 8); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 60); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 64); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 68); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 16); return *(generic32_t *) (revng_undefined_local_sp() - 24) > 511; } } else { generic32_t var_80; generic32_t var_81; *(generic32_t *) (revng_undefined_local_sp() - 48) = 1; var_80 = (((var_58 & 0x1) | 0x2) << ((((var_58 - 64) >> 1) - 1) & 0x1F)) + 1; *(generic32_t *) (revng_undefined_local_sp() - 36) = var_80; var_81 = var_59; generic32_t var_82; generic32_t var_83; do { generic16_t var_84; generic32_t var_85; generic32_t var_86; var_85 = var_80; var_86 = var_81; *(generic32_t *) (revng_undefined_local_sp() - 28) = (var_85 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 3328; var_84 = *(generic16_t *) ((var_85 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 32) - 3328); if (!(var_86 > 16777215)) { var_86 = (number32_t) var_81 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); var_85 = *(generic32_t *) (revng_undefined_local_sp() - 36); } if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_86 >> 11) * var_84) { *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 28) = var_84 + (number16_t) ((uint32_t) (2048 - var_84) >> 5); var_82 = var_85 + *(generic32_t *) (revng_undefined_local_sp() - 48); *(generic32_t *) (revng_undefined_local_sp() - 36) = var_82; *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic32_t *) (revng_undefined_local_sp() - 48) << 1; var_83 = ((uint32_t) var_86 >> 11) * var_84; } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_86 >> 11) * var_84; var_83 = var_86 - ((uint32_t) var_86 >> 11) * var_84; *(generic16_t *) *(generic32_t *) (revng_undefined_local_sp() - 28) = var_84 - ((uint16_t) var_84 >> 5); *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic32_t *) (revng_undefined_local_sp() - 48) << 1; var_82 = *(generic32_t *) (revng_undefined_local_sp() - 36) + (*(generic32_t *) (revng_undefined_local_sp() - 48) << 1); *(generic32_t *) (revng_undefined_local_sp() - 36) = var_82; } *(generic32_t *) (revng_undefined_local_sp() - 80) = *(generic32_t *) (revng_undefined_local_sp() - 80) - 1; } while (*(generic32_t *) (revng_undefined_local_sp() - 80) != 1); var_65 = var_82 - *(generic32_t *) (revng_undefined_local_sp() - 48); var_66 = var_83; } } generic32_t var_87; generic32_t var_88; *(generic32_t *) (revng_undefined_local_sp() - 68) = *(generic32_t *) (revng_undefined_local_sp() - 64); *(generic32_t *) (revng_undefined_local_sp() - 64) = *(generic32_t *) (revng_undefined_local_sp() - 60); *(generic32_t *) (revng_undefined_local_sp() - 60) = *(generic32_t *) (revng_undefined_local_sp() - 44); *(generic32_t *) (revng_undefined_local_sp() - 44) = var_65 + 1; var_87 = *(generic32_t *) (revng_undefined_local_sp() - 16) < 19 ? 7 : 10; *(generic32_t *) (revng_undefined_local_sp() - 16) = var_87; var_88 = *(generic32_t *) (revng_undefined_local_sp() - 84); if (!var_88) { var_88 = *(generic32_t *) (revng_undefined_local_sp() - 40); } var_54 = var_66; if (!(var_65 < var_88)) { var_63 = *(generic32_t *) (revng_undefined_local_sp() - 24) + 514; var_64 = var_66; var_5 = var_64; *(generic32_t *) (revng_undefined_local_sp() - 24) = var_63; if (!(var_5 > 16777215)) { *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 20); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 40); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 44); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 8); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 60); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 64); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 68); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 16); return *(generic32_t *) (revng_undefined_local_sp() - 24) > 511; } } var_6 = var_54; *(generic32_t *) (revng_undefined_local_sp() - 24) = *(generic32_t *) (revng_undefined_local_sp() - 24) + 2; if (*(generic32_t *) (revng_undefined_local_sp() - 88) != *(generic32_t *) (revng_undefined_local_sp() - 20)) { generic32_t var_89; *(generic32_t *) (revng_undefined_local_sp() - 48) = llvm_umin_i32(*(generic32_t *) (revng_undefined_local_sp() - 88) - *(generic32_t *) (revng_undefined_local_sp() - 20), *(generic32_t *) (revng_undefined_local_sp() - 24) + 2); var_89 = *(generic32_t *) (revng_undefined_local_sp() - 20) < *(generic32_t *) (revng_undefined_local_sp() - 44) ? *(generic32_t *) (revng_undefined_local_sp() - 56) : 0; *(generic32_t *) (revng_undefined_local_sp() - 40) = *(generic32_t *) (revng_undefined_local_sp() - 40) + llvm_umin_i32(*(generic32_t *) (revng_undefined_local_sp() - 88) - *(generic32_t *) (revng_undefined_local_sp() - 20), *(generic32_t *) (revng_undefined_local_sp() - 24) + 2); *(generic32_t *) (revng_undefined_local_sp() - 24) = *(generic32_t *) (revng_undefined_local_sp() - 24) - llvm_umin_i32(*(generic32_t *) (revng_undefined_local_sp() - 88) - *(generic32_t *) (revng_undefined_local_sp() - 20), *(generic32_t *) (revng_undefined_local_sp() - 24) + 2); if (llvm_umin_i32(*(generic32_t *) (revng_undefined_local_sp() - 88) - *(generic32_t *) (revng_undefined_local_sp() - 20), *(generic32_t *) (revng_undefined_local_sp() - 24) + 2) > *(generic32_t *) (revng_undefined_local_sp() - 56) - (var_89 - *(generic32_t *) (revng_undefined_local_sp() - 44) + *(generic32_t *) (revng_undefined_local_sp() - 20))) { generic32_t var_90; generic32_t var_91; var_90 = var_89 - *(generic32_t *) (revng_undefined_local_sp() - 44) + *(generic32_t *) (revng_undefined_local_sp() - 20); var_91 = llvm_umin_i32(*(generic32_t *) (revng_undefined_local_sp() - 88) - *(generic32_t *) (revng_undefined_local_sp() - 20), *(generic32_t *) (revng_undefined_local_sp() - 24) + 2); generic32_t var_92; do { var_91 = (var_91 & 0xFFFFFF00) | *(generic8_t *) (*(generic32_t *) (revng_undefined_local_sp() - 52) + var_90); *(generic32_t *) (revng_undefined_local_sp() - 20) = *(generic32_t *) (revng_undefined_local_sp() - 20) + 1; *(generic8_t *) (*(generic32_t *) (revng_undefined_local_sp() - 52) + *(generic32_t *) (revng_undefined_local_sp() - 20)) = *(generic8_t *) (*(generic32_t *) (revng_undefined_local_sp() - 52) + var_90); var_92 = var_90 + 1 == *(generic32_t *) (revng_undefined_local_sp() - 56) ? 0 : var_90 + 1; var_90 = var_92; *(generic32_t *) (revng_undefined_local_sp() - 48) = *(generic32_t *) (revng_undefined_local_sp() - 48) - 1; } while (*(generic32_t *) (revng_undefined_local_sp() - 48) != 1); var_7 = *(generic32_t *) (revng_undefined_local_sp() - 52); var_8 = var_54; } else { generic32_t var_93; generic32_t var_94; generic32_t var_95; var_95 = *(generic32_t *) (revng_undefined_local_sp() - 52) + *(generic32_t *) (revng_undefined_local_sp() - 20); *(generic32_t *) (revng_undefined_local_sp() - 80) = var_89 - *(generic32_t *) (revng_undefined_local_sp() - 44) + *(generic32_t *) (revng_undefined_local_sp() - 20) - *(generic32_t *) (revng_undefined_local_sp() - 20); var_93 = *(generic32_t *) (revng_undefined_local_sp() - 48) + var_95; *(generic32_t *) (revng_undefined_local_sp() - 20) = *(generic32_t *) (revng_undefined_local_sp() - 20) + *(generic32_t *) (revng_undefined_local_sp() - 48); var_94 = 0; generic8_t var_96; do { *(generic8_t *) var_95 = *(generic8_t *) (var_95 + *(generic32_t *) (revng_undefined_local_sp() - 80)); var_95 = var_95 + 1; var_96 = *(generic32_t *) (revng_undefined_local_sp() - 52) + 1 + *(generic32_t *) (revng_undefined_local_sp() - 20) + var_94 == var_93; var_94 = var_94 + 1; } while (!(var_96)); var_7 = *(generic32_t *) (revng_undefined_local_sp() - 52); var_8 = var_54; } var_6 = var_8; if (*(generic32_t *) (revng_undefined_local_sp() - 20) < *(generic32_t *) (revng_undefined_local_sp() - 88)) { var_6 = var_8; if (*(generic32_t *) (revng_undefined_local_sp() - 12) < var_0) { continue; } } } } var_5 = var_6; if (!(var_5 > 16777215)) { *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 20); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 40); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 44); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 8); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 60); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 64); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 68); *(generic32_t *) NULL = *(generic32_t *) (revng_undefined_local_sp() - 16); return *(generic32_t *) (revng_undefined_local_sp() - 24) > 511; } } _ABI(Microsoft_x86_cdecl) generic32_t function_0x406a85_Code_x86(generic32_t *argument_0) { uint64_t loop_state_var; generic32_t *var_0; generic32_t var_1; generic32_t var_2; var_0 = argument_0; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 52) = 1; *(generic32_t *) (revng_undefined_local_sp() - 32) = *var_0; var_2 = *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 16) = var_2; *(generic32_t *) (revng_undefined_local_sp() - 24) = ((0x10 << (*(generic8_t *) NULL & 0x1F)) - 16) & ((number32_t) *(generic32_t *) NULL << 4); *(generic32_t *) (revng_undefined_local_sp() - 36) = (((0x10 << (*(generic8_t *) NULL & 0x1F)) - 16) & ((number32_t) *(generic32_t *) NULL << 4)) + *(generic32_t *) NULL; *(generic32_t *) (revng_undefined_local_sp() - 20) = *(generic16_t *) ((((((0x10 << (*(generic8_t *) NULL & 0x1F)) - 16) & ((number32_t) *(generic32_t *) NULL << 4)) + *(generic32_t *) NULL) << 1) + var_2 - 512); if (!(var_2 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *(generic32_t *) (revng_undefined_local_sp() - 32))) { return var_1; } var_2 = (number32_t) *(generic32_t *) NULL << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_3; generic32_t var_4; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_2 >> 11)) { *(generic32_t *) (revng_undefined_local_sp() - 16) = *(generic32_t *) (revng_undefined_local_sp() - 16) + 640; if (*(generic32_t *) NULL != 0 || *(generic32_t *) NULL != 0) { *(generic32_t *) (revng_undefined_local_sp() - 52) = 1; *(generic32_t *) (revng_undefined_local_sp() - 16) = *(generic32_t *) (revng_undefined_local_sp() - 16) + ((*(generic8_t *) ((*(generic32_t *) NULL << 1) - 1) >> (('\010' - *(generic8_t *) NULL) & 0x1F)) + ((*(generic32_t *) NULL & ~(0xFFFFFFFF << (*(generic8_t *) NULL & 0x1F))) << (*(generic8_t *) NULL & 0x1F))) * 1536; } generic32_t var_5; generic32_t var_6; if (*(generic32_t *) NULL > 6) { generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; *(generic32_t *) (revng_undefined_local_sp() - 52) = 1; var_9 = *(generic8_t *) *(generic32_t *) NULL; var_7 = 1; var_8 = 256; var_10 = *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_2 >> 11); while (true) { generic32_t var_11; var_11 = var_10; *(generic32_t *) (revng_undefined_local_sp() - 32) = var_8; *(generic32_t *) (revng_undefined_local_sp() - 28) = var_8 & (var_9 << 1); *(generic32_t *) (revng_undefined_local_sp() - 20) = *(generic16_t *) (((var_8 + var_7 + (var_8 & (var_9 << 1))) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16)); if (!(var_11 > 16777215)) { if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { var_1 = 0; return var_1; } var_11 = (number32_t) var_10 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_12; generic32_t var_13; generic32_t var_14; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_11 >> 11)) { var_12 = var_7 << 1; var_13 = *(generic32_t *) (revng_undefined_local_sp() - 28) ^ *(generic32_t *) (revng_undefined_local_sp() - 32); var_14 = *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_11 >> 11); } else { var_14 = var_11 - *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_11 >> 11); *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_11 >> 11); var_13 = *(generic32_t *) (revng_undefined_local_sp() - 28); var_12 = (var_7 << 1) | 0x1; } var_9 = var_9 << 1; if (!(var_12 > 255)) { continue; } var_5 = revng_undefined_local_sp() - 28; var_6 = var_14; break; } } else { generic32_t var_15; generic32_t var_16; *(generic32_t *) (revng_undefined_local_sp() - 52) = 1; var_15 = 1; var_16 = *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_2 >> 11); while (true) { generic32_t var_17; var_17 = var_16; if (!(var_17 > 16777215)) { if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { var_1 = 0; return var_1; } var_17 = (number32_t) var_16 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_18; generic32_t var_19; var_19 = ((uint32_t) var_17 >> 11) * *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 16) + (var_15 << 1)); var_18 = var_15 << 1; if (!(*(generic32_t *) (revng_undefined_local_sp() - 8) < var_19)) { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_17 >> 11) * *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 16) + (var_15 << 1)); var_19 = var_17 - ((uint32_t) var_17 >> 11) * *(generic16_t *) (*(generic32_t *) (revng_undefined_local_sp() - 16) + (var_15 << 1)); var_18 = (var_15 << 1) | 0x1; } if (!(var_18 > 255)) { continue; } var_5 = revng_undefined_local_sp() - 28; var_6 = var_19; break; } } var_4 = var_6; *(generic32_t *) var_5 = 1; var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12); if (!(var_4 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; } *var_0 = var_3; var_1 = *(generic32_t *) (revng_undefined_local_sp() - 28); return var_1; } generic32_t var_20; generic32_t var_21; var_20 = *(generic32_t *) (revng_undefined_local_sp() - 8) - *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_2 >> 11); *(generic32_t *) (revng_undefined_local_sp() - 8) = var_20; var_21 = var_2 - *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_2 >> 11); if (!(var_21 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_20 = ((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 8) - *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_2 >> 11)) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); var_21 = (number32_t) (var_2 - *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_2 >> 11)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_20; } generic32_t var_22; generic32_t var_23; if (var_20 < ((uint32_t) var_21 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 32)) { *(generic32_t *) (revng_undefined_local_sp() - 32) = 0; var_22 = *(generic32_t *) (revng_undefined_local_sp() - 16) - 1536; *(generic32_t *) (revng_undefined_local_sp() - 28) = 2; var_23 = ((uint32_t) var_21 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 32); } else { generic32_t var_24; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_20 - ((uint32_t) var_21 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 32); var_24 = var_21 - ((uint32_t) var_21 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 32); *(generic32_t *) (revng_undefined_local_sp() - 28) = 3; if (!(var_24 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_24 = (number32_t) (var_21 - ((uint32_t) var_21 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 32)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_25; generic32_t var_26; generic32_t var_27; generic32_t var_28; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_24 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 56)) { generic32_t var_29; *(generic32_t *) (revng_undefined_local_sp() - 20) = *(generic16_t *) ((*(generic32_t *) (revng_undefined_local_sp() - 36) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) - 3072); var_29 = ((uint32_t) var_24 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 56); if (!(((uint32_t) var_24 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 56) > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_29 = (number32_t) (((uint32_t) var_24 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 56)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; } var_28 = var_29; var_27 = *(generic32_t *) (revng_undefined_local_sp() - 20) * ((uint32_t) var_28 >> 11); var_4 = var_27; var_26 = *(generic32_t *) (revng_undefined_local_sp() - 8); if (var_26 < var_4) { var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12); if (!(var_4 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; } *var_0 = var_3; var_1 = *(generic32_t *) (revng_undefined_local_sp() - 28); return var_1; } var_25 = var_28 - var_27; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_26 - var_27; } else { generic32_t var_30; generic32_t var_31; var_30 = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_24 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 56); *(generic32_t *) (revng_undefined_local_sp() - 8) = var_30; var_31 = var_24 - ((uint32_t) var_24 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 56); if (!(var_31 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_30 = ((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_24 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 56)) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); var_31 = (number32_t) (var_24 - ((uint32_t) var_24 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 56)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_30; } var_25 = ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 80); if (!(var_30 < var_25)) { generic32_t var_32; generic32_t var_33; var_32 = var_30 - ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 80); *(generic32_t *) (revng_undefined_local_sp() - 8) = var_32; var_33 = var_31 - ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 80); if (!(var_33 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_32 = ((number32_t) (var_30 - ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 80)) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); var_33 = (number32_t) (var_31 - ((uint32_t) var_31 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 80)) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_32; } var_26 = var_32; var_28 = var_33; var_27 = ((uint32_t) var_28 >> 11) * *(generic16_t *) ((*(generic32_t *) NULL << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) + 104); var_25 = var_27; if (!(var_26 < var_25)) { var_25 = var_28 - var_27; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_26 - var_27; } } } var_23 = var_25; *(generic32_t *) (revng_undefined_local_sp() - 32) = 12; var_22 = *(generic32_t *) (revng_undefined_local_sp() - 16) - 2560; } generic32_t var_34; var_34 = var_23; if (!(var_34 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_34 = (number32_t) var_23 << 8; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; } generic32_t var_35; generic32_t var_36; if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_34 >> 11) * *(generic16_t *) var_22) { *(generic32_t *) (revng_undefined_local_sp() - 24) = 0; *(generic32_t *) (revng_undefined_local_sp() - 20) = 8; var_35 = (*(generic32_t *) (revng_undefined_local_sp() - 24) << 1) + var_22; var_36 = ((uint32_t) var_34 >> 11) * *(generic16_t *) var_22; } else { generic32_t var_37; generic32_t var_38; var_37 = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_34 >> 11) * *(generic16_t *) var_22; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_37; var_38 = var_34 - ((uint32_t) var_34 >> 11) * *(generic16_t *) var_22; if (!(var_38 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_37 = ((number32_t) (*(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_34 >> 11) * *(generic16_t *) var_22) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); var_38 = (number32_t) (var_34 - ((uint32_t) var_34 >> 11) * *(generic16_t *) var_22) << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_37; } if (var_37 < ((uint32_t) var_38 >> 11) * *(generic16_t *) (var_22 + 16)) { var_35 = (*(generic32_t *) (revng_undefined_local_sp() - 24) << 1) + var_22 + 16; *(generic32_t *) (revng_undefined_local_sp() - 24) = 8; *(generic32_t *) (revng_undefined_local_sp() - 20) = 8; var_36 = ((uint32_t) var_38 >> 11) * *(generic16_t *) (var_22 + 16); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = var_37 - ((uint32_t) var_38 >> 11) * *(generic16_t *) (var_22 + 16); var_36 = var_38 - ((uint32_t) var_38 >> 11) * *(generic16_t *) (var_22 + 16); var_35 = var_22 + 512; *(generic32_t *) (revng_undefined_local_sp() - 24) = 16; *(generic32_t *) (revng_undefined_local_sp() - 20) = 256; } } generic32_t var_39; generic32_t var_40; var_40 = var_36; *(generic32_t *) (revng_undefined_local_sp() - 52) = 1; var_39 = 1; generic32_t var_41; generic32_t var_42; generic32_t var_43; generic32_t var_44; generic32_t var_45; generic32_t var_46; while (true) { generic32_t var_47; var_47 = var_40; if (!(var_47 > 16777215)) { if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { var_1 = 0; break; } var_47 = (number32_t) var_40 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_48; generic32_t var_49; var_49 = ((uint32_t) var_47 >> 11) * *(generic16_t *) (var_35 + (var_39 << 1)); var_48 = var_39 << 1; if (!(*(generic32_t *) (revng_undefined_local_sp() - 8) < var_49)) { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_47 >> 11) * *(generic16_t *) (var_35 + (var_39 << 1)); var_49 = var_47 - ((uint32_t) var_47 >> 11) * *(generic16_t *) (var_35 + (var_39 << 1)); var_48 = (var_39 << 1) | 0x1; } if (var_48 < *(generic32_t *) (revng_undefined_local_sp() - 20)) { continue; } var_4 = var_49; if (*(generic32_t *) (revng_undefined_local_sp() - 32) > 3) { loop_state_var = 3; break; } generic32_t var_50; generic32_t var_51; *(generic32_t *) (revng_undefined_local_sp() - 52) = 1; var_50 = 1; var_51 = var_49; while (true) { generic32_t var_52; var_52 = var_51; if (!(var_52 > 16777215)) { if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { var_1 = 0; loop_state_var = 2; break; } var_52 = (number32_t) var_51 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } generic32_t var_53; var_53 = ((uint32_t) var_52 >> 11) * *(generic16_t *) (((number32_t) llvm_umin_i32(var_48 + (*(generic32_t *) (revng_undefined_local_sp() - 24) - *(generic32_t *) (revng_undefined_local_sp() - 20)), 3) << 7) + 128 + *(generic32_t *) (revng_undefined_local_sp() - 16) + (var_50 << 1)); var_46 = var_50 << 1; if (!(*(generic32_t *) (revng_undefined_local_sp() - 8) < var_53)) { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_52 >> 11) * *(generic16_t *) (((number32_t) llvm_umin_i32(var_48 + (*(generic32_t *) (revng_undefined_local_sp() - 24) - *(generic32_t *) (revng_undefined_local_sp() - 20)), 3) << 7) + 128 + *(generic32_t *) (revng_undefined_local_sp() - 16) + (var_50 << 1)); var_53 = var_52 - ((uint32_t) var_52 >> 11) * *(generic16_t *) (((number32_t) llvm_umin_i32(var_48 + (*(generic32_t *) (revng_undefined_local_sp() - 24) - *(generic32_t *) (revng_undefined_local_sp() - 20)), 3) << 7) + 128 + *(generic32_t *) (revng_undefined_local_sp() - 16) + (var_50 << 1)); var_46 = (var_50 << 1) | 0x1; } if (!(var_46 > 63)) { continue; } var_4 = var_53; if ((var_46 & 0xFFFFFFFC) == 64) { loop_state_var = 3; break; } *(generic32_t *) (revng_undefined_local_sp() - 24) = ((var_46 - 64) >> 1) - 1; if (var_46 < 64 || var_46 > 77) { var_44 = *(generic32_t *) (revng_undefined_local_sp() - 12); var_43 = 0; var_45 = var_53; loop_state_var = 0; break; } var_41 = (((var_46 & 0x1) | 0x2) << ((((var_46 - 64) >> 1) - 1) & 0x1F) << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16) - 3328; var_42 = var_53; loop_state_var = 1; break; } bool var_54 = false; switch (loop_state_var) { case 0: { loop_state_var = 0; var_54 = true; break; } break; case 1: { loop_state_var = 1; var_54 = true; break; } break; case 2: { var_54 = true; break; } break; case 3: { loop_state_var = 3; var_54 = true; break; } break; } if (var_54){ break;} } generic32_t var_55; generic32_t var_56; generic32_t var_57; generic32_t var_58; generic32_t var_59; generic32_t var_60; generic32_t var_61; switch (loop_state_var) { case 0: { while (true) { generic32_t var_62; generic32_t var_63; var_62 = var_44; var_63 = var_45; if (!(var_63 > 16777215)) { if (!(var_44 < *var_0)) { var_1 = 0; return var_1; } var_63 = (number32_t) var_45 << 8; var_62 = var_44 + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) var_44; *(generic32_t *) (revng_undefined_local_sp() - 12) = var_62; } generic8_t var_64; var_45 = var_63 >> 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((((uint32_t) (*(generic32_t *) (revng_undefined_local_sp() - 8) - var_45) >> 31) + 2147483647) & var_45); var_64 = ((var_46 - 64) >> 1) - 6 == var_43; var_43 = var_43 + 1; if (!(var_64)) { continue; } var_41 = *(generic32_t *) (revng_undefined_local_sp() - 16); *(generic32_t *) (revng_undefined_local_sp() - 24) = 4; var_42 = var_63 >> 1; break; } var_61 = var_42; *(generic32_t *) (revng_undefined_local_sp() - 16) = var_41; *(generic32_t *) (revng_undefined_local_sp() - 52) = 1; var_59 = 1; var_60 = 1; while (true) { var_58 = var_61; if (!(var_58 > 16777215)) { if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { var_1 = 0; return var_1; } var_58 = (number32_t) var_61 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_58 >> 11) * *(generic16_t *) ((var_60 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16))) { var_55 = var_59 << 1; var_56 = var_59; var_57 = ((uint32_t) var_58 >> 11) * *(generic16_t *) ((var_60 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16)); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_58 >> 11) * *(generic16_t *) ((var_60 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16)); var_56 = var_59 << 1; var_55 = var_56; var_57 = var_58 - ((uint32_t) var_58 >> 11) * *(generic16_t *) ((var_60 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16)); } *(generic32_t *) (revng_undefined_local_sp() - 24) = *(generic32_t *) (revng_undefined_local_sp() - 24) - 1; var_60 = var_60 + var_56; if (*(generic32_t *) (revng_undefined_local_sp() - 24) != 1) { continue; } var_4 = var_57; break; } var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12); if (!(var_4 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; } *var_0 = var_3; var_1 = *(generic32_t *) (revng_undefined_local_sp() - 28); } break; case 1: { var_61 = var_42; *(generic32_t *) (revng_undefined_local_sp() - 16) = var_41; *(generic32_t *) (revng_undefined_local_sp() - 52) = 1; var_59 = 1; var_60 = 1; while (true) { var_58 = var_61; if (!(var_58 > 16777215)) { if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { var_1 = 0; return var_1; } var_58 = (number32_t) var_61 << 8; *(generic32_t *) (revng_undefined_local_sp() - 12) = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; *(generic32_t *) (revng_undefined_local_sp() - 8) = ((number32_t) *(generic32_t *) (revng_undefined_local_sp() - 8) << 8) | *(generic8_t *) *(generic32_t *) (revng_undefined_local_sp() - 12); } if (*(generic32_t *) (revng_undefined_local_sp() - 8) < ((uint32_t) var_58 >> 11) * *(generic16_t *) ((var_60 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16))) { var_55 = var_59 << 1; var_56 = var_59; var_57 = ((uint32_t) var_58 >> 11) * *(generic16_t *) ((var_60 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16)); } else { *(generic32_t *) (revng_undefined_local_sp() - 8) = *(generic32_t *) (revng_undefined_local_sp() - 8) - ((uint32_t) var_58 >> 11) * *(generic16_t *) ((var_60 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16)); var_56 = var_59 << 1; var_55 = var_56; var_57 = var_58 - ((uint32_t) var_58 >> 11) * *(generic16_t *) ((var_60 << 1) + *(generic32_t *) (revng_undefined_local_sp() - 16)); } *(generic32_t *) (revng_undefined_local_sp() - 24) = *(generic32_t *) (revng_undefined_local_sp() - 24) - 1; var_60 = var_60 + var_56; if (*(generic32_t *) (revng_undefined_local_sp() - 24) != 1) { continue; } var_4 = var_57; break; } var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12); if (!(var_4 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; } *var_0 = var_3; var_1 = *(generic32_t *) (revng_undefined_local_sp() - 28); } break; case 3: { var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12); if (!(var_4 > 16777215)) { var_1 = 0; if (!(*(generic32_t *) (revng_undefined_local_sp() - 12) < *var_0)) { return var_1; } var_3 = *(generic32_t *) (revng_undefined_local_sp() - 12) + 1; } *var_0 = var_3; var_1 = *(generic32_t *) (revng_undefined_local_sp() - 28); } break; } return var_1; } _ABI(Microsoft_x86_cdecl) struct_780 function_0x407044_Code_x86(void) { struct_780 var_0; ((rawfunction_267 *) *(generic32_t *) NULL)(undef(generic32_t), *(generic32_t *) NULL); *(generic32_t *) NULL = 0; var_0.offset_4 = *(generic32_t *) NULL; return var_0; } _ABI(Microsoft_x86_cdecl) generic32_t function_0x407057_Code_x86(generic32_t argument_0) { generic32_t var_0; generic32_t var_1; var_0 = argument_0; if (argument_0 > 4) { *(generic32_t *) NULL = llvm_umax_i32(((number32_t) (((number32_t) *(generic8_t *) NULL << 16) | ((number32_t) *(generic8_t *) NULL << 8) | *(generic8_t *) NULL) << 8) | *(generic8_t *) NULL, 4096); if (!((number8_t) llvm_umax_i32(((number32_t) (((number32_t) *(generic8_t *) NULL << 16) | ((number32_t) *(generic8_t *) NULL << 8) | *(generic8_t *) NULL) << 8) | *(generic8_t *) NULL, 4096) > (uint8_t) -' ')) { *(generic32_t *) (revng_undefined_local_sp() - 12) = 5; *(generic8_t *) NULL = (number8_t) ((llvm_umax_i32(((number32_t) (((number32_t) *(generic8_t *) NULL << 16) | ((number32_t) *(generic8_t *) NULL << 8) | *(generic8_t *) NULL) << 8) | *(generic8_t *) NULL, 4096) & 0xFF) / 9 / 5); *(generic8_t *) NULL = (number8_t) ((int64_t) ((llvm_umax_i32(((number32_t) (((number32_t) *(generic8_t *) NULL << 16) | ((number32_t) *(generic8_t *) NULL << 8) | *(generic8_t *) NULL) << 8) | *(generic8_t *) NULL, 4096) & 0xFF) / 9) % *(generic32_t *) (revng_undefined_local_sp() - 12)); var_1 = 0; return var_1; } } *(generic32_t *) (revng_undefined_local_sp() - 8) = 4; var_1 = 4; return var_1; } _ABI(Microsoft_x86_cdecl) struct_783 function_0x4070c7_Code_x86(generic32_t argument_0, generic32_t argument_1) { struct_437 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; generic32_t var_3; generic32_t var_4; generic32_t var_5; var_1 = argument_0; var_2 = argument_1; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = argument_0; var_0 = function_0x407057_Code_x86(var_3); var_4 = var_0; if (!var_4) { struct_785 var_6; generic32_t var_7; *(generic32_t *) ((pointer_or_number32_t) &stack - 8) = var_2; var_6 = function_0x407101_Code_x86((generic32_t *) var_7); var_4 = var_6.offset_0; var_5 = var_6.offset_4; if (!var_4) { *(generic32_t *) NULL = stack.offset_4; *(generic32_t *) NULL = stack.offset_8; var_4 = 0; var_5 = var_6.offset_4; } } struct_783 var_8; var_8.offset_0 = var_4; var_8.offset_4 = var_5; return var_8; } _ABI(Microsoft_x86_cdecl) struct_785 function_0x407101_Code_x86(generic32_t *argument_0) { struct_446 stack; generic32_t *var_0; generic32_t var_1; generic32_t var_2; var_0 = argument_0; var_2 = 0; if (!(*(generic32_t *) NULL != 0 && (0x300 << (((number8_t) *(generic8_t *) NULL << '\001') & 0x1E)) + 1984 == *(generic32_t *) NULL)) { generic32_t var_3; struct_780 var_4; var_4 = function_0x407044_Code_x86(); var_3 = ((rawfunction_268 *) *argument_0)((generic32_t) argument_0, ((0x300 << (((number8_t) *(generic8_t *) NULL << '\001') & 0x1E)) + 1984) << 1); *(generic32_t *) NULL = var_3; if (!var_3) { stack.offset_0 = 2; var_1 = ((0x300 << (((number8_t) *(generic8_t *) NULL << '\001') & 0x1E)) + 1984) << 1; var_2 = 2; } else { *(generic32_t *) NULL = var_3 + 3328; var_1 = ((0x300 << (((number8_t) *(generic8_t *) NULL << '\001') & 0x1E)) + 1984) << 1; var_2 = 0; } } struct_785 var_5; var_5.offset_0 = var_2; var_5.offset_4 = var_1; return var_5; } _ABI(Microsoft_x86_cdecl) union_604 *function_0x407158_Code_x86(generic32_t argument_0) { generic32_t var_0; generic32_t var_1; generic32_t var_2; var_0 = argument_0; *(generic32_t *) (revng_undefined_local_sp() - 4) = (pointer_or_number32_t) &segment_2 + 2272; *(generic32_t *) (revng_undefined_local_sp() - 8) = var_0; function_0x407430_Code_x86(var_1, var_2); return (union_604 *) undef(generic32_t); } _ABI(Microsoft_x86_cdecl) generic32_t function_0x407169_Code_x86(void) { union_604 *var_0; generic32_t var_1; var_0 = function_0x407158_Code_x86(var_1); return ~(generic32_t) var_0; } _ABI(Microsoft_x86_cdecl) struct_789 function_0x407179_Code_x86(void) { generic64_t var_0; generic32_t var_1; var_0 = 0; var_1 = 0; generic8_t var_2; generic32_t var_3; do { generic32_t var_4; var_3 = var_1; *(generic32_t *) (revng_undefined_local_sp() - 16) = 8; var_4 = 0; generic32_t var_5; do { var_5 = !(var_3 & 0x1) ? 0 : 3988292384; var_3 = (var_3 >> 1) ^ var_5; var_4 = var_4 + 1; } while (var_4 != 8); *(generic32_t *) ((var_0 << 2) + 4237536) = var_3; var_2 = var_1 > 254; var_1 = var_1 + 1; var_0 = var_0 + 1; } while (!(var_2)); generic64_t var_6; generic32_t var_7; var_6 = 0; var_7 = 0; generic8_t var_8; generic32_t var_9; do { var_9 = (uint32_t) *(generic32_t *) ((var_6 << 2) + 4237536) >> 8; *(generic32_t *) ((var_6 << 2) + 4238560) = *(generic32_t *) (((*(generic32_t *) ((var_6 << 2) + 4237536) << 2) & 0x3FC) + ((pointer_or_number32_t) &segment_2 + 2272)) ^ var_9; var_8 = var_7 << 2 < (uint32_t) -4238564 && var_7 << 2 > 11259; var_7 = var_7 + 1; var_6 = var_6 + 1; } while (!(var_8)); struct_789 var_10; var_10.offset_0 = var_9; var_10.offset_4 = *(generic32_t *) ((var_6 << 2) + 4238560); return var_10; } _ABI(Microsoft_x86_cdecl) void function_0x4071d6_Code_x86(void) { } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4071e0_Code_x86(void) { generic32_t var_0; generic32_t var_1; do { var_0 = var_1; var_1 = var_0 - 4096; } while ((var_0 & 0xFFFFF000) != 4096); *(generic32_t *) NULL = *(generic32_t *) revng_undefined_local_sp(); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) struct_793 function_0x407210_Code_x86(void) { struct_793 var_0; return var_0; } _ABI(Microsoft_x86_cdecl) struct_795 function_0x407230_Code_x86(void) { struct_795 var_0; return var_0; } _ABI(Microsoft_x86_cdecl) void function_0x407250_Code_x86(void) { } _ABI(Microsoft_x86_cdecl) void function_0x407256_Code_x86(void) { } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x407294_Code_x86(void) { struct_447 stack; generic32_t var_0; generic32_t var_1; generic32_t var_2; stack.offset_164 = 4294967295; stack.offset_160 = (pointer_or_number32_t) &segment_1.offset_3052 + 76; stack.offset_156 = function_0x407420_Code_x86; stack.offset_152 = *(generic32_t *) NULL; *(generic32_t **) NULL = &stack.offset_152; stack.offset_44 = 0; stack.offset_144 = (pointer_or_number32_t) &stack.offset_32 + 4; stack.offset_164 = 0; stack.offset_32 = 2; var_2 = ((cabifunction_847 *) segment_1.offset_188)(); *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 14560) = 4294967295; *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 14564) = 4294967295; var_1 = ((rawfunction_273 *) segment_1.offset_184)(var_2, stack.offset_32); *(generic32_t *) var_1 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2256); var_0 = ((cabifunction_848 *) segment_1.offset_180)(); *(generic32_t *) var_0 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2252); *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 14568) = *segment_1.offset_176; function_0x407413_Code_x86(); if (!*(generic32_t *) ((pointer_or_number32_t) &segment_2 + 16)) { stack.offset_32 = function_0x407410_Code_x86; ((cabifunction_849 *) segment_1.offset_172)(); } generic32_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; function_0x4073fe_Code_x86(); stack.offset_32 = (pointer_or_number32_t) &segment_2 + 12; stack.offset_28 = (pointer_or_number32_t) &segment_2 + 8; function_0x4073f8_Code_x86(); stack.offset_60 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2248); stack.offset_24 = &stack.offset_60; stack.offset_20 = *(generic32_t *) ((pointer_or_number32_t) &segment_2 + 2244); stack.offset_16 = (pointer_or_number32_t) &stack.offset_60 + 8; stack.offset_12 = (pointer_or_number32_t) &stack.offset_52 + 4; stack.offset_8 = (pointer_or_number32_t) &stack.offset_60 + 12; var_3 = ((rawfunction_276 *) segment_1.offset_164)(); stack.offset_4 = (pointer_or_number32_t) &segment_2 + 4; stack.offset_0 = &segment_2; function_0x4073f8_Code_x86(); stack.offset_52 = *segment_1.offset_160; if ((*segment_1.offset_160)->offset_0 == '\"') { generic32_t var_9; generic32_t var_10; var_9 = 0; var_10 = segment_1.offset_160; while (true) { generic32_t var_11; bool var_12 = false; var_11 = var_9; stack.offset_52 = (pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_11 * 1; var_10 = (var_10 & 0xFFFFFF00) | *(generic8_t *) ((pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_11 * 1); var_9 = var_11 + 1; switch ((number8_t) *(generic8_t *) ((pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_11 * 1)) { case 0: case 34: { switch ((number8_t) *(generic8_t *) ((pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_11 * 1)) { case 0: { var_4 = (pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_11 * 1; var_6 = (pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_11 * 1; var_5 = var_10; } break; case 34: { var_8 = (pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_11 * 1; var_7 = var_10; var_5 = var_7; var_6 = var_8 + 1; stack.offset_52 = var_6; var_4 = var_6; } break; } var_12 = true; break; } break; default: { } break; } if (var_12){ break;} } } else { var_4 = *segment_1.offset_160; var_5 = segment_1.offset_160; var_6 = *segment_1.offset_160; if ((*segment_1.offset_160)->offset_0 > ' ') { generic32_t var_13; var_13 = 0; generic32_t var_14; do { var_14 = var_13; stack.offset_52 = (pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_14 * 1; var_13 = var_14 + 1; } while (*(generic8_t *) ((pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_14 * 1) > ' '); var_4 = (pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_14 * 1; var_6 = (pointer_or_number32_t) &(*segment_1.offset_160)->offset_1 + var_14 * 1; var_5 = segment_1.offset_160; } } var_7 = (var_5 & 0xFFFFFF00) | *(generic8_t *) var_4; while (!(*(generic8_t *) var_4 < '\001' || *(generic8_t *) var_4 > ' ')) { var_5 = var_7; var_6 = var_8 + 1; stack.offset_52 = var_6; var_4 = var_6; var_7 = (var_5 & 0xFFFFFF00) | *(generic8_t *) var_4; } generic32_t var_15; generic32_t var_16; generic32_t var_17; generic32_t var_18; artificial_struct_returned_by_rawfunction_278 var_19; stack.offset_120.member_1 = 0; stack.offset_32 = (pointer_or_number32_t) &stack.offset_60 + 16; var_17 = ((rawfunction_277 *) segment_1.offset_96)(var_3); var_18 = 10; if (!(stack.offset_120.member_0 & 0x1)) { stack.offset_28 = var_18; stack.offset_24 = var_6; stack.offset_20 = 0; stack.offset_16 = 0; var_19 = ((rawfunction_278 *) segment_1.offset_92)(var_17); var_16 = var_19.register_eax; var_15 = var_19.register_ecx; stack.offset_12 = var_16; function_0x401000_Code_x86(); } var_18 = stack.offset_124; stack.offset_28 = var_18; stack.offset_24 = var_6; stack.offset_20 = 0; stack.offset_16 = 0; var_19 = ((rawfunction_278 *) segment_1.offset_92)(var_17); var_16 = var_19.register_eax; var_15 = var_19.register_ecx; stack.offset_12 = var_16; function_0x401000_Code_x86(); } _ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4073e6_Code_x86(void) { *(generic32_t *) (*(generic32_t *) NULL - 4) = *(generic32_t *) NULL; ((cabifunction_877 *) segment_1.offset_152)(); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_cdecl) void function_0x4073f2_Code_x86(void) { } _ABI(Microsoft_x86_cdecl) void function_0x4073f8_Code_x86(void) { } _ABI(Microsoft_x86_cdecl) void function_0x4073fe_Code_x86(void) { struct_448 stack; stack.offset_4 = 196608; stack.offset_0 = 65536; function_0x407426_Code_x86(); } _ABI(Microsoft_x86_cdecl) generic32_t function_0x407410_Code_x86(void) { return 0; } _ABI(Microsoft_x86_cdecl) void function_0x407413_Code_x86(void) { } _ABI(Microsoft_x86_cdecl) void function_0x407420_Code_x86(void) { } _ABI(Microsoft_x86_cdecl) void function_0x407426_Code_x86(void) { } _ABI(Microsoft_x86_cdecl) void function_0x407430_Code_x86(generic32_t argument_0, generic32_t argument_1) { generic32_t var_0; generic32_t var_1; generic32_t var_2; var_0 = argument_0; var_1 = argument_1; if (argument_0 > 30) { generic8_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; do { var_5 = lshift(*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL, 4294967272); var_4 = lshift(*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) ((((*(generic32_t *) (((llvm_fshl_i32(var_6, var_6, 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(var_6, var_6, 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL)) << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) (*(generic32_t *) (((llvm_fshl_i32(var_6, var_6, 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(var_6, var_6, 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL)) >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL, 4294967272); var_6 = *(generic32_t *) (((llvm_fshl_i32(*(generic32_t *) (((llvm_fshl_i32(var_6, var_6, 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(var_6, var_6, 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL), *(generic32_t *) (((llvm_fshl_i32(var_6, var_6, 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(var_6, var_6, 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL), 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(*(generic32_t *) (((llvm_fshl_i32(var_6, var_6, 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(var_6, var_6, 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL), *(generic32_t *) (((llvm_fshl_i32(var_6, var_6, 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(var_6, var_6, 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL), 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) ((((*(generic32_t *) (((llvm_fshl_i32(var_6, var_6, 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(var_6, var_6, 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL)) << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) (*(generic32_t *) (((llvm_fshl_i32(var_6, var_6, 16) << 2) & 0x3FC) + argument_1 + 9216) ^ *(generic32_t *) ((((uint32_t) llvm_fshl_i32(var_6, var_6, 16) >> 22) & 0x3FC) + argument_1 + 10240) ^ (*(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((*(generic32_t *) NULL << 2) & 0x3FC) + argument_1 + 7168) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 6) & 0x3FC) + argument_1 + 6144) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 14) & 0x3FC) + argument_1 + 5120) ^ *(generic32_t *) ((((uint32_t) *(generic32_t *) NULL >> 22) & 0x3FC) + argument_1 + 4096) ^ *(generic32_t *) (((var_6 << 2) & 0x3FC) + argument_1 + 11264) ^ *(generic32_t *) ((((uint32_t) var_6 >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL)) >> 22) & 0x3FC) + argument_1 + 8192) ^ *(generic32_t *) NULL); var_3 = var_7 < (uint32_t) -24; var_7 = var_7 + 24; } while (var_3); generic32_t var_8; var_8 = var_6; generic32_t var_9; while (var_9 < (uint32_t) -4) { var_9 = var_9 + 4; var_8 = *(generic32_t *) ((((uint32_t) var_8 >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((var_8 << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) var_8 >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) var_8 >> 14) & 0x3FC) + argument_1 + 1024) ^ *(generic32_t *) NULL; } var_2 = *(generic32_t *) ((((uint32_t) var_8 >> 22) & 0x3FC) + argument_1) ^ *(generic32_t *) (((var_8 << 2) & 0x3FC) + argument_1 + 3072) ^ *(generic32_t *) ((((uint32_t) var_8 >> 6) & 0x3FC) + argument_1 + 2048) ^ *(generic32_t *) ((((uint32_t) var_8 >> 14) & 0x3FC) + argument_1 + 1024); } if (!(argument_0 < 2)) { generic32_t var_10; generic32_t var_11; var_10 = 0; var_11 = var_2; generic8_t var_12; generic32_t var_13; do { var_11 = ((uint32_t) var_11 >> 8) ^ *(generic32_t *) ((((var_11 & 0xFF) ^ *(generic8_t *) var_13) << 2) + argument_1); var_13 = var_13 + 1; var_12 = argument_0 - 2 == var_10; var_10 = var_10 + 1; } while (!(var_12)); } }
Loading...