Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
binary
binary_decompiled.c
0 lines
|
2.98 MB
#include "types-and-globals.h" #include "helpers.h" _ABI(raw_x86_64) void function_0x140001000_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_311 stack_arguments _STACK) { stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = (number32_t) register_r9; } _ABI(Microsoft_x86_64) generic64_t function_0x140001017_Code_x86_64(void) { generic64_t var_0; var_0 = function_0x140001378_Code_x86_64(); segment_6.offset_32 = (number32_t) var_0; if (!*segment_2.offset_1616) { function_0x140003650_Code_x86_64(); } else { function_0x140003650_Code_x86_64(); } generic64_t var_1; function_0x140003590_Code_x86_64(); *(generic32_t *) *segment_2.offset_1616 = *segment_2.offset_1840; function_0x140003588_Code_x86_64(); *(generic32_t *) *segment_2.offset_1616 = *segment_2.offset_1808; var_1 = function_0x140001be0_Code_x86_64(); if (*(generic32_t *) *(generic64_t *) "`@" == 1) { struct_292 var_2; function_0x14000273a_Code_x86_64(*(generic64_t *) "", var_2); } return 0; } _ABI(Microsoft_x86_64) void function_0x14000109a_Code_x86_64(void) { generic64_t var_0; segment_6.offset_40 = *segment_2.offset_1888; var_0 = function_0x140003300_Code_x86_64((generic64_t) &segment_6.offset_4, (generic64_t) &segment_6.offset_8, (generic64_t) &segment_6.offset_16, *(generic32_t *) *(generic64_t *) "0@", (generic64_t) &segment_6.offset_40); segment_6.offset_24 = (number32_t) var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x140001125_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { struct_328 stack; generic64_t var_0; stack.offset_44 = 255; *segment_2.offset_1616 = 0; var_0 = function_0x140001154_Code_x86_64(argument_0, argument_1, argument_2); stack.offset_44 = (number32_t) var_0; return var_0 & 0xFFFFFFFF; } _ABI(Microsoft_x86_64) generic64_t function_0x140001154_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { struct_329 stack; generic64_t var_0; stack.offset_96 = 0; stack.offset_84 = 48; stack.offset_72 = *(generic64_t *) 48; stack.offset_88 = *(generic64_t *) (*(generic64_t *) 48 + 8); stack.offset_108 = 0; var_0 = argument_2; generic64_t *var_1; generic64_t var_2; while (true) { generic64_t var_3; stack.offset_64 = segment_2.offset_1712; stack.offset_56 = stack.offset_88; stack.offset_48 = 0; var_2 = stack.offset_56; var_1 = stack.offset_64; helper_lock(); var_3 = *var_1; if (!var_3) { *var_1 = var_2; var_3 = 0; } helper_unlock(); stack.offset_96 = var_3; if (!var_3) { } else { if (var_3 != stack.offset_88) { generic64_t var_4; var_4 = ((rawfunction_164 *) segment_7.offset_856)(1000); var_0 = var_4; continue; } stack.offset_108 = 1; } break; } generic64_t var_5; generic64_t var_6; switch ((number32_t) *segment_2.offset_1728) { case 1: { struct_303 var_7; function_0x140003460_Code_x86_64(31, var_7); } break; case 0: { *segment_2.offset_1728 = 1; var_5 = segment_2.offset_1776; var_6 = segment_2.offset_1792; function_0x140003648_Code_x86_64(); } break; default: { segment_6.offset_36 = 1; var_5 = var_2; var_6 = var_1; } break; } generic64_t var_8; generic64_t var_9; var_8 = var_5; var_9 = var_6; if (*segment_2.offset_1728 == 1) { var_8 = *(generic64_t *) ""; var_9 = segment_2.offset_1760; function_0x140003648_Code_x86_64(); *segment_2.offset_1728 = 2; } generic64_t var_10; var_10 = var_9; if (!stack.offset_108) { stack.offset_40 = segment_2.offset_1712; stack.offset_32 = 0; helper_lock(); var_10 = *stack.offset_40; *stack.offset_40 = 0; helper_unlock(); } generic64_t var_11; generic64_t var_12; generic64_t var_13; var_13 = var_10; var_11 = var_0; var_12 = var_8; if (*segment_2.offset_1536) { generic64_t var_14; generic64_t var_15; generic64_t var_16; artificial_struct_returned_by_rawfunction_165 var_17; var_17 = ((rawfunction_165 *) *segment_2.offset_1536)(0, 2, 0); var_16 = var_17.register_rcx; var_12 = var_16; var_15 = var_17.register_rdx; var_13 = var_15; var_14 = var_17.register_r8; var_11 = var_14; } generic64_t var_18; generic64_t var_19; generic64_t var_20; generic64_t var_21; generic64_t var_22; struct_318 var_23; artificial_struct_returned_by_rawfunction_166 var_24; _crt_atexit_2(var_12, var_13, var_11); var_24 = ((rawfunction_166 *) segment_7.offset_848)(*(generic64_t *) "p'", var_13, var_11, undef(generic64_t)); var_22 = var_24.register_rax; var_21 = var_24.register_r8; var_20 = var_24.register_r9; *segment_2.offset_1696 = var_22; function_0x140003658_Code_x86_64(); function_0x140001e20_Code_x86_64(); function_0x14000147c_Code_x86_64(segment_6.offset_4, (generic64_t) &segment_6.offset_8, var_23); var_19 = function_0x140001bb7_Code_x86_64(segment_6.offset_4, (generic64_t) &segment_6.offset_8, var_21, var_20); **segment_2.offset_1584 = segment_6.offset_16; var_18 = function_0x1400018ea_Code_x86_64(segment_6.offset_4, segment_6.offset_8, segment_6.offset_16, var_20); segment_6.offset_28 = (number32_t) var_18; if (!segment_6.offset_32) { function_0x140003668_Code_x86_64(); } if (!segment_6.offset_36) { function_0x140003608_Code_x86_64(); } return segment_6.offset_28; } _ABI(Microsoft_x86_64) generic64_t function_0x140001378_Code_x86_64(void) { struct_324 stack; generic64_t var_0; *segment_2.offset_1632 = 1; *segment_2.offset_1648 = 1; *segment_2.offset_1664 = 1; stack.offset_24 = *(generic64_t *) ""; var_0 = 0; if (*(generic16_t *) *(generic64_t *) "" == 23117) { stack.offset_16 = *(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60); var_0 = 0; if (*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60)) == 17744) { generic64_t var_1; stack.offset_8 = *(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24; var_0 = 0; switch ((number16_t) *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24)) { case 267: { var_0 = 0; var_1 = 208; if (!(*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 116) > 14)) { return var_0; } var_0 = *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24 + var_1) != 0; } break; case 523: { stack.offset_0 = *(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24; var_0 = 0; var_1 = 224; if (!(*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 132) > 14)) { return var_0; } var_0 = *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24 + var_1) != 0; } break; } } } return var_0; } _ABI(raw_x86_64) void function_0x14000147c_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), struct_318 stack_arguments _STACK) { struct_332 stack; generic64_t var_0; stack_arguments.offset_0 = (number32_t) register_rcx; stack_arguments.offset_8 = register_rdx; function_0x1400036b8_Code_x86_64(); stack.offset_48 = (int64_t) (((number64_t) stack_arguments.offset_0 << 32) + 4294967296) >> 29; stack.offset_40 = *stack_arguments.offset_8; stack.offset_60 = 0; var_0 = 0; if ((int32_t) stack_arguments.offset_0 > (int32_t) 0) { generic64_t var_1; var_1 = 0; do { function_0x140003570_Code_x86_64(); stack.offset_32 = *(generic64_t *) (stack.offset_40 + var_1) + 1; function_0x1400036b8_Code_x86_64(); *(generic64_t *) (stack.offset_48 + ((number64_t) stack.offset_60 << 3)) = stack.offset_32; function_0x140003688_Code_x86_64(); stack.offset_60 = stack.offset_60 + 1; var_1 = (number64_t) stack.offset_60 << 3; } while ((int64_t) ((number64_t) stack.offset_60 << 32) < (int64_t) ((number64_t) stack_arguments.offset_0 << 32)); var_0 = (number64_t) stack.offset_60 << 3; } *(generic64_t *) (stack.offset_48 + var_0) = 0; *stack_arguments.offset_8 = stack.offset_48; } _ABI(raw_x86_64) generic64_t function_0x140001583_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), struct_319 stack_arguments _STACK) { generic64_t var_0; generic64_t var_1; struct_302 var_2; stack_arguments.offset_0 = register_rcx; var_1 = function_0x140003400_Code_x86_64(register_rcx, register_rdx, var_2); var_0 = !var_1 ? 4294967295 : 0; return var_0; } _ABI(Microsoft_x86_64) void function_0x1400015c0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) generic64_t function_0x1400015d0_Code_x86_64(void) { return 0; } _ABI(Microsoft_x86_64) _Noreturn void _pei386_runtime_relocator(void) { } _ABI(Microsoft_x86_64) void function_0x140001690_Code_x86_64(void) { if (segment_1.offset_0) { ((cabifunction_716 *) segment_1.offset_0)((generic64_t) &segment_3); } } _ABI(raw_x86_64) generic64_t __mingw_raise_matherr(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_317 stack_arguments _STACK) { struct_338 stack; generic64_t var_0; stack_arguments.offset_0 = register_rcx; function_0x140003570_Code_x86_64(); stack.offset_88 = register_rcx - 14; function_0x1400036b8_Code_x86_64(); stack.offset_80 = register_rcx - 13; function_0x140003688_Code_x86_64(); *(generic8_t *) (stack.offset_88 + stack.offset_80) = '\000'; function_0x1400036b8_Code_x86_64(); stack.offset_72 = stack.offset_88 + stack.offset_80; function_0x140003688_Code_x86_64(); stack.offset_72->offset_14 = '\000'; stack.offset_64 = stack.offset_88 >> 1; function_0x1400036b8_Code_x86_64(); stack.offset_120 = 0; var_0 = stack.offset_64; if (var_0) { generic64_t var_1; var_1 = 0; generic64_t var_2; struct_298 var_3; do { var_2 = function_0x1400031e0_Code_x86_64(stack.offset_80 + (var_1 << 1), (generic64_t) "%2hhx", var_1 + stack.offset_56, register_r9, var_3); var_1 = stack.offset_120 + 1; stack.offset_120 = var_1; } while (var_1 < stack.offset_64); var_0 = stack.offset_64; } generic64_t var_4; function_0x1400036b8_Code_x86_64(); stack.offset_48 = var_0 + 1; stack.offset_112 = 0; var_4 = stack.offset_64; if (var_4) { generic64_t var_5; var_5 = 0; do { *(generic8_t *) (var_5 + stack.offset_48) = *(generic8_t *) (var_5 + stack.offset_56) ^ *(generic8_t *) ((pointer_or_number64_t) stack.offset_72 + ((number64_t) ((uint128_t) ((var_5 >> 1) * 5270498306774157605) >> 65) * (number64_t) -14 + var_5)); var_5 = stack.offset_112 + 1; stack.offset_112 = var_5; } while (var_5 < stack.offset_64); var_4 = stack.offset_64; } *(generic8_t *) (var_4 + stack.offset_48) = '\000'; stack.offset_104 = 0; stack.offset_96 = stack.offset_64 - 1; if (stack.offset_104 < stack.offset_96) { generic64_t var_6; var_6 = stack.offset_104; do { stack.offset_47 = *(generic8_t *) (var_6 + stack.offset_48); *(generic8_t *) (stack.offset_104 + stack.offset_48) = *(generic8_t *) (stack.offset_96 + stack.offset_48); *(generic8_t *) (stack.offset_48 + stack.offset_96) = stack.offset_47; stack.offset_104 = stack.offset_104 + 1; stack.offset_96 = stack.offset_96 - 1; var_6 = stack.offset_104; } while (var_6 < stack.offset_96); } function_0x1400036b0_Code_x86_64(); function_0x1400036b0_Code_x86_64(); function_0x1400036b0_Code_x86_64(); return stack.offset_48; } _ABI(Microsoft_x86_64) inline void __mingw_setusermatherr(generic64_t argument_0, generic64_t argument_1, struct_505 *argument_2) { generic64_t var_0; generic16_t var_1; generic64_t var_2; generic16_t var_3; generic64_t var_4; generic16_t var_5; generic64_t var_6; generic16_t var_7; generic64_t var_8; generic16_t var_9; generic64_t var_10; generic16_t var_11; generic64_t var_12; generic16_t var_13; generic64_t var_14; generic16_t var_15; generic8_t var_16; generic8_t var_17; generic64_t var_18; generic16_t var_19; helper_flds_FT0_wrapper(NULL, argument_2->offset_1, '\000', '\000', '\000', &var_17, &var_18, &var_19); helper_fmul_ST0_FT0_wrapper(NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '\000', '\000', var_17, 'P', '\000', '\000', var_18, var_19, &var_0, &var_1, &var_2, &var_3, &var_4, &var_5, &var_6, &var_7, &var_8, &var_9, &var_10, &var_11, &var_12, &var_13, &var_14, &var_15, &var_16); revng_abort("A broken return was taken"); } _ABI(Microsoft_x86_64) void _gnu_exception_handler(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) generic64_t function_0x1400018ea_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_334 stack; generic64_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; generic64_t var_4; generic64_t var_5; generic64_t var_6; generic64_t var_7; generic64_t var_8; generic64_t var_9; generic64_t var_10; generic64_t var_11; artificial_struct_returned_by_rawfunction_170 var_12; artificial_struct_returned_by_rawfunction_171 var_13; artificial_struct_returned_by_rawfunction_172 var_14; var_10 = function_0x140001bb7_Code_x86_64(argument_0, argument_1, argument_2, argument_3); var_12 = ((rawfunction_170 *) segment_7.offset_784)(argument_2); var_9 = var_12.register_rax; var_8 = var_12.register_r8; var_7 = var_12.register_r9; stack.offset_112 = var_9; var_13 = ((rawfunction_171 *) segment_7.offset_800)((generic64_t) "ntdll.dll", var_8); var_6 = var_13.register_rax; var_5 = var_13.register_r8; var_4 = var_13.register_r9; stack.offset_104 = var_6; var_14 = ((rawfunction_172 *) segment_7.offset_808)(var_6, (generic64_t) "NtQueryInformationProcess", var_5); var_3 = var_14.register_rax; var_2 = var_14.register_rdx; var_1 = var_14.register_r8; var_11 = var_1; var_0 = var_14.register_r9; stack.offset_96 = var_3; stack.offset_124 = 0; stack.offset_56 = 0; if (stack.offset_96) { generic64_t var_15; generic64_t var_16; generic64_t var_17; generic64_t var_18; generic64_t var_19; artificial_struct_returned_by_rawfunction_173 var_20; var_15 = stack.offset_112; stack.offset_32 = (pointer_or_number64_t) &stack.offset_32 + 20; var_20 = ((rawfunction_173 *) stack.offset_96)(var_15, 7, (generic64_t) &stack.offset_56, 8); var_19 = var_20.register_rax; var_18 = var_20.register_rdx; var_17 = var_20.register_r8; var_11 = var_17; var_16 = var_20.register_r9; if (!(var_19 & 0xFFFFFFFF)) { stack.offset_124 = stack.offset_56 != 0; var_11 = var_17; } } if (!stack.offset_124) { function_0x1400035e0_Code_x86_64(); } else { generic64_t var_21; generic64_t var_22; generic64_t var_23; generic64_t var_24; artificial_struct_returned_by_rawfunction_174 var_25; function_0x1400035e0_Code_x86_64(); function_0x1400035e0_Code_x86_64(); var_25 = ((rawfunction_174 *) segment_7.offset_824)(var_11); var_24 = var_25.register_rax; var_23 = var_25.register_rdx; var_22 = var_25.register_r8; var_21 = var_25.register_r9; if (!(var_24 & 0xFFFFFFFF)) { generic8_t *var_26; generic64_t var_27; generic64_t var_28; generic64_t var_29; struct_299 var_30; struct_317 var_31; function_0x1400035b8_Code_x86_64(); stack.offset_88 = "encrypted_flag.txt"; function_0x1400035c8_Code_x86_64(); function_0x1400035d0_Code_x86_64(); stack.offset_84 = (number32_t) stack.offset_88; function_0x1400035c8_Code_x86_64(); function_0x1400036b8_Code_x86_64(); stack.offset_72 = (int64_t) (((number64_t) stack.offset_84 << 32) + 4294967296) >> 32; var_27 = stack.offset_84; var_26 = stack.offset_88; function_0x1400035c0_Code_x86_64(); function_0x1400035b0_Code_x86_64(); *(generic8_t *) (stack.offset_72 + (pointer_or_number64_t) stack.offset_84) = '\000'; var_29 = __mingw_raise_matherr(stack.offset_72, (generic64_t) stack.offset_84, var_27, (generic64_t) var_26, var_31); stack.offset_64 = var_29; var_28 = function_0x140003240_Code_x86_64((pointer_or_number64_t) &segment_2.offset_548 + 52, var_29, var_27, (generic64_t) var_26, var_30); function_0x1400036b0_Code_x86_64(); function_0x1400036b0_Code_x86_64(); } else { function_0x1400035e0_Code_x86_64(); } } return 0; } _ABI(Microsoft_x86_64) _Noreturn void ___w64_mingwthr_add_key_dtor(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_341 stack; generic64_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; artificial_struct_returned_by_rawfunction_175 var_4; *(generic64_t *) &stack = argument_1; function_0x1400035e0_Code_x86_64(); function_0x1400035e0_Code_x86_64(); var_4 = ((rawfunction_175 *) segment_7.offset_824)(argument_2); var_3 = var_4.register_rax; var_2 = var_4.register_rdx; var_1 = var_4.register_r8; var_0 = var_4.register_r9; if (!(var_3 & 0xFFFFFFFF)) { function_0x1400035b8_Code_x86_64(); } else { function_0x1400035e0_Code_x86_64(); revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_64) _Noreturn void ___w64_mingwthr_remove_key_dtor(void) { function_0x1400035d0_Code_x86_64(); function_0x1400035c8_Code_x86_64(); function_0x1400036b8_Code_x86_64(); function_0x1400035c0_Code_x86_64(); function_0x1400035b0_Code_x86_64(); } _ABI(Microsoft_x86_64) void function_0x140001b00_Code_x86_64(void) { if (segment_1.offset_16->offset_0) { generic64_t var_0; var_0 = segment_1.offset_16->offset_0; do { ((cabifunction_718 *) var_0)(); segment_1.offset_16 = &segment_1.offset_16->offset_8; var_0 = segment_1.offset_16->offset_8; } while (var_0); } } _ABI(Microsoft_x86_64) generic64_t function_0x140001b3f_Code_x86_64(generic64_t argument_0, generic64_t argument_1) { struct_343 stack; generic32_t var_0; generic64_t var_1; var_0 = (number32_t) *(generic64_t *) *(generic64_t *) "`7"; stack.offset_44 = var_0; var_1 = argument_1; if (var_0 == (pointer_or_number32_t) -1) { generic32_t var_2; var_2 = 0; generic32_t var_3; do { var_3 = var_2; var_2 = var_3 + 1; stack.offset_44 = var_3; } while (*(generic64_t *) ((var_2 << 3) + *(generic64_t *) "`7")); var_0 = var_3; var_1 = var_2; } generic64_t var_4; var_4 = var_1; stack.offset_40 = var_0; if (var_0) { generic32_t var_5; var_5 = var_0; generic64_t var_6; do { var_6 = ((rawfunction_176 *) *(generic64_t *) ((var_5 << 3) + *(generic64_t *) "`7"))(); var_5 = stack.offset_40 - 1; stack.offset_40 = var_5; } while (var_5 != 0); var_4 = var_6; } generic64_t var_7; struct_319 var_8; var_7 = function_0x140001583_Code_x86_64((generic64_t) function_0x140001b00_Code_x86_64, var_4, var_8); return var_7; } _ABI(Microsoft_x86_64) _Noreturn void __mingw_TLScallback(generic64_t argument_0, generic64_t argument_1) { generic64_t var_0; struct_319 var_1; var_0 = function_0x140001583_Code_x86_64((generic64_t) function_0x140001b00_Code_x86_64, argument_1, var_1); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) generic64_t function_0x140001bb7_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; var_0 = segment_6.offset_160; if (!segment_6.offset_160) { generic64_t var_1; segment_6.offset_160 = 1; var_1 = function_0x140001b3f_Code_x86_64(argument_0, argument_1); var_0 = var_1; } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x140001be0_Code_x86_64(void) { return 0; } _ABI(raw_x86_64) generic64_t function_0x140001bf0_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), struct_310 stack_arguments _STACK) { struct_345 stack; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = (number32_t) register_rdx; stack_arguments.offset_16 = register_r8; if (*(generic32_t *) *(generic64_t *) "P@" != 2) { *(generic32_t *) *(generic64_t *) "P@" = 2; } switch ((number32_t) stack_arguments.offset_8) { case 2: { stack.offset_40 = (pointer_or_number64_t) &segment_8 + 88; } break; case 1: { generic64_t var_0; struct_293 var_1; var_0 = function_0x140002ba1_Code_x86_64(stack_arguments.offset_0, 1, stack_arguments.offset_16, var_1); } break; } return 1; } _ABI(Microsoft_x86_64) _Noreturn void _ValidateImageBase(void) { revng_abort("A longjmp was taken"); } _ABI(raw_x86_64) generic64_t function_0x140001cb0_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), struct_305 stack_arguments _STACK) { stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = (number32_t) register_rdx; stack_arguments.offset_16 = register_r8; switch ((number32_t) stack_arguments.offset_8) { case 0: case 3: { generic64_t var_0; struct_293 var_1; var_0 = function_0x140002ba1_Code_x86_64(stack_arguments.offset_0, stack_arguments.offset_8, register_r8, var_1); } break; } return 1; } _ABI(raw_x86_64) generic64_t function_0x140001d00_Code_x86_64(generic32_t *register_rcx _REG(rcx_x86_64), struct_308 stack_arguments _STACK) { struct_348 stack; uint8_t *var_0; stack.offset_88 = 0; stack.offset_104 = 0; stack.offset_112 = 0; stack.offset_120 = 0; *(generic32_t **) &stack_arguments = register_rcx; if (*register_rcx > 6) { var_0 = "Unknown error"; } else { var_0 = "Argument domain error (DOMAIN)"; switch ((number64_t) *(generic32_t *) ((pointer_or_number64_t) &segment_2.offset_952 + 44 + *register_rcx * 4)) { case 18446744073709537640U: { break; } break; case 18446744073709537653U: { var_0 = "Argument singularity (SIGN)"; } break; case 18446744073709537666U: { var_0 = "Overflow range error (OVERFLOW)"; } break; case 18446744073709537679U: { var_0 = "Partial loss of significance (PLOSS)"; } break; case 18446744073709537692U: { var_0 = "Total loss of significance (TLOSS)"; } break; case 18446744073709537705U: { var_0 = "The result is too small to be represented (UNDERFLOW)"; } break; case 18446744073709537718U: { var_0 = "Unknown error"; } break; default: { } break; } } generic64_t var_1; generic64_t var_2; struct_300 var_3; stack.offset_72 = var_0; function_0x140003580_Code_x86_64(); var_1 = stack.offset_72; stack.offset_48 = *(generic64_t *) (*(generic64_t *) &stack_arguments + 32); stack.offset_40 = *(generic64_t *) (*(generic64_t *) &stack_arguments + 24); stack.offset_32 = *(generic64_t *) (*(generic64_t *) &stack_arguments + 16); var_2 = function_0x1400032a0_Code_x86_64(*(generic64_t *) &stack_arguments, (generic64_t) "_matherr(): %s in %s(%g, %g) (retval=%g)\n", var_1, *(generic64_t *) (*(generic64_t *) &stack_arguments + 8), var_3); return 0; } _ABI(Microsoft_x86_64) _Noreturn void _FindPESection(generic64_t argument_0) { } _ABI(raw_x86_64) _Noreturn void _FindPESectionByName(struct_316 stack_arguments _STACK) { generic64_t var_0; struct_300 var_1; function_0x140003580_Code_x86_64(); stack_arguments.offset_40 = 0; var_0 = function_0x1400032a0_Code_x86_64(undef(generic64_t), (generic64_t) "_matherr(): %s in %s(%g, %g) (retval=%g)\n", undef(generic64_t), undef(generic64_t), var_1); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) void function_0x140001e20_Code_x86_64(void) { generic32_t var_0; generic16_t var_1; generic16_t var_2; generic8_t var_3; generic8_t var_4; generic8_t var_5; generic8_t var_6; generic8_t var_7; generic8_t var_8; generic8_t var_9; generic8_t var_10; generic8_t var_11; generic8_t var_12; helper_fninit_wrapper(NULL, 895, &var_0, &var_1, &var_2, &var_3, &var_4, &var_5, &var_6, &var_7, &var_8, &var_9, &var_10, &var_11, &var_12); } _ABI(raw_x86_64) _Noreturn void function_0x140001e30_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_320 stack_arguments _STACK) { struct_350 stack; generic64_t var_0; generic64_t var_1; struct_297 var_2; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_144 = (pointer_or_number64_t) &(&stack)[1] + 16; function_0x140003580_Code_x86_64(); function_0x1400035d8_Code_x86_64(); var_0 = stack.offset_144; var_1 = var_0; function_0x140003580_Code_x86_64(); function_0x140003190_Code_x86_64((generic64_t) "Mingw-w64 runtime failure:\n", stack_arguments.offset_0, var_1, (pointer_or_number64_t) &(&stack)[1] + 16, var_2); function_0x140003660_Code_x86_64(); stack.offset_96 = (pointer_or_number64_t) &stack.offset_144 + 8; stack.offset_112 = "Mingw-w64 runtime failure:\n"; stack.offset_92 = 0; if ((int32_t) segment_6.offset_248 > (int32_t) 0) { generic64_t var_3; generic32_t var_4; var_3 = var_0; var_4 = 0; while (true) { generic64_t var_5; var_5 = var_3; if (!((uint64_t) stack.offset_112 < *(generic64_t *) ((number64_t) var_4 * 40 + segment_6.offset_240 + 24))) { var_5 = segment_6.offset_240; if ((uint64_t) stack.offset_112 < *(generic64_t *) ((number64_t) var_4 * 40 + segment_6.offset_240 + 24) + *(generic32_t *) (*(generic64_t *) ((number64_t) var_4 * 40 + segment_6.offset_240 + 32) + 8)) { revng_abort("A longjmp was taken"); break; } } generic8_t var_6; stack.offset_92 = var_4 + 1; var_6 = (int64_t) ((number64_t) (var_4 + 1) << 32) < (int64_t) ((number64_t) segment_6.offset_248 << 32); var_4 = var_4 + 1; if (var_6) { continue; } var_1 = var_5; break; } } generic64_t var_7; struct_320 var_8; struct_296 var_9; var_7 = function_0x140002e7b_Code_x86_64((generic64_t) stack.offset_112, var_9); stack.offset_80 = var_7; if (!var_7) { function_0x140001e30_Code_x86_64((generic64_t) "Address %p has no image-section", (generic64_t) stack.offset_112, var_1, (pointer_or_number64_t) &(&stack)[1] + 16, var_8); } pointer_or_number64_t var_10; generic64_t var_11; *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 32) = var_7; *(generic32_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240) = 0; var_11 = function_0x140002fc7_Code_x86_64(); *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24) = var_11 + stack.offset_80->offset_12; var_10 = ((rawfunction_18 *) segment_7.offset_880)(*(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24), (pointer_or_number64_t) &stack.offset_32, 48, stack.offset_80->offset_12); if (!var_10) { function_0x140001e30_Code_x86_64((generic64_t) " VirtualQuery failed for %d bytes at address %p", stack.offset_80->offset_8, *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24), stack.offset_80->offset_12, var_8); } generic32_t var_12; var_12 = 4; switch ((number32_t) stack.offset_68) { case 4: case 8: case 64: case 128: { break; } break; default: { if ((number32_t) stack.offset_68 != 2) { var_12 = 64; } generic64_t var_13; generic64_t var_14; generic64_t var_15; generic64_t var_16; generic64_t var_17; artificial_struct_returned_by_rawfunction_178 var_18; stack.offset_88 = var_12; *(struct_451 **) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 8) = stack.offset_32; *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 16) = stack.offset_56; var_18 = ((rawfunction_178 *) segment_7.offset_872)((generic64_t) stack.offset_32, stack.offset_56, stack.offset_88, (number64_t) stack.offset_92 * 40 + segment_6.offset_240); var_17 = var_18.register_rax; var_16 = var_18.register_rcx; var_15 = var_18.register_rdx; var_14 = var_18.register_r8; var_13 = var_18.register_r9; if (!(var_17 & 0xFFFFFFFF)) { generic64_t var_19; generic64_t var_20; generic64_t var_21; artificial_struct_returned_by_rawfunction_179 var_22; var_22 = ((rawfunction_179 *) segment_7.offset_792)(var_16, var_15, var_14, var_13); var_21 = var_22.register_rax; var_20 = var_22.register_r8; var_19 = var_22.register_r9; function_0x140001e30_Code_x86_64((generic64_t) " VirtualProtect failed with code 0x%x", var_21 & 0xFFFFFFFF, var_20, var_19, var_8); } } break; } segment_6.offset_248 = segment_6.offset_248 + 1; revng_abort("A longjmp was taken"); } _ABI(raw_x86_64) void __mingw_GetSectionForAddress(struct_321 stack_arguments _STACK) { struct_354 stack; generic64_t var_0; struct_297 var_1; function_0x140003580_Code_x86_64(); function_0x140003190_Code_x86_64(undef(generic64_t), undef(generic64_t), undef(generic64_t), undef(generic64_t), var_1); function_0x140003660_Code_x86_64(); stack.offset_92 = 0; if ((int32_t) segment_6.offset_248 > (int32_t) 0) { generic32_t var_2; var_2 = 0; while (true) { generic64_t var_3; generic64_t var_4; var_3 = var_4; if (!(stack_arguments.offset_0 < *(generic64_t *) ((number64_t) var_2 * 40 + segment_6.offset_240 + 24))) { var_3 = segment_6.offset_240; if (stack_arguments.offset_0 < *(generic64_t *) ((number64_t) var_2 * 40 + segment_6.offset_240 + 24) + *(generic32_t *) (*(generic64_t *) ((number64_t) var_2 * 40 + segment_6.offset_240 + 32) + 8)) { return; } } generic8_t var_5; stack.offset_92 = var_2 + 1; var_5 = (int64_t) ((number64_t) (var_2 + 1) << 32) < (int64_t) ((number64_t) segment_6.offset_248 << 32); var_2 = var_2 + 1; if (var_5) { continue; } var_0 = var_3; break; } } generic64_t var_6; struct_320 var_7; struct_296 var_8; var_6 = function_0x140002e7b_Code_x86_64(stack_arguments.offset_0, var_8); stack.offset_80 = var_6; if (!var_6) { function_0x140001e30_Code_x86_64((generic64_t) "Address %p has no image-section", stack_arguments.offset_0, var_0, undef(generic64_t), var_7); } pointer_or_number64_t var_9; generic64_t var_10; *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 32) = var_6; *(generic32_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240) = 0; var_10 = function_0x140002fc7_Code_x86_64(); *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24) = var_10 + stack.offset_80->offset_12; var_9 = ((rawfunction_18 *) segment_7.offset_880)(*(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24), (pointer_or_number64_t) &stack.offset_32, 48, stack.offset_80->offset_12); if (!var_9) { function_0x140001e30_Code_x86_64((generic64_t) " VirtualQuery failed for %d bytes at address %p", stack.offset_80->offset_8, *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24), stack.offset_80->offset_12, var_7); } generic32_t var_11; var_11 = 4; switch ((number32_t) stack.offset_68) { case 4: case 8: case 64: case 128: { break; } break; default: { if ((number32_t) stack.offset_68 != 2) { var_11 = 64; } generic64_t var_12; generic64_t var_13; generic64_t var_14; generic64_t var_15; generic64_t var_16; artificial_struct_returned_by_rawfunction_181 var_17; stack.offset_88 = var_11; *(struct_451 **) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 8) = stack.offset_32; *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 16) = stack.offset_56; var_17 = ((rawfunction_181 *) segment_7.offset_872)((generic64_t) stack.offset_32, stack.offset_56); var_16 = var_17.register_rax; var_15 = var_17.register_rcx; var_14 = var_17.register_rdx; var_13 = var_17.register_r8; var_12 = var_17.register_r9; if (!(var_16 & 0xFFFFFFFF)) { generic64_t var_18; generic64_t var_19; generic64_t var_20; artificial_struct_returned_by_rawfunction_182 var_21; var_21 = ((rawfunction_182 *) segment_7.offset_792)(var_15, var_14); var_20 = var_21.register_rax; var_19 = var_21.register_r8; var_18 = var_21.register_r9; function_0x140001e30_Code_x86_64((generic64_t) " VirtualProtect failed with code 0x%x", var_20 & 0xFFFFFFFF, var_19, var_18, var_7); } } break; } segment_6.offset_248 = segment_6.offset_248 + 1; } _ABI(raw_x86_64) void function_0x140001ea0_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_322 stack_arguments _STACK) { struct_355 stack; generic64_t var_0; stack_arguments.offset_0 = register_rcx; stack.offset_92 = 0; if ((int32_t) segment_6.offset_248 > (int32_t) 0) { generic32_t var_1; var_1 = 0; while (true) { generic64_t var_2; generic64_t var_3; var_2 = var_3; if (!(stack_arguments.offset_0 < *(generic64_t *) ((number64_t) var_1 * 40 + segment_6.offset_240 + 24))) { var_2 = segment_6.offset_240; if (stack_arguments.offset_0 < *(generic64_t *) ((number64_t) var_1 * 40 + segment_6.offset_240 + 24) + *(generic32_t *) (*(generic64_t *) ((number64_t) var_1 * 40 + segment_6.offset_240 + 32) + 8)) { return; } } generic8_t var_4; stack.offset_92 = var_1 + 1; var_4 = (int64_t) ((number64_t) (var_1 + 1) << 32) < (int64_t) ((number64_t) segment_6.offset_248 << 32); var_1 = var_1 + 1; if (var_4) { continue; } var_0 = var_2; break; } } generic64_t var_5; struct_320 var_6; struct_296 var_7; var_5 = function_0x140002e7b_Code_x86_64(stack_arguments.offset_0, var_7); stack.offset_80 = var_5; if (!var_5) { function_0x140001e30_Code_x86_64((generic64_t) "Address %p has no image-section", stack_arguments.offset_0, var_0, undef(generic64_t), var_6); } pointer_or_number64_t var_8; generic64_t var_9; *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 32) = var_5; *(generic32_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240) = 0; var_9 = function_0x140002fc7_Code_x86_64(); *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24) = var_9 + stack.offset_80->offset_12; var_8 = ((rawfunction_18 *) segment_7.offset_880)(*(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24), (pointer_or_number64_t) &stack.offset_32, 48, stack.offset_80->offset_12); if (!var_8) { function_0x140001e30_Code_x86_64((generic64_t) " VirtualQuery failed for %d bytes at address %p", stack.offset_80->offset_8, *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 24), stack.offset_80->offset_12, var_6); } generic32_t var_10; var_10 = 4; switch ((number32_t) stack.offset_68) { case 4: case 8: case 64: case 128: { break; } break; default: { if ((number32_t) stack.offset_68 != 2) { var_10 = 64; } generic64_t var_11; generic64_t var_12; generic64_t var_13; generic64_t var_14; generic64_t var_15; artificial_struct_returned_by_rawfunction_184 var_16; stack.offset_88 = var_10; *(struct_451 **) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 8) = stack.offset_32; *(generic64_t *) ((number64_t) stack.offset_92 * 40 + segment_6.offset_240 + 16) = stack.offset_56; var_16 = ((rawfunction_184 *) segment_7.offset_872)((generic64_t) stack.offset_32, stack.offset_56); var_15 = var_16.register_rax; var_14 = var_16.register_rcx; var_13 = var_16.register_rdx; var_12 = var_16.register_r8; var_11 = var_16.register_r9; if (!(var_15 & 0xFFFFFFFF)) { generic64_t var_17; generic64_t var_18; generic64_t var_19; artificial_struct_returned_by_rawfunction_185 var_20; var_20 = ((rawfunction_185 *) segment_7.offset_792)(var_14, var_13); var_19 = var_20.register_rax; var_18 = var_20.register_r8; var_17 = var_20.register_r9; function_0x140001e30_Code_x86_64((generic64_t) " VirtualProtect failed with code 0x%x", var_19 & 0xFFFFFFFF, var_18, var_17, var_6); } } break; } segment_6.offset_248 = segment_6.offset_248 + 1; } _ABI(Microsoft_x86_64) _Noreturn void __mingw_GetSectionCount(generic64_t argument_0) { generic64_t var_0; generic64_t var_1; generic64_t var_2; struct_296 var_3; var_2 = lshift(undef(generic64_t), 0); var_1 = lshift(undef(generic64_t), 4); var_0 = function_0x140002e7b_Code_x86_64(undef(generic64_t), var_3); } _ABI(Microsoft_x86_64) _Noreturn void _FindPESectionExec(generic64_t argument_0) { revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void _GetPEImageBase(void) { pointer_or_number64_t var_0; struct_320 var_1; var_0 = ((rawfunction_18 *) segment_7.offset_880)(undef(generic64_t), undef(generic64_t), 48, undef(generic64_t)); function_0x140001e30_Code_x86_64((generic64_t) " VirtualQuery failed for %d bytes at address %p", undef(generic64_t), undef(generic64_t), undef(generic64_t), var_1); } _ABI(Microsoft_x86_64) _Noreturn void _IsNonwritableInCurrentImage(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, struct_451 **argument_3) { pointer_or_number64_t var_0; struct_320 var_1; var_0 = ((rawfunction_18 *) segment_7.offset_880)(undef(generic64_t), undef(generic64_t), 48, (pointer_or_number64_t) argument_3); function_0x140001e30_Code_x86_64((generic64_t) " VirtualQuery failed for %d bytes at address %p", undef(generic64_t), undef(generic64_t), (generic64_t) argument_3, var_1); } _ABI(Microsoft_x86_64) _Noreturn void __mingw_enum_import_library_names(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_320 var_0; function_0x140001e30_Code_x86_64(0, argument_1, argument_2, argument_3, var_0); } _ABI(Microsoft_x86_64) void function_0x14000217f_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { struct_358 stack; stack.offset_0.member_0.offset_44 = 0; if ((int32_t) segment_6.offset_248 > (int32_t) 0) { generic32_t var_0; var_0 = 0; do { if (*(generic32_t *) ((number64_t) var_0 * 40 + segment_6.offset_240)) { pointer_or_number64_t var_1; var_1 = ((rawfunction_18 *) segment_7.offset_872)(*(generic64_t *) ((number64_t) var_0 * 40 + segment_6.offset_240 + 8), *(generic64_t *) ((number64_t) var_0 * 40 + segment_6.offset_240 + 16), *(generic32_t *) ((number64_t) var_0 * 40 + segment_6.offset_240), (pointer_or_number64_t) &stack.offset_0.member_1.offset_40); } var_0 = stack.offset_0.member_0.offset_44 + 1; stack.offset_0.member_0.offset_44 = var_0; } while ((int64_t) ((number64_t) var_0 << 32) < (int64_t) ((number64_t) segment_6.offset_248 << 32)); } } _ABI(Microsoft_x86_64) _Noreturn void vfprintf(generic64_t argument_0) { pointer_or_number64_t var_0; var_0 = ((rawfunction_18 *) segment_7.offset_872)(undef(generic64_t), undef(generic64_t), undef(generic64_t), undef(generic64_t)); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void sscanf(generic64_t argument_0) { generic64_t var_0; generic64_t var_1; var_1 = lshift(undef(generic64_t), 0); var_0 = lshift(undef(generic64_t), 4); ((cabifunction_648 *) segment_7.offset_872)(undef(generic64_t), undef(generic64_t), 0, undef(generic64_t)); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void printf(void) { revng_abort("A longjmp was taken"); } _ABI(raw_x86_64) void function_0x140002257_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_312 stack_arguments _STACK) { stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; if (register_r8) { struct_322 var_0; function_0x140001ea0_Code_x86_64(stack_arguments.offset_0, var_0); function_0x140003688_Code_x86_64(); } } _ABI(raw_x86_64) void function_0x14000229e_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_313 stack_arguments _STACK) { struct_360 stack; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack.offset_72 = stack_arguments.offset_8 - (number64_t) stack_arguments.offset_0; stack.offset_96 = stack_arguments.offset_0; if ((int64_t) stack.offset_72 > (int64_t) 7) { generic64_t var_0; var_0 = stack_arguments.offset_0; if ((int64_t) stack.offset_72 > (int64_t) 11) { var_0 = stack_arguments.offset_0; if (!stack_arguments.offset_0->offset_0) { var_0 = stack_arguments.offset_0; if (!stack_arguments.offset_0->offset_4) { var_0 = stack_arguments.offset_0; if (!stack_arguments.offset_0->offset_8) { stack.offset_96 = &stack_arguments.offset_0->offset_12; var_0 = &stack_arguments.offset_0->offset_12; } } } } struct_312 var_1; if (!*(generic32_t *) var_0) { if (!*(generic32_t *) (var_0 + 4)) { struct_320 var_2; if (*(generic32_t *) (var_0 + 8) != 1) { function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation protocol version %d.\n", *(generic32_t *) (var_0 + 8), register_r8, register_r9, var_2); } stack.offset_88 = var_0 + 12; if (var_0 + 12 < stack_arguments.offset_8) { generic64_t var_3; generic64_t var_4; var_3 = register_r8; var_4 = var_0 + 12; while (true) { generic64_t var_5; generic64_t var_6; stack.offset_72 = stack_arguments.offset_16 + *(generic32_t *) (var_4 + 4); stack.offset_64 = stack_arguments.offset_16 + stack.offset_88->offset_0; stack.offset_64 = *stack.offset_64; if ((stack.offset_88->offset_8 & 0xFF) == 64) { var_6 = *stack.offset_72; var_5 = var_6; stack.offset_32 = var_5; } else { if ((stack.offset_88->offset_8 & 0xFF) > 64) { stack.offset_32 = 0; function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation bit size %d.\n", stack.offset_88->offset_8 & 0xFF, var_3, register_r9, var_2); } if ((stack.offset_88->offset_8 & 0xFF) == 32) { generic32_t var_7; var_7 = *(generic32_t *) stack.offset_72; var_5 = var_7; stack.offset_32 = var_5; if (!((int32_t) var_7 > -1)) { var_6 = var_7 | 0xFFFFFFFF00000000; var_5 = var_6; stack.offset_32 = var_5; } } else { if ((stack.offset_88->offset_8 & 0xFF) > 32) { stack.offset_32 = 0; function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation bit size %d.\n", stack.offset_88->offset_8 & 0xFF, var_3, register_r9, var_2); } switch ((number8_t) stack.offset_88->offset_8) { case 8: { generic8_t var_8; var_8 = *(generic8_t *) stack.offset_72; var_5 = var_8; stack.offset_32 = var_5; if (!((int8_t) var_8 > -'\001')) { var_6 = var_8 | 0xFFFFFFFFFFFFFF00; var_5 = var_6; stack.offset_32 = var_5; } } break; case 16: { generic16_t var_9; var_9 = *(generic16_t *) stack.offset_72; var_5 = var_9; stack.offset_32 = var_5; if (!((int16_t) var_9 > -1)) { var_6 = var_9 | 0xFFFFFFFFFFFF0000; var_5 = var_6; stack.offset_32 = var_5; } } break; default: { stack.offset_32 = 0; function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation bit size %d.\n", stack.offset_88->offset_8 & 0xFF, var_3, register_r9, var_2); } break; } } } generic32_t var_10; stack.offset_32 = var_5 - (stack_arguments.offset_16 + stack.offset_88->offset_0); stack.offset_32 = (pointer_or_number64_t) stack.offset_64 + stack.offset_32; var_10 = stack.offset_88->offset_8; stack.offset_60 = var_10 & 0xFF; if (!((var_10 & 0xFF) > 63)) { generic32_t var_11; generic64_t *var_12; generic64_t *var_13; stack.offset_48 = ~(0xFFFFFFFFFFFFFFFF << (var_10 & 0x3F)); stack.offset_40 = 0xFFFFFFFFFFFFFFFF << ((stack.offset_60 + 63) & 0x3F); if ((int64_t) stack.offset_48 < (int64_t) stack.offset_32) { var_13 = stack.offset_64; var_12 = stack.offset_72; var_11 = stack.offset_60; stack.offset_8 = stack.offset_32; function_0x140001e30_Code_x86_64((generic64_t) "%d bit pseudo relocation at %p out of range, targeting %p, yielding the value %p.\n", var_11, (generic64_t) var_12, (generic64_t) var_13, var_2); } generic64_t var_14; generic64_t var_15; generic32_t var_16; var_16 = stack.offset_40 == stack.offset_32 ? 64 : 0; var_15 = lshift(stack.offset_40 - stack.offset_32, 4294967240); var_14 = lshift((stack.offset_40 ^ stack.offset_32) & ((stack.offset_40 - stack.offset_32) ^ stack.offset_40), 4294967244); if ((var_16 | ((number32_t) var_15 & 0x80)) == (((uint32_t) (number32_t) var_14 >> 4) & 0x80)) { var_13 = stack.offset_64; var_12 = stack.offset_72; var_11 = stack.offset_60; stack.offset_8 = stack.offset_32; function_0x140001e30_Code_x86_64((generic64_t) "%d bit pseudo relocation at %p out of range, targeting %p, yielding the value %p.\n", var_11, (generic64_t) var_12, (generic64_t) var_13, var_2); } } generic64_t var_17; generic64_t var_18; generic64_t var_19; var_18 = lshift((uint64_t) ((stack.offset_88->offset_8 & 0xFF) - 64), 4294967272); var_17 = lshift((uint64_t) (((stack.offset_88->offset_8 & 0xFF) ^ 0x40) & ((stack.offset_88->offset_8 & 0xFF) ^ ((stack.offset_88->offset_8 & 0xFF) - 64))), 4294967276); if ((stack.offset_88->offset_8 & 0xFF) == 64) { function_0x140002257_Code_x86_64((generic64_t) stack.offset_72, (generic64_t) &stack.offset_32, 8, register_r9, var_1); var_19 = 8; } else { var_19 = var_3; if (!((stack.offset_88->offset_8 & 0xFF) > 64)) { if ((stack.offset_88->offset_8 & 0xFF) == 32) { function_0x140002257_Code_x86_64((generic64_t) stack.offset_72, (generic64_t) &stack.offset_32, 4, register_r9, var_1); var_19 = 4; } else { var_19 = var_3; if (!((stack.offset_88->offset_8 & 0xFF) > 32)) { var_19 = var_3; switch ((number8_t) stack.offset_88->offset_8) { case 8: { function_0x140002257_Code_x86_64((generic64_t) stack.offset_72, (generic64_t) &stack.offset_32, 1, register_r9, var_1); var_19 = 1; } break; case 16: { function_0x140002257_Code_x86_64((generic64_t) stack.offset_72, (generic64_t) &stack.offset_32, 2, register_r9, var_1); var_19 = 2; } break; } } } } } struct_489 *var_20; var_20 = stack.offset_88; var_4 = (pointer_or_number64_t) var_20 + 12; stack.offset_88 = (pointer_or_number64_t) &var_20->offset_8 + 4; if ((pointer_or_number64_t) &var_20->offset_8 + 4 < stack_arguments.offset_8) { continue; } break; } } return; } } stack.offset_80 = var_0; if (var_0 < stack_arguments.offset_8) { generic64_t var_21; var_21 = var_0; struct_513 *var_22; do { stack.offset_72 = stack_arguments.offset_16 + *(generic32_t *) (var_21 + 4); stack.offset_28 = *(generic32_t *) (stack_arguments.offset_16 + *(generic32_t *) (var_21 + 4)) + stack.offset_80->offset_0; function_0x140002257_Code_x86_64((generic64_t) stack.offset_72, (generic64_t) &stack.offset_28, 4, register_r9, var_1); var_22 = stack.offset_80; var_21 = (pointer_or_number64_t) var_22 + 8; stack.offset_80 = &var_22->offset_8; } while ((uint64_t) &var_22->offset_8 < stack_arguments.offset_8); } } } _ABI(Microsoft_x86_64) _Noreturn void fprintf(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_361 stack; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16) = argument_0; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 24) = argument_1; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 32) = argument_2; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 24) - *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16); *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 8) = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16); if ((int64_t) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) > (int64_t) 7) { generic64_t var_0; var_0 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16); if ((int64_t) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) > (int64_t) 11) { var_0 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16); if (!*(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16)) { var_0 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16); if (!*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16) + 4)) { var_0 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16); if (!*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16) + 8)) { var_0 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 16) + 12; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 8) = var_0; } } } } struct_312 var_1; if (!*(generic32_t *) var_0) { if (!*(generic32_t *) (var_0 + 4)) { struct_320 var_2; if (*(generic32_t *) (var_0 + 8) != 1) { function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation protocol version %d.\n", *(generic32_t *) (var_0 + 8), argument_2, argument_3, var_2); } *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) = var_0 + 12; if (var_0 + 12 < *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 24)) { generic64_t var_3; generic64_t var_4; var_3 = argument_2; var_4 = var_0 + 12; while (true) { generic64_t var_5; generic64_t var_6; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 32) + *(generic32_t *) (var_4 + 4); *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 40) = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 32) + *(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16); *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 40) = *(generic64_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 32) + *(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16)); if ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) == 64) { var_6 = *(generic64_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32); var_5 = var_6; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = var_5; } else { if ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) > 64) { *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = 0; function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation bit size %d.\n", *(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF, var_3, argument_3, var_2); } if ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) == 32) { var_5 = *(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32); *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = var_5; if (!((int32_t) *(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) > -1)) { var_6 = *(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) | 0xFFFFFFFF00000000; var_5 = var_6; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = var_5; } } else { if ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) > 32) { *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = 0; function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation bit size %d.\n", *(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF, var_3, argument_3, var_2); } switch ((number8_t) *(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8)) { case 8: { var_5 = *(generic8_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32); *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = var_5; if (!((int8_t) *(generic8_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) > -'\001')) { var_6 = *(generic8_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) | 0xFFFFFFFFFFFFFF00; var_5 = var_6; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = var_5; } } break; case 16: { var_5 = *(generic16_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32); *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = var_5; if (!((int16_t) *(generic16_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) > -1)) { var_6 = *(generic16_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) | 0xFFFFFFFFFFFF0000; var_5 = var_6; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = var_5; } } break; default: { *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = 0; function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation bit size %d.\n", *(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF, var_3, argument_3, var_2); } break; } } } *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = var_5 - (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 32) + *(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16)); *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 40) + (var_5 - (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 32) + *(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16))); *(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44) = *(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF; if (!((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) > 63)) { *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 56) = ~(0xFFFFFFFFFFFFFFFF << (*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0x3F)); *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 64) = 0xFFFFFFFFFFFFFFFF << ((*(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44) + 63) & 0x3F); if ((int64_t) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 56) < (int64_t) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72)) { stack.offset_8 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72); function_0x140001e30_Code_x86_64((generic64_t) "%d bit pseudo relocation at %p out of range, targeting %p, yielding the value %p.\n", *(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44), *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32), *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 40), var_2); } generic64_t var_7; generic64_t var_8; generic32_t var_9; var_9 = 0xFFFFFFFFFFFFFFFF << ((*(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44) + 63) & 0x3F) == *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72) ? 64 : 0; var_8 = lshift((0xFFFFFFFFFFFFFFFF << ((*(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44) + 63) & 0x3F)) - *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72), 4294967240); var_7 = lshift(((0xFFFFFFFFFFFFFFFF << ((*(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44) + 63) & 0x3F)) ^ *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72)) & (((0xFFFFFFFFFFFFFFFF << ((*(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44) + 63) & 0x3F)) - *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72)) ^ (0xFFFFFFFFFFFFFFFF << ((*(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44) + 63) & 0x3F))), 4294967244); if ((var_9 | ((number32_t) var_8 & 0x80)) == (((uint32_t) (number32_t) var_7 >> 4) & 0x80)) { stack.offset_8 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72); function_0x140001e30_Code_x86_64((generic64_t) "%d bit pseudo relocation at %p out of range, targeting %p, yielding the value %p.\n", *(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 44), *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32), *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 40), var_2); } } generic64_t var_10; generic64_t var_11; generic64_t var_12; var_11 = lshift((uint64_t) ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) - 64), 4294967272); var_10 = lshift((uint64_t) (((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) ^ 0x40) & ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) ^ ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) - 64))), 4294967276); if ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) == 64) { function_0x140002257_Code_x86_64(*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32), ((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72, 8, argument_3, var_1); var_12 = 8; } else { var_12 = var_3; if (!((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) > 64)) { if ((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) == 32) { function_0x140002257_Code_x86_64(*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32), ((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72, 4, argument_3, var_1); var_12 = 4; } else { var_12 = var_3; if (!((*(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8) & 0xFF) > 32)) { var_12 = var_3; switch ((number8_t) *(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 8)) { case 8: { function_0x140002257_Code_x86_64(*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32), ((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72, 1, argument_3, var_1); var_12 = 1; } break; case 16: { function_0x140002257_Code_x86_64(*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32), ((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 72, 2, argument_3, var_1); var_12 = 2; } break; } } } } } var_4 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) + 12; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 16) = var_4; if (var_4 < *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 24)) { continue; } break; } revng_abort("A longjmp was taken"); } else { revng_abort("A longjmp was taken"); } } } *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 24) = var_0; if (var_0 < *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 24)) { generic64_t var_13; var_13 = var_0; do { *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32) = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 32) + *(generic32_t *) (var_13 + 4); *(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 76) = *(generic32_t *) (*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 32) + *(generic32_t *) (var_13 + 4)) + *(generic32_t *) *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 24); function_0x140002257_Code_x86_64(*(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 32), ((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 76, 4, argument_3, var_1); var_13 = *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 24) + 8; *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 24) = var_13; } while (var_13 < *(generic64_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) + 24)); revng_abort("A longjmp was taken"); } else { revng_abort("A longjmp was taken"); } } else { revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_64) _Noreturn void __getmainargs(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { if (undef(generic8_t)) { revng_abort("A longjmp was taken"); } else { struct_312 var_0; function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 4, argument_3, var_0); revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_64) _Noreturn void __wgetmainargs(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_320 var_0; function_0x140001e30_Code_x86_64((generic64_t) " Unknown pseudo relocation protocol version %d.\n", argument_1, argument_2, argument_3, var_0); } _ABI(Microsoft_x86_64) _Noreturn void _onexit(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void at_quick_exit(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void _amsg_exit(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void _get_output_format(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void _tzset_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { if (undef(generic8_t)) { generic64_t var_0; generic64_t var_1; var_1 = lshift(undef(generic64_t), 4294967272); var_0 = lshift(undef(generic64_t), 4294967276); } else { generic64_t var_2; generic64_t var_3; generic64_t var_4; generic64_t var_5; struct_312 var_6; var_5 = lshift(undef(generic64_t), 4294967240); var_4 = lshift(undef(generic64_t), 4294967244); var_3 = lshift(undef(generic64_t), 4294967272); var_2 = lshift(undef(generic64_t), 4294967276); function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 8, argument_3, var_6); } } _ABI(Microsoft_x86_64) _Noreturn void tzset(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void __ms_fwprintf(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; generic16_t var_1; generic64_t var_2; generic16_t var_3; generic64_t var_4; generic16_t var_5; generic64_t var_6; generic16_t var_7; generic64_t var_8; generic16_t var_9; generic64_t var_10; generic16_t var_11; generic64_t var_12; generic16_t var_13; generic64_t var_14; generic16_t var_15; generic8_t var_16; generic8_t var_17; generic64_t var_18; generic16_t var_19; helper_flds_FT0_wrapper(NULL, undef(generic32_t), '\000', '\000', '\000', &var_17, &var_18, &var_19); helper_fmul_ST0_FT0_wrapper(NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '\000', '\000', var_17, 'P', '\000', '\000', var_18, var_19, &var_0, &var_1, &var_2, &var_3, &var_4, &var_5, &var_6, &var_7, &var_8, &var_9, &var_10, &var_11, &var_12, &var_13, &var_14, &var_15, &var_16); if (undef(generic8_t)) { generic64_t var_20; generic64_t var_21; var_21 = lshift(undef(generic64_t), 4294967272); var_20 = lshift(undef(generic64_t), 4294967276); } else { generic64_t var_22; generic64_t var_23; generic64_t var_24; generic64_t var_25; struct_312 var_26; var_25 = lshift(undef(generic64_t), 4294967240); var_24 = lshift(undef(generic64_t), 4294967244); var_23 = lshift(undef(generic64_t), 4294967272); var_22 = lshift(undef(generic64_t), 4294967276); function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 8, argument_3, var_26); } } _ABI(Microsoft_x86_64) _Noreturn void __daylight_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_320 var_0; function_0x140001e30_Code_x86_64((generic64_t) "%d bit pseudo relocation at %p out of range, targeting %p, yielding the value %p.\n", undef(generic64_t), undef(generic64_t), undef(generic64_t), var_0); } _ABI(Microsoft_x86_64) _Noreturn void __timezone_2(void) { struct_320 var_0; function_0x140001e30_Code_x86_64((generic64_t) "%d bit pseudo relocation at %p out of range, targeting %p, yielding the value %p.\n", undef(generic64_t), undef(generic64_t), undef(generic64_t), var_0); } _ABI(raw_x86_64) _Noreturn void __tzname_2(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), struct_314 stack_arguments _STACK) { struct_320 var_0; stack_arguments.offset_24 = register_rdx; function_0x140001e30_Code_x86_64((generic64_t) "%d bit pseudo relocation at %p out of range, targeting %p, yielding the value %p.\n", undef(generic64_t), undef(generic64_t), register_r8, var_0); } _ABI(Microsoft_x86_64) _Noreturn void strlen_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_320 var_0; function_0x140001e30_Code_x86_64((generic64_t) "%d bit pseudo relocation at %p out of range, targeting %p, yielding the value %p.\n", argument_0 & 0xFFFFFFFF, argument_2, argument_3, var_0); } _ABI(Microsoft_x86_64) void strncmp_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void __acrt_iob_func_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void __p__commode_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; generic64_t var_1; struct_312 var_2; var_1 = lshift(0, 4294967272); var_0 = lshift(0, 4294967276); if (undef(generic8_t)) { function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 8, argument_3, var_2); } else { function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 4, argument_3, var_2); } } _ABI(Microsoft_x86_64) _Noreturn void __p__fmode_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_312 var_0; function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 4, argument_3, var_0); } _ABI(Microsoft_x86_64) _Noreturn void __stdio_common_vfprintf_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; struct_312 var_1; *(generic8_t *) (argument_0 - 125) = (number8_t) (((uint64_t) argument_1 >> 8) & *(generic8_t *) (argument_0 - 125)); var_0 = lshift(((uint64_t) argument_1 >> 8) & *(generic8_t *) (argument_0 - 125), 0); function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 1, argument_3, var_1); } _ABI(Microsoft_x86_64) _Noreturn void __stdio_common_vfwprintf_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; struct_312 var_1; var_0 = lshift(undef(generic64_t), 4294967272); function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 1, argument_3, var_1); } _ABI(Microsoft_x86_64) _Noreturn void __stdio_common_vsscanf_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_312 var_0; function_0x140002257_Code_x86_64(undef(generic64_t), undef(generic64_t), 1, argument_3, var_0); } _ABI(Microsoft_x86_64) _Noreturn void fclose_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_312 var_0; function_0x140002257_Code_x86_64(undef(generic64_t), 0, 8, argument_3, var_0); } _ABI(Microsoft_x86_64) generic64_t fopen_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void fread_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void fseek_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) generic64_t ftell_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void fwrite_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void puts_2(generic64_t argument_0) { struct_374 stack; generic64_t var_0; var_0 = lshift((uint64_t) segment_6.offset_252, 4294967272); if (!segment_6.offset_252) { generic64_t var_1; generic64_t var_2; struct_313 var_3; segment_6.offset_252 = segment_6.offset_252 + 1; var_2 = function_0x140002ecb_Code_x86_64(argument_0 - 1); *(generic32_t *) (((number64_t) &(&stack)[1] & 0xFFFFFFFF) - 4) = (number32_t) var_2; var_1 = function_0x140003150_Code_x86_64(argument_0 - 1); segment_6.offset_240 = ((pointer_or_number64_t) &stack - var_1 + 47) & 0xFFFFFFFFFFFFFFF0; segment_6.offset_248 = 0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) "", undef(generic64_t), var_3); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) ""); revng_abort("A longjmp was taken"); } else { revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_64) void __p___argc_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void __p___argv_2(generic64_t argument_0) { generic64_t var_0; var_0 = function_0x140002ecb_Code_x86_64(argument_0 - 1); } _ABI(Microsoft_x86_64) generic64_t __p___wargv_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void _cexit_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void _configure_narrow_argv_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void _configure_wide_argv_2(generic64_t argument_0) { } _ABI(Microsoft_x86_64) _Noreturn void _crt_at_quick_exit_2(generic64_t argument_0, generic64_t argument_1) { revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) void _crt_atexit_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { struct_331 stack; generic64_t var_0; var_0 = lshift((uint64_t) segment_6.offset_252, 4294967272); if (!segment_6.offset_252) { generic64_t var_1; generic64_t var_2; struct_313 var_3; segment_6.offset_252 = segment_6.offset_252 + 1; var_2 = function_0x140002ecb_Code_x86_64(argument_0); stack.offset_44 = (number32_t) var_2; var_1 = function_0x140003150_Code_x86_64(argument_0); segment_6.offset_240 = ((pointer_or_number64_t) &stack - var_1 + 47) & 0xFFFFFFFFFFFFFFF0; segment_6.offset_248 = 0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) "", undef(generic64_t), var_3); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) ""); } } _ABI(Microsoft_x86_64) _Noreturn void _exit_2(generic64_t argument_0) { generic64_t var_0; var_0 = lshift((uint64_t) segment_6.offset_252, 4294967272); if (!segment_6.offset_252) { generic64_t var_1; segment_6.offset_252 = segment_6.offset_252 + 1; var_1 = function_0x140002ecb_Code_x86_64(argument_0); } else { revng_abort("A longjmp was taken"); } } _ABI(Microsoft_x86_64) _Noreturn void _initialize_narrow_environment_2(generic64_t argument_0) { revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void _initialize_wide_environment_2(generic8_t *argument_0) { generic64_t var_0; *argument_0 = llvm_fshl_i8(*argument_0, *argument_0, '\001'); var_0 = function_0x140002ecb_Code_x86_64((generic64_t) argument_0); } _ABI(Microsoft_x86_64) _Noreturn void _initterm_2(generic64_t argument_0) { generic64_t var_0; var_0 = function_0x140002ecb_Code_x86_64(argument_0); } _ABI(Microsoft_x86_64) _Noreturn void __set_app_type(generic64_t argument_0) { generic64_t var_0; struct_313 var_1; var_0 = function_0x140003150_Code_x86_64(argument_0); segment_6.offset_240 = (revng_undefined_local_sp() - var_0 + 47) & 0xFFFFFFFFFFFFFFF0; segment_6.offset_248 = 0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) "", undef(generic64_t), var_1); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) ""); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void _set_invalid_parameter_handler_2(generic64_t argument_0) { generic64_t var_0; struct_313 var_1; var_0 = function_0x140003150_Code_x86_64(argument_0); segment_6.offset_240 = (revng_undefined_local_sp() - var_0 + 47) & 0xFFFFFFFFFFFFFFF0; segment_6.offset_248 = 0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) "", undef(generic64_t), var_1); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) ""); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void abort_2(generic64_t argument_0) { } _ABI(Microsoft_x86_64) _Noreturn void exit_2(generic64_t argument_0) { generic64_t var_0; generic64_t var_1; generic64_t var_2; struct_313 var_3; var_2 = lshift(undef(generic64_t), 4294967272); var_1 = lshift(undef(generic64_t), 4294967276); var_0 = function_0x140003150_Code_x86_64(undef(generic64_t)); segment_6.offset_240 = (revng_undefined_local_sp() - var_0 + 47) & 0xFFFFFFFFFFFFFFF0; segment_6.offset_248 = 0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) "", undef(generic64_t), var_3); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) ""); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void signal_2(generic64_t argument_0) { generic64_t var_0; struct_313 var_1; var_0 = function_0x140003150_Code_x86_64(argument_0); segment_6.offset_240 = (revng_undefined_local_sp() - var_0 + 47) & 0xFFFFFFFFFFFFFFF0; segment_6.offset_248 = 0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) "", undef(generic64_t), var_1); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) ""); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void memcpy_2(void) { } _ABI(Microsoft_x86_64) _Noreturn void __setusermatherr_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_313 var_0; segment_6.offset_248 = 0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) "", argument_3, var_0); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", *(generic64_t *) ""); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void _set_new_mode_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_313 var_0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", argument_2, argument_3, var_0); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", *(generic64_t *) "pa", argument_2); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void calloc_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_313 var_0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", 0, argument_2, argument_3, var_0); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", 0, argument_2); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void free_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_313 var_0; function_0x14000229e_Code_x86_64(*(generic64_t *) "pa", argument_1, argument_2, argument_3, var_0); function_0x14000217f_Code_x86_64(*(generic64_t *) "pa", argument_1, argument_2); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) _Noreturn void malloc_2(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_313 var_0; function_0x14000229e_Code_x86_64(0, argument_1, argument_2, argument_3, var_0); function_0x14000217f_Code_x86_64(0, argument_1, argument_2); revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) void __p__environ_2(generic64_t argument_0, generic64_t argument_1) { } _ABI(Microsoft_x86_64) _Noreturn void __p__wenviron_2(void) { revng_abort("A longjmp was taken"); } _ABI(raw_x86_64) void function_0x14000273a_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_292 stack_arguments _STACK) { stack_arguments.offset_0 = register_rcx; segment_6.offset_256 = register_rcx; function_0x140003690_Code_x86_64(); } _ABI(raw_x86_64) generic64_t function_0x140002770_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_309 stack_arguments _STACK) { struct_377 stack; generic64_t var_0; *(generic64_t *) &stack_arguments = register_rcx; stack.offset_44 = 0; stack.offset_40 = 0; if ((*(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments & 0x20FFFFFF) == 541541187) { var_0 = 4294967295; if (!(*(generic32_t *) (*(generic64_t *) *(generic64_t *) &stack_arguments + 4) & 0x1)) { return var_0; } } if (!(*(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments > (uint32_t) -1073741674)) { if (*(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments > (uint32_t) -1073741685) { if (!(*(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments < (uint32_t) -1073741684 || *(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments > (uint32_t) -1073741674)) { revng_abort("A longjmp was taken"); } } else { if (*(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments == (pointer_or_number32_t) -1073741795) { function_0x140003670_Code_x86_64(); stack.offset_32 = *(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments; ((cabifunction_721 *) *(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments)(4); stack.offset_44 = 4294967295; } else { if (!(*(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments > (uint32_t) -1073741795)) { if (*(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments == (pointer_or_number32_t) -1073741816) { stack.offset_44 = 4294967295; } else { if (!(*(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments > (uint32_t) -1073741816)) { switch ((number32_t) *(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments) { case 2147483650: case 3221225477: { if ((number32_t) *(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments == 3221225477) { function_0x140003670_Code_x86_64(); stack.offset_32 = *(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments; ((cabifunction_720 *) *(generic32_t *) *(generic64_t *) *(generic64_t *) &stack_arguments)(11); } stack.offset_44 = 4294967295; } break; } } } } } } } generic32_t var_1; var_1 = stack.offset_44; if (!var_1) { var_1 = 0; if (segment_6.offset_288) { generic64_t var_2; var_2 = ((cabifunction_722 *) segment_6.offset_288)(*(generic64_t *) &stack_arguments); var_1 = (number32_t) var_2; stack.offset_44 = var_1; } } var_0 = var_1; return var_0; } _ABI(Microsoft_x86_64) void function_0x140002b02_Code_x86_64(void) { struct_378 stack; if (segment_6.offset_360) { ((cabifunction_659 *) segment_7.offset_768)((pointer_or_number64_t) &segment_6.offset_288 + 32); stack.offset_40 = segment_6.offset_368; if (segment_6.offset_368) { struct_506 *var_0; var_0 = segment_6.offset_368; do { generic64_t var_1; generic64_t var_2; generic64_t var_3; artificial_struct_returned_by_rawfunction_215 var_4; var_4 = ((rawfunction_215 *) segment_7.offset_864)(*(generic32_t *) var_0); var_3 = var_4.register_rax; var_2 = var_4.register_rcx; stack.offset_32 = var_3; var_1 = ((cabifunction_660 *) segment_7.offset_792)(var_2); if (!(var_1 & 0xFFFFFFFF)) { if (stack.offset_32) { ((cabifunction_661 *) stack.offset_40->offset_8)(stack.offset_32); } } var_0 = stack.offset_40->offset_16; stack.offset_40 = var_0; } while (var_0); } ((cabifunction_662 *) segment_7.offset_832)((pointer_or_number64_t) &segment_6.offset_288 + 32); } } _ABI(raw_x86_64) generic64_t function_0x140002ba1_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), struct_293 stack_arguments _STACK) { struct_346 stack; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = (number32_t) register_rdx; stack_arguments.offset_16 = register_r8; if (stack_arguments.offset_8 == 3) { function_0x140002b02_Code_x86_64(); } else { if (!(stack_arguments.offset_8 > 3)) { if (stack_arguments.offset_8 == 2) { function_0x140001e20_Code_x86_64(); } else { if (!(stack_arguments.offset_8 > 2)) { switch ((number32_t) stack_arguments.offset_8) { case 0: { function_0x140002b02_Code_x86_64(); if (segment_6.offset_360 == 1) { stack.offset_40 = segment_6.offset_368; if (segment_6.offset_368) { struct_506 *var_0; var_0 = segment_6.offset_368; do { stack.offset_32 = *(generic64_t *) ((pointer_or_number64_t) var_0 + 16); function_0x1400036b0_Code_x86_64(); var_0 = stack.offset_32; stack.offset_40 = var_0; } while (var_0); } segment_6.offset_368 = 0; segment_6.offset_360 = 0; ((cabifunction_664 *) segment_7.offset_760)((pointer_or_number64_t) &segment_6.offset_288 + 32); } } break; case 1: { if (!segment_6.offset_360) { ((cabifunction_663 *) segment_7.offset_816)((pointer_or_number64_t) &segment_6.offset_288 + 32); } segment_6.offset_360 = 1; } break; } } } } } return 1; } _ABI(raw_x86_64) generic64_t function_0x140002ca0_Code_x86_64(struct_518 *register_rcx _REG(rcx_x86_64), struct_294 stack_arguments _STACK) { struct_379 stack; generic64_t var_0; *(struct_518 **) &stack_arguments = register_rcx; stack.offset_16 = register_rcx; var_0 = 0; if (register_rcx->offset_0 == 23117) { stack.offset_8 = (pointer_or_number64_t) register_rcx->offset_60 + (pointer_or_number64_t) register_rcx; var_0 = 0; if (*(generic32_t *) ((pointer_or_number64_t) register_rcx->offset_60 + (pointer_or_number64_t) register_rcx) == 17744) { stack.offset_0 = (pointer_or_number64_t) register_rcx->offset_60 + (pointer_or_number64_t) register_rcx + 24; var_0 = *(generic16_t *) ((pointer_or_number64_t) register_rcx->offset_60 + (pointer_or_number64_t) register_rcx + 24) == 523; } } return var_0; } _ABI(raw_x86_64) generic64_t function_0x140002d1c_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), struct_295 stack_arguments _STACK) { struct_380 stack; generic64_t var_0; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack.offset_0 = (pointer_or_number64_t) stack_arguments.offset_0 + (pointer_or_number64_t) stack_arguments.offset_0->offset_60; stack.offset_12 = 0; stack.offset_16 = (pointer_or_number64_t) stack.offset_0 + stack.offset_0->offset_20 + 24; var_0 = 0; if (stack.offset_12 - stack.offset_0->offset_6 > ~stack.offset_0->offset_6) { generic32_t var_1; generic64_t var_2; var_1 = stack.offset_12; var_2 = stack.offset_16; generic64_t var_3; do { if (!(stack_arguments.offset_8 < *(generic32_t *) (var_2 + 12))) { var_3 = var_2; if (stack_arguments.offset_8 < *(generic32_t *) (var_2 + 8) + *(generic32_t *) (var_2 + 12)) { break; } } stack.offset_12 = var_1 + 1; var_2 = (pointer_or_number64_t) stack.offset_16 + 40; stack.offset_16 = (pointer_or_number64_t) &stack.offset_16->offset_12 + 28; var_1 = stack.offset_12; var_3 = 0; } while (var_1 - stack.offset_0->offset_6 > ~stack.offset_0->offset_6); var_0 = var_3; } return var_0; } _ABI(raw_x86_64) generic64_t function_0x140002e7b_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_296 stack_arguments _STACK) { struct_352 stack; generic64_t var_0; generic64_t var_1; struct_294 var_2; stack_arguments.offset_0 = register_rcx; stack.offset_32 = *(generic64_t *) ""; var_0 = function_0x140002ca0_Code_x86_64((struct_518 *) *(generic64_t *) "", var_2); var_1 = 0; if ((var_0 & 0xFFFFFFFF)) { generic64_t var_3; struct_295 var_4; stack.offset_24 = stack_arguments.offset_0 - (number64_t) stack.offset_32; var_3 = function_0x140002d1c_Code_x86_64((generic64_t) stack.offset_32, stack.offset_24, var_4); var_1 = var_3; } return var_1; } _ABI(Microsoft_x86_64) generic64_t function_0x140002ecb_Code_x86_64(generic64_t argument_0) { struct_375 stack; generic64_t var_0; generic64_t var_1; struct_294 var_2; stack.offset_32 = *(generic64_t *) ""; var_0 = function_0x140002ca0_Code_x86_64((struct_518 *) *(generic64_t *) "", var_2); var_1 = 0; if ((var_0 & 0xFFFFFFFF)) { stack.offset_24 = (pointer_or_number64_t) stack.offset_32 + (pointer_or_number64_t) stack.offset_32->offset_60; var_1 = *(generic16_t *) (stack.offset_24 + 6); } return var_1; } _ABI(Microsoft_x86_64) generic64_t function_0x140002fc7_Code_x86_64(void) { struct_353 stack; generic64_t var_0; generic64_t var_1; struct_294 var_2; stack.offset_32 = *(generic64_t *) ""; var_0 = function_0x140002ca0_Code_x86_64((struct_518 *) *(generic64_t *) "", var_2); var_1 = 0; if ((var_0 & 0xFFFFFFFF)) { var_1 = stack.offset_32; } return var_1; } _ABI(Microsoft_x86_64) generic64_t function_0x140003150_Code_x86_64(generic64_t argument_0) { struct_376 stack; stack.offset_8 = argument_0; return stack.offset_0; } _ABI(raw_x86_64) void function_0x140003190_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_297 stack_arguments _STACK) { struct_351 stack; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack.offset_32 = register_r8; function_0x140003598_Code_x86_64(); } _ABI(raw_x86_64) generic64_t function_0x1400031e0_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_298 stack_arguments _STACK) { struct_339 stack; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_48 = (pointer_or_number64_t) &(&stack)[1] + 24; stack.offset_40 = (pointer_or_number64_t) &(&stack)[1] + 24; stack.offset_32 = 0; function_0x1400035a8_Code_x86_64(); stack.offset_60 = (number32_t) stack_arguments.offset_0; return stack_arguments.offset_0 & 0xFFFFFFFF; } _ABI(raw_x86_64) generic64_t function_0x140003240_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_299 stack_arguments _STACK) { struct_340 stack; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_48 = (pointer_or_number64_t) &(&stack)[1] + 16; function_0x140003580_Code_x86_64(); stack.offset_32 = (pointer_or_number64_t) &(&stack)[1] + 16; function_0x140003598_Code_x86_64(); stack.offset_60 = (number32_t) ((pointer_or_number64_t) &(&stack)[1] + 16); return ((pointer_or_number64_t) &(&stack)[1] + 16) & 0xFFFFFFFF; } _ABI(raw_x86_64) generic64_t function_0x1400032a0_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_300 stack_arguments _STACK) { struct_349 stack; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_48 = (pointer_or_number64_t) &(&stack)[1] + 24; stack.offset_32 = (pointer_or_number64_t) &(&stack)[1] + 24; function_0x140003598_Code_x86_64(); stack.offset_60 = (number32_t) stack_arguments.offset_0; return stack_arguments.offset_0 & 0xFFFFFFFF; } _ABI(Microsoft_x86_64) generic64_t function_0x140003300_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3, generic64_t argument_4) { struct_327 stack; generic64_t var_0; *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 8) = argument_0; *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 16) = argument_1; *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 24) = argument_2; *(generic32_t *) ((pointer_or_number64_t) &(&stack)[1] + 32) = (number32_t) argument_3; function_0x140003638_Code_x86_64(); function_0x140003610_Code_x86_64(); function_0x1400035f0_Code_x86_64(); var_0 = !*(generic32_t *) ((pointer_or_number64_t) &(&stack)[1] + 32) ? 1 : 2; *(generic32_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 8) = *(generic32_t *) var_0; function_0x1400035f8_Code_x86_64(); *(generic64_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 16) = *(generic64_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 8); function_0x1400036c0_Code_x86_64(); *(generic64_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 24) = *(generic64_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 16); if (argument_4) { function_0x1400036a0_Code_x86_64(); } return 0; } _ABI(Microsoft_x86_64) generic64_t function_0x140003380_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3, generic64_t argument_4) { struct_381 stack; generic64_t var_0; *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 8) = argument_0; *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 16) = argument_1; *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 24) = argument_2; *(generic32_t *) ((pointer_or_number64_t) &(&stack)[1] + 32) = (number32_t) argument_3; function_0x140003640_Code_x86_64(); function_0x140003618_Code_x86_64(); function_0x1400035f0_Code_x86_64(); var_0 = !*(generic32_t *) ((pointer_or_number64_t) &(&stack)[1] + 32) ? 1 : 2; *(generic32_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 8) = *(generic32_t *) var_0; function_0x140003600_Code_x86_64(); *(generic64_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 16) = *(generic64_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 8); function_0x1400036c8_Code_x86_64(); *(generic64_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 24) = *(generic64_t *) *(generic64_t *) ((pointer_or_number64_t) &(&stack)[1] + 16); if (argument_4) { function_0x1400036a0_Code_x86_64(); } return 0; } _ABI(raw_x86_64) generic64_t function_0x140003400_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), struct_302 stack_arguments _STACK) { generic64_t var_0; stack_arguments.offset_0 = register_rcx; function_0x140003628_Code_x86_64(); var_0 = 0; if (!(register_rcx & 0xFFFFFFFF)) { var_0 = stack_arguments.offset_0; } return var_0; } _ABI(raw_x86_64) generic64_t function_0x14000342d_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_306 stack_arguments _STACK) { generic64_t var_0; stack_arguments.offset_0 = register_rcx; var_0 = 0; if (!*(generic8_t *) *(generic64_t *) "") { function_0x140003620_Code_x86_64(); var_0 = register_rcx; } return var_0; } _ABI(raw_x86_64) _Noreturn void function_0x140003460_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_303 stack_arguments _STACK) { struct_330 stack; generic64_t var_0; struct_300 var_1; stack_arguments.offset_0 = (number32_t) register_rcx; function_0x140003580_Code_x86_64(); var_0 = function_0x1400032a0_Code_x86_64(undef(generic64_t), (generic64_t) "runtime error %d\n", stack_arguments.offset_0, undef(generic64_t), var_1); function_0x140003630_Code_x86_64(); *(generic64_t *) ((pointer_or_number64_t) &stack - 8) = (pointer_or_number64_t) &stack + 32; revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) void function_0x1400034a3_Code_x86_64(void) { ((cabifunction_665 *) *segment_2.offset_1600)(); function_0x140003560_Code_x86_64(); segment_1.offset_248 = *segment_2.offset_1600; function_0x140003558_Code_x86_64(); segment_1.offset_256 = *segment_2.offset_1600; function_0x140003550_Code_x86_64(); segment_1.offset_264 = *segment_2.offset_1600; } _ABI(Microsoft_x86_64) void function_0x1400034e2_Code_x86_64(void) { function_0x1400034a3_Code_x86_64(); } _ABI(raw_x86_64) generic64_t function_0x1400034f6_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_304 stack_arguments _STACK) { struct_385 stack; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_48 = (pointer_or_number64_t) &(&stack)[1] + 24; stack.offset_32 = (pointer_or_number64_t) &(&stack)[1] + 24; function_0x1400035a0_Code_x86_64(); stack.offset_60 = (number32_t) stack_arguments.offset_0; return stack_arguments.offset_0 & 0xFFFFFFFF; } _ABI(Microsoft_x86_64) void function_0x140003550_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003558_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003560_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003570_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003580_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003588_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003590_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003598_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035a0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035a8_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035b0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035b8_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035c0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035c8_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035d0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035d8_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035e0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035f0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400035f8_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003600_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003608_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003610_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003618_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003620_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003628_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003630_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003638_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003640_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003648_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003650_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003658_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003660_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003668_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003670_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003688_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003690_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400036a0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400036b0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400036b8_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400036c0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400036c8_Code_x86_64(void) { } _ABI(raw_x86_64) generic64_t function_0x140003750_Code_x86_64(struct_315 stack_arguments _STACK) { generic64_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; var_1 = ((cabifunction_723 *) segment_7.offset_800)((generic64_t) "libgcc_s_dw2-1.dll"); if (!var_1) { segment_1.offset_0 = function_0x1400015d0_Code_x86_64; var_3 = function_0x1400015c0_Code_x86_64; var_0 = ((rawfunction_291 *) var_3)((generic64_t) &segment_3); var_2 = var_0; } else { generic64_t var_4; generic64_t var_5; generic64_t var_6; generic64_t var_7; artificial_struct_returned_by_rawfunction_290 var_8; var_7 = ((cabifunction_724 *) segment_7.offset_840)((generic64_t) "libgcc_s_dw2-1.dll"); segment_6.offset_64 = var_7; var_6 = ((cabifunction_725 *) segment_7.offset_808)(var_1, (generic64_t) "__register_frame_info"); var_3 = var_6; var_8 = ((rawfunction_290 *) segment_7.offset_808)(var_1); var_5 = var_8.register_rax; var_4 = var_8.register_rdx; var_2 = var_4; segment_1.offset_0 = var_5; if (var_3) { var_0 = ((rawfunction_291 *) var_3)((generic64_t) &segment_3); var_2 = var_0; } } generic64_t var_9; generic64_t var_10; struct_302 var_11; stack_arguments.offset_0 = function_0x140001690_Code_x86_64; var_10 = function_0x140003400_Code_x86_64((generic64_t) function_0x140001690_Code_x86_64, var_2, var_11); var_9 = !var_10 ? 4294967295 : 0; return var_9; } _ABI(Microsoft_x86_64) _Noreturn void function_0x140003788_Code_x86_64(void) { }
Loading...