Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
binary
binary_decompiled.c
0 lines
|
1.06 MB
#include "types-and-globals.h" #include "helpers.h" _ABI(Microsoft_x86_64) void function_0x180009498_Code_x86_64(void) { } _ABI(Microsoft_x86_64) generic64_t function_0x1800094a9_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 = 1; switch ((number32_t) argument_1) { case 1: { generic8_t var_1; generic64_t var_2; helper_lock(); var_2 = *segment_1.offset_4656; var_1 = !var_2; if (var_1) { *segment_1.offset_4656 = *(generic64_t *) (*(generic64_t *) 48 + 8); var_2 = 0; } generic64_t var_3; helper_unlock(); var_3 = var_1; if (!((*(generic64_t *) (*(generic64_t *) 48 + 8) == var_2) | var_3)) { generic64_t var_4; generic64_t var_5; var_5 = (var_2 & 0xFFFFFFFFFFFFFF00) | (*(generic64_t *) (*(generic64_t *) 48 + 8) == var_2) | var_1; var_4 = var_1; generic8_t var_6; generic64_t var_7; do { ((rawfunction_35 *) segment_1.offset_10632)(var_5, 1000); helper_lock(); var_7 = *segment_1.offset_4656; var_6 = !var_7; if (var_6) { *segment_1.offset_4656 = *(generic64_t *) (*(generic64_t *) 48 + 8); var_7 = 0; } helper_unlock(); var_4 = (var_4 & 0xFFFFFFFFFFFFFF00) | var_6; } while (!(var_6 || *(generic64_t *) (*(generic64_t *) 48 + 8) == var_7)); var_3 = var_4; } switch ((number32_t) *segment_1.offset_4664) { case 1: { function_0x1800098c4_Code_x86_64(31); } break; case 0: { *segment_1.offset_4664 = 1; function_0x18000a410_Code_x86_64(); } break; } if (*segment_1.offset_4664 == 1) { function_0x18000a410_Code_x86_64(); *segment_1.offset_4664 = 2; } if ((var_3 & 0xFF)) { helper_lock(); *segment_1.offset_4656 = 0; helper_unlock(); } if (*segment_1.offset_4632) { ((cabifunction_146 *) *segment_1.offset_4632)(argument_0, 2, argument_2); } segment_3.offset_736 = segment_3.offset_736 + 1; var_0 = 1; } break; case 0: { generic8_t var_8; generic64_t var_9; var_9 = lshift((uint64_t) segment_3.offset_736, 4294967272); var_8 = !segment_3.offset_736 ? '@' : '\000'; var_0 = 0; if (!(var_8 | ((number8_t) var_9 & 0x80))) { segment_3.offset_736 = segment_3.offset_736 - 1; helper_lock(); if (*segment_1.offset_4656) { helper_unlock(); ((rawfunction_34 *) segment_1.offset_10632)(*segment_1.offset_4656, 1000); helper_lock(); if (*segment_1.offset_4656) { generic64_t var_10; var_10 = *segment_1.offset_4656; do { helper_unlock(); ((rawfunction_34 *) segment_1.offset_10632)(var_10, 1000); helper_lock(); var_10 = *segment_1.offset_4656; } while (var_10); } } *segment_1.offset_4656 = 1; helper_unlock(); if (*segment_1.offset_4664 != 2) { function_0x1800098c4_Code_x86_64(31); } function_0x18000a3f0_Code_x86_64(); *segment_1.offset_4664 = 0; helper_lock(); *segment_1.offset_4656 = 0; helper_unlock(); var_0 = 1; } } break; } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x18000963b_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { generic64_t var_0; *segment_1.offset_4640 = 0; *segment_1.offset_4648 = (number32_t) argument_1; var_0 = 0; if ((segment_3.offset_736 | (number32_t) argument_1)) { generic64_t var_1; function_0x1800098f8_Code_x86_64(); if ((number32_t) argument_1 < 3 && (number32_t) argument_1 > 0) { generic64_t var_2; var_2 = function_0x1800094a9_Code_x86_64(argument_0, argument_1 & 0xFFFFFFFF, argument_2, undef(generic64_t)); var_0 = 0; if (!(var_2 & 0xFFFFFFFF)) { *segment_1.offset_4648 = 4294967295; return var_0; } generic64_t var_3; var_3 = function_0x180009774_Code_x86_64(argument_0, argument_1 & 0xFFFFFFFF, argument_2); if (!(var_3 & 0xFFFFFFFF)) { var_0 = 0; if ((number32_t) argument_1 == 1) { var_1 = function_0x1800094a9_Code_x86_64(argument_0, 0, argument_2, undef(generic64_t)); var_0 = 0; } *segment_1.offset_4648 = 4294967295; return var_0; } if ((number32_t) argument_1 == 1) { generic64_t var_4; var_4 = function_0x1800098a7_Code_x86_64(); } } generic64_t var_5; var_5 = function_0x180009780_Code_x86_64(argument_0, argument_1 & 0xFFFFFFFF, argument_2, undef(generic64_t)); if (!(((argument_1 & 0xFFFFFFFF) ^ 0x1) | (var_5 & 0xFFFFFFFF))) { generic64_t var_6; generic64_t var_7; var_7 = function_0x180009780_Code_x86_64(argument_0, 0, argument_2, undef(generic64_t)); var_6 = function_0x180009774_Code_x86_64(argument_0, 0, argument_2); var_1 = function_0x1800094a9_Code_x86_64(argument_0, 0, argument_2, undef(generic64_t)); var_0 = 0; } else { var_0 = var_5 & 0xFFFFFFFF; switch ((number32_t) argument_1) { case 0: case 3: { generic64_t var_8; generic64_t var_9; generic64_t var_10; var_10 = function_0x180009774_Code_x86_64(argument_0, argument_1 & 0xFFFFFFFF, argument_2); var_9 = function_0x1800094a9_Code_x86_64(argument_0, argument_1 & 0xFFFFFFFF, argument_2, undef(generic64_t)); var_8 = !(var_9 & 0xFFFFFFFF) ? var_9 : var_10; var_0 = var_8 & 0xFFFFFFFF; } break; } } } *segment_1.offset_4648 = 4294967295; return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x180009774_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { return 1; } _ABI(Microsoft_x86_64) generic64_t function_0x180009780_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { return 1; } _ABI(Microsoft_x86_64) generic64_t function_0x18000978c_Code_x86_64(generic64_t argument_0, generic64_t argument_1) { if (*(generic32_t *) *(generic64_t *) "(" != 2) { *(generic32_t *) *(generic64_t *) "(" = 2; } generic64_t var_0; var_0 = *(generic64_t *) "("; if ((argument_1 & 0xFFFFFFFF) == 1) { switch ((number64_t) segment_1.offset_9844) { case 18446744073709537473U: { function_0x180009fbc_Code_x86_64(); var_0 = 1; if (segment_3.offset_832 == 1) { if (segment_3.offset_880) { generic64_t var_1; var_1 = segment_3.offset_880; do { var_1 = *(generic64_t *) (var_1 + 16); function_0x18000a480_Code_x86_64(); } while (var_1); } segment_3.offset_880 = 0; segment_3.offset_832 = 0; ((cabifunction_168 *) segment_1.offset_10592)((pointer_or_number64_t) &segment_3.offset_832 + 8); var_0 = 1; } } break; case 18446744073709537554U: { function_0x18000a3d8_Code_x86_64(); var_0 = 1; } break; case 18446744073709537561U: { function_0x180009fbc_Code_x86_64(); var_0 = 1; } break; case 18446744073709537568U: { if (!segment_3.offset_832) { ((cabifunction_169 *) segment_1.offset_10616)((pointer_or_number64_t) &segment_3.offset_832 + 8); } segment_3.offset_832 = 1; var_0 = 1; } break; default: { } break; } } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x1800097fb_Code_x86_64(generic64_t argument_0, generic64_t argument_1) { switch ((number32_t) argument_1) { case 0: case 3: { switch ((number64_t) *(generic32_t *) ((pointer_or_number64_t) &segment_1.offset_5232 + 4608 + ((argument_1 << 2) & 0x3FFFFFFFC) * 1)) { case 18446744073709537473U: { function_0x180009fbc_Code_x86_64(); if (segment_3.offset_832 == 1) { if (segment_3.offset_880) { generic64_t var_0; var_0 = segment_3.offset_880; do { var_0 = *(generic64_t *) (var_0 + 16); function_0x18000a480_Code_x86_64(); } while (var_0); } segment_3.offset_880 = 0; segment_3.offset_832 = 0; ((cabifunction_170 *) segment_1.offset_10592)((pointer_or_number64_t) &segment_3.offset_832 + 8); } } break; case 18446744073709537554U: { function_0x18000a3d8_Code_x86_64(); } break; case 18446744073709537561U: { function_0x180009fbc_Code_x86_64(); } break; case 18446744073709537568U: { if (!segment_3.offset_832) { ((cabifunction_171 *) segment_1.offset_10616)((pointer_or_number64_t) &segment_3.offset_832 + 8); } segment_3.offset_832 = 1; } break; default: { } break; } } break; } return 1; } _ABI(Microsoft_x86_64) void function_0x180009814_Code_x86_64(void) { if (segment_3.offset_16->offset_0) { generic64_t var_0; var_0 = segment_3.offset_16->offset_0; do { ((cabifunction_172 *) var_0)(); segment_3.offset_16 = &segment_3.offset_16->offset_8; var_0 = segment_3.offset_16->offset_8; } while (var_0); } } _ABI(Microsoft_x86_64) generic64_t function_0x1800098a7_Code_x86_64(void) { generic64_t var_0; if (!segment_3.offset_784) { generic32_t var_1; segment_3.offset_784 = '\001'; var_1 = *segment_1.offset_4760; if (var_1 == (pointer_or_number32_t) -1) { generic32_t var_2; generic32_t var_3; var_2 = 0; var_3 = 4294967295; generic32_t var_4; generic32_t var_5; do { var_5 = var_2; var_4 = var_3; var_3 = var_4 + 1; var_2 = var_5 + 1; } while (*(generic64_t *) ((((var_4 << 3) + 16) & 0x7FFFFFFF8) + (pointer_or_number64_t) segment_1.offset_4760)); var_1 = var_5; } var_0 = 0; if (var_1) { generic64_t var_6; generic32_t var_7; generic64_t var_8; generic64_t var_9; generic64_t var_10; var_10 = var_1 - 1; var_9 = var_10; var_6 = 0; var_7 = 33; var_8 = 0; generic64_t var_11; do { generic64_t var_12; var_12 = var_9; var_11 = var_10; ((cabifunction_147 *) *(generic64_t *) ((pointer_or_number64_t) &segment_1.offset_4760[2 * var_1] - (var_6 << 3)))(); switch ((number32_t) var_7) { case 9: { var_12 = var_9 < var_8; } break; case 48: { break; } break; case 8: { var_12 = (number32_t) var_9 < (number32_t) var_8; } break; case 17: { var_12 = var_9 > ~var_8; } break; case 32: case 33: { var_12 = var_8; } break; case 1: case 40: case 41: { var_12 = var_8 & 0x1; } break; case 16: { var_12 = ~(number32_t) var_8 < (number32_t) var_9; } break; default: { var_12 = 0; } break; } var_10 = var_11 - 1; var_6 = var_6 + 1; var_7 = 24; var_9 = var_11; } while ((var_11 & 0xFFFFFFFF)); var_0 = var_1; } } return var_0; } _ABI(Microsoft_x86_64) _Noreturn void function_0x1800098c4_Code_x86_64(generic64_t argument_0) { struct_69 var_0; function_0x18000a430_Code_x86_64(); function_0x18000a044_Code_x86_64(undef(generic64_t), (generic8_t *) "runtime error %d\n", argument_0 & 0xFFFFFFFF, undef(generic64_t), var_0); function_0x18000a440_Code_x86_64(); } _ABI(Microsoft_x86_64) void function_0x1800098f8_Code_x86_64(void) { struct_73 stack; stack.offset_104 = (pointer_or_number64_t) &segment_1.offset_4768 + 24; stack.offset_88 = 18446744069414584320U; stack.offset_80 = 139; if (!segment_3.offset_808) { generic64_t var_0; generic64_t var_1; segment_3.offset_808 = '\001'; var_1 = function_0x18000a1cf_Code_x86_64(); var_0 = function_0x180009dbc_Code_x86_64(undef(generic64_t)); segment_3.offset_816 = (pointer_or_number64_t) &stack + 32 - var_0; segment_3.offset_824 = 0; if ((int64_t) (segment_1.offset_5224 - (number64_t) segment_1.offset_5232) > (int64_t) 7) { generic8_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; struct_68 var_9; var_8 = segment_1.offset_5232; if ((int64_t) (segment_1.offset_5224 - (number64_t) segment_1.offset_5232) < (int64_t) 12) { var_7 = var_8; if (!*(generic32_t *) var_7) { var_7 = var_8; if (!*(generic32_t *) (var_8 + 4)) { if (*(generic32_t *) (var_8 + 8) != 1) { function_0x180009d58_Code_x86_64((generic64_t) " Unknown pseudo relocation protocol version %d.\n", *(generic32_t *) (var_8 + 8), undef(generic64_t), undef(generic64_t), var_9); } if (var_8 + 12 < segment_1.offset_5224) { var_4 = lshift(var_8 + 12 - segment_1.offset_5224, 4294967240); var_3 = lshift(((var_8 + 12) ^ segment_1.offset_5224) & ((var_8 + 12) ^ (var_8 + 12 - segment_1.offset_5224)), 4294967244); if (!(llvm_fshl_i32(*(generic8_t *) (var_8 + 20), *(generic8_t *) (var_8 + 20) - 8, 29) < 8)) { function_0x180009d58_Code_x86_64((generic64_t) " Unknown pseudo relocation bit size %d.\n", *(generic8_t *) (var_8 + 20), llvm_fshl_i32(*(generic8_t *) (var_8 + 20), *(generic8_t *) (var_8 + 20) - 8, 29), undef(generic64_t), var_9); } revng_abort("A longjmp was taken"); } } else { if (var_7 < segment_1.offset_5224) { var_5 = 0; var_6 = var_7; do { *(generic32_t *) &stack.offset_52 = *(generic32_t *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))) + *(generic32_t *) var_6; function_0x180009bc7_Code_x86_64((struct_109 *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))), &stack.offset_52.offset_0, 4); var_6 = var_6 + 8; var_2 = var_7 + 8 + (var_5 << 3) < segment_1.offset_5224; var_5 = var_5 + 1; } while (var_2); } } } else { if (var_7 < segment_1.offset_5224) { var_5 = 0; var_6 = var_7; do { *(generic32_t *) &stack.offset_52 = *(generic32_t *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))) + *(generic32_t *) var_6; function_0x180009bc7_Code_x86_64((struct_109 *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))), &stack.offset_52.offset_0, 4); var_6 = var_6 + 8; var_2 = var_7 + 8 + (var_5 << 3) < segment_1.offset_5224; var_5 = var_5 + 1; } while (var_2); } } } else { var_7 = segment_1.offset_5232; if (!segment_1.offset_5232->offset_0) { var_7 = segment_1.offset_5232; if (!segment_1.offset_5232->offset_4) { generic64_t var_10; var_10 = !segment_1.offset_5232->offset_8 ? (generic64_t) &segment_1.offset_5232->offset_12 : (generic64_t) segment_1.offset_5232; var_8 = var_10; var_7 = var_8; if (!*(generic32_t *) var_7) { var_7 = var_8; if (!*(generic32_t *) (var_8 + 4)) { if (*(generic32_t *) (var_8 + 8) != 1) { function_0x180009d58_Code_x86_64((generic64_t) " Unknown pseudo relocation protocol version %d.\n", *(generic32_t *) (var_8 + 8), undef(generic64_t), undef(generic64_t), var_9); } if (var_8 + 12 < segment_1.offset_5224) { var_4 = lshift(var_8 + 12 - segment_1.offset_5224, 4294967240); var_3 = lshift(((var_8 + 12) ^ segment_1.offset_5224) & ((var_8 + 12) ^ (var_8 + 12 - segment_1.offset_5224)), 4294967244); if (!(llvm_fshl_i32(*(generic8_t *) (var_8 + 20), *(generic8_t *) (var_8 + 20) - 8, 29) < 8)) { function_0x180009d58_Code_x86_64((generic64_t) " Unknown pseudo relocation bit size %d.\n", *(generic8_t *) (var_8 + 20), llvm_fshl_i32(*(generic8_t *) (var_8 + 20), *(generic8_t *) (var_8 + 20) - 8, 29), undef(generic64_t), var_9); } revng_abort("A longjmp was taken"); } } else { if (var_7 < segment_1.offset_5224) { var_5 = 0; var_6 = var_7; do { *(generic32_t *) &stack.offset_52 = *(generic32_t *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))) + *(generic32_t *) var_6; function_0x180009bc7_Code_x86_64((struct_109 *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))), &stack.offset_52.offset_0, 4); var_6 = var_6 + 8; var_2 = var_7 + 8 + (var_5 << 3) < segment_1.offset_5224; var_5 = var_5 + 1; } while (var_2); } } } else { if (var_7 < segment_1.offset_5224) { var_5 = 0; var_6 = var_7; do { *(generic32_t *) &stack.offset_52 = *(generic32_t *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))) + *(generic32_t *) var_6; function_0x180009bc7_Code_x86_64((struct_109 *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))), &stack.offset_52.offset_0, 4); var_6 = var_6 + 8; var_2 = var_7 + 8 + (var_5 << 3) < segment_1.offset_5224; var_5 = var_5 + 1; } while (var_2); } } } else { if (var_7 < segment_1.offset_5224) { var_5 = 0; var_6 = var_7; do { *(generic32_t *) &stack.offset_52 = *(generic32_t *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))) + *(generic32_t *) var_6; function_0x180009bc7_Code_x86_64((struct_109 *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))), &stack.offset_52.offset_0, 4); var_6 = var_6 + 8; var_2 = var_7 + 8 + (var_5 << 3) < segment_1.offset_5224; var_5 = var_5 + 1; } while (var_2); } } } else { if (var_7 < segment_1.offset_5224) { var_5 = 0; var_6 = var_7; do { *(generic32_t *) &stack.offset_52 = *(generic32_t *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))) + *(generic32_t *) var_6; function_0x180009bc7_Code_x86_64((struct_109 *) (*(generic64_t *) "" + *(generic32_t *) (var_7 + 4 + (var_5 << 3))), &stack.offset_52.offset_0, 4); var_6 = var_6 + 8; var_2 = var_7 + 8 + (var_5 << 3) < segment_1.offset_5224; var_5 = var_5 + 1; } while (var_2); } } } generic8_t var_11; generic64_t var_12; var_12 = lshift(segment_3.offset_824, 4294967272); var_11 = !segment_3.offset_824 ? '@' : '\000'; if (!(var_11 | ((number8_t) var_12 & 0x80))) { generic64_t var_13; generic64_t var_14; generic64_t var_15; struct_104 *var_16; var_16 = segment_3.offset_816; var_13 = segment_3.offset_824; var_14 = 0; var_15 = 16; generic8_t var_17; generic64_t var_18; do { generic64_t var_19; var_18 = var_13; var_19 = var_16; if (*(generic32_t *) (var_15 + var_19 - 16)) { ((rawfunction_40 *) segment_1.offset_10648)(*(generic64_t *) (var_15 + var_19 - 8), *(generic64_t *) (var_15 + var_19), (pointer_or_number64_t) &stack + 40); var_19 = segment_3.offset_816; var_18 = segment_3.offset_824; } var_17 = (int64_t) (var_14 + 1) < (int64_t) ((int64_t) ((number64_t) var_18 << 32) >> 32); var_15 = var_15 + 40; var_14 = var_14 + 1; } while (var_17); } } } } _ABI(Microsoft_x86_64) void function_0x180009bc7_Code_x86_64(struct_109 *argument_0, struct_111 *argument_1, generic64_t argument_2) { struct_81 stack; generic8_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; generic64_t var_4; generic64_t var_5; var_1 = lshift(segment_3.offset_824, 4294967240); var_0 = !segment_3.offset_824 ? '@' : '\000'; var_3 = 0; var_4 = argument_2; if (!(var_0 | ((number8_t) var_1 & 0x80))) { generic64_t var_6; var_6 = 0; while (true) { generic64_t var_7; generic64_t var_8; generic64_t var_9; var_8 = var_9; var_7 = *(generic64_t *) ((pointer_or_number64_t) &segment_3.offset_816->offset_24 + var_6 * 1); if (!(var_7 > (uint64_t) argument_0)) { var_8 = *(generic32_t *) (*(generic64_t *) ((pointer_or_number64_t) &segment_3.offset_816->offset_32 + var_6 * 1) + 8); var_7 = *(generic64_t *) ((pointer_or_number64_t) &segment_3.offset_816->offset_24 + var_6 * 1) + var_8; if (var_7 > (uint64_t) argument_0) { var_2 = *(generic32_t *) (*(generic64_t *) ((pointer_or_number64_t) &segment_3.offset_816->offset_32 + var_6 * 1) + 8); function_0x180009dec_Code_x86_64(argument_0, argument_1, argument_2, var_2); return; } } generic8_t var_10; var_10 = (number64_t) segment_3.offset_824 * 40 == var_6 + 40; var_6 = var_6 + 40; if (!(var_10)) { continue; } var_3 = (number64_t) segment_3.offset_824 * 40; var_4 = var_7; var_5 = var_8; break; } } struct_103 *var_11; struct_68 var_12; var_11 = function_0x18000a16c_Code_x86_64(argument_0); if (!var_11) { function_0x180009d58_Code_x86_64((generic64_t) "Address %p has no image-section", (generic64_t) argument_0, var_4, var_5, var_12); } generic64_t var_13; generic64_t var_14; generic64_t var_15; artificial_struct_returned_by_rawfunction_41 var_16; *(struct_103 **) ((pointer_or_number64_t) &segment_3.offset_816->offset_32 + var_3 * 1) = var_11; *(generic32_t *) (var_3 + (pointer_or_number64_t) segment_3.offset_816) = 0; var_15 = function_0x18000a258_Code_x86_64(); *(generic64_t *) ((pointer_or_number64_t) &segment_3.offset_816->offset_24 + var_3 * 1) = var_15 + var_11->offset_12; var_16 = ((rawfunction_41 *) segment_1.offset_10656)((generic64_t) &stack.offset_32, 48); var_14 = var_16.register_rax; var_13 = var_16.register_r9; if (!var_14) { function_0x180009d58_Code_x86_64((generic64_t) " VirtualQuery failed for %d bytes at address %p", var_11->offset_8, *(generic64_t *) ((pointer_or_number64_t) &segment_3.offset_816->offset_24 + var_3 * 1), var_13, var_12); } generic64_t var_17; generic64_t var_18; if ((int32_t) stack.offset_68 > (int32_t) 7) { var_17 = var_13; var_18 = 64; switch ((number32_t) stack.offset_68) { case 8: case 64: case 128: { var_2 = var_17; segment_3.offset_824 = segment_3.offset_824 + 1; function_0x180009dec_Code_x86_64(argument_0, argument_1, argument_2, var_2); return; } break; } } else { var_17 = var_13; var_18 = 4; if ((number32_t) stack.offset_68 == 4) { var_2 = var_17; segment_3.offset_824 = segment_3.offset_824 + 1; function_0x180009dec_Code_x86_64(argument_0, argument_1, argument_2, var_2); return; } if ((number32_t) stack.offset_68 != 2) { var_18 = 64; } } generic64_t var_19; generic64_t var_20; generic64_t var_21; artificial_struct_returned_by_rawfunction_42 var_22; *(generic64_t *) ((pointer_or_number64_t) &segment_3.offset_816->offset_8 + var_3 * 1) = stack.offset_32; *(generic64_t *) ((pointer_or_number64_t) &segment_3.offset_816->offset_16 + var_3 * 1) = stack.offset_56; var_22 = ((rawfunction_42 *) segment_1.offset_10648)(var_18); var_21 = var_22.register_rax; var_20 = var_22.register_r8; var_19 = var_22.register_r9; var_17 = var_19; if (!((var_21 & 0xFFFFFFFF))) { generic64_t var_23; generic64_t var_24; generic64_t var_25; artificial_struct_returned_by_rawfunction_43 var_26; var_26 = ((rawfunction_43 *) segment_1.offset_10608)(var_20); var_25 = var_26.register_rax; var_24 = var_26.register_r8; var_23 = var_26.register_r9; function_0x180009d58_Code_x86_64((generic64_t) " VirtualProtect failed with code 0x%x", var_25 & 0xFFFFFFFF, var_24, var_23, var_12); } var_2 = var_17; segment_3.offset_824 = segment_3.offset_824 + 1; function_0x180009dec_Code_x86_64(argument_0, argument_1, argument_2, var_2); } _ABI(raw_x86_64) _Noreturn void function_0x180009d58_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_68 stack_arguments _STACK) { struct_82 stack; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_32 = (pointer_or_number64_t) &(&stack)[1] + 16; function_0x18000a430_Code_x86_64(); function_0x18000a450_Code_x86_64(); function_0x18000a430_Code_x86_64(); function_0x18000a3ac_Code_x86_64((pointer_or_number64_t) &(&stack)[1] + 16, register_rcx, stack.offset_32, (pointer_or_number64_t) &(&stack)[1] + 16); function_0x18000a460_Code_x86_64(); } _ABI(Microsoft_x86_64) generic64_t function_0x180009dbc_Code_x86_64(generic64_t argument_0) { struct_80 stack; stack.offset_8 = argument_0; return stack.offset_0; } _ABI(Microsoft_x86_64) void function_0x180009dec_Code_x86_64(struct_109 *argument_0, struct_111 *argument_1, generic64_t argument_2, generic64_t argument_3) { if (argument_2) { generic64_t var_0; generic64_t var_1; var_0 = 0; var_1 = argument_3; generic64_t var_2; do { var_2 = var_0; var_0 = var_2 + 1; var_1 = (var_1 & 0xFFFFFFFFFFFFFF00) | argument_1[var_2].offset_0; argument_0[var_2].offset_0 = argument_1[var_2].offset_0; } while (var_0 != argument_2); } } _ABI(Microsoft_x86_64) void function_0x180009fbc_Code_x86_64(void) { if (segment_3.offset_832) { generic64_t var_0; var_0 = ((cabifunction_149 *) segment_1.offset_10600)((pointer_or_number64_t) &segment_3.offset_832 + 8); if (segment_3.offset_880) { generic64_t var_1; var_1 = segment_3.offset_880; do { generic64_t var_2; generic64_t var_3; var_3 = ((cabifunction_150 *) segment_1.offset_10640)(*(generic32_t *) var_1); var_2 = ((cabifunction_151 *) segment_1.offset_10608)(*(generic32_t *) var_1); if (!((var_2 & 0xFFFFFFFF) != 0 || !var_3)) { generic64_t var_4; var_4 = ((cabifunction_152 *) *(generic64_t *) (var_1 + 8))(var_3); } var_1 = *(generic64_t *) (var_1 + 16); } while (var_1); } } } _ABI(raw_x86_64) void function_0x18000a044_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic8_t *register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_69 stack_arguments _STACK) { struct_79 stack; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_40 = (pointer_or_number64_t) &(&stack)[1] + 24; stack.offset_32 = (pointer_or_number64_t) &(&stack)[1] + 24; function_0x18000a490_Code_x86_64(); } _ABI(Microsoft_x86_64) struct_103 *function_0x18000a16c_Code_x86_64(struct_109 *argument_0) { generic64_t var_0; var_0 = 0; if (*(generic16_t *) *(generic64_t *) "" == 23117) { var_0 = 0; if (*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60)) == 17744) { var_0 = 0; if (*(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24) == 523) { var_0 = 0; if (*(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 6)) { generic64_t var_1; generic64_t var_2; var_2 = *(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 20) + 24; var_1 = 0; generic64_t var_3; while (true) { if (!((pointer_or_number64_t) argument_0 - *(generic64_t *) "" < *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 20) + 36 + var_1 * 40))) { var_3 = var_2; if ((pointer_or_number64_t) argument_0 - *(generic64_t *) "" < *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 20) + 32 + var_1 * 40) + *(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 20) + 36 + var_1 * 40)) { break; } } var_3 = 0; if (~var_1 == 0 - *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 6)) { break; } var_2 = var_2 + 40; var_1 = var_1 + 1; } var_0 = var_3; } } } } return (struct_103 *) var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x18000a1cf_Code_x86_64(void) { generic64_t var_0; var_0 = 0; if (*(generic16_t *) *(generic64_t *) "" == 23117) { var_0 = 0; if (*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60)) == 17744) { var_0 = 0; if (*(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24) == 523) { var_0 = *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 6); } } } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x18000a258_Code_x86_64(void) { generic64_t var_0; var_0 = 0; if (*(generic16_t *) *(generic64_t *) "" == 23117) { var_0 = 0; if (*(generic32_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60)) == 17744) { generic64_t var_1; var_1 = *(generic16_t *) (*(generic64_t *) "" + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) "" + 60) + 24) == 523 ? *(generic64_t *) "" : 0; var_0 = var_1; } } return var_0; } _ABI(Microsoft_x86_64) void function_0x18000a3ac_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_83 stack; stack.offset_32 = argument_2; function_0x18000a490_Code_x86_64(); } _ABI(Microsoft_x86_64) void function_0x18000a3d8_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(Microsoft_x86_64) void function_0x18000a3f0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x18000a410_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x18000a430_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x18000a440_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x18000a450_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x18000a460_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x18000a480_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x18000a490_Code_x86_64(void) { }
Loading...