Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
binary
binary_decompiled.c
0 lines
|
3.29 MB
#include "types-and-globals.h" #include "helpers.h" _ABI(Microsoft_x86_64) generic64_t function_0x140001008_Code_x86_64(struct_264 *argument_0, struct_265 *argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; generic64_t var_1; var_0 = 3221225488; var_1 = 0; if (argument_1->offset_184->offset_24 == (pointer_or_number32_t) -2147459068) { var_0 = 3221225990; var_1 = 0; if (argument_1->offset_184->offset_8 > 135) { if (!(((number64_t) argument_0->offset_64->offset_16->offset_64 | (number64_t) argument_1->offset_0.offset_24) & 0xF)) { argument_1->offset_0.offset_24->offset_0.member_2.member_0.member_0.offset_0.member_3 = argument_0->offset_64->offset_16->offset_64->offset_432.offset_0.member_1; argument_1->offset_0.offset_24->offset_0.member_2.member_0.member_0.offset_8.member_0 = argument_0->offset_64->offset_16->offset_64->offset_432.offset_8; argument_1->offset_0.offset_24->offset_0.member_2.member_0.member_0.offset_16 = argument_0->offset_64->offset_16->offset_64->offset_448; argument_1->offset_0.offset_24->offset_0.member_2.member_0.member_0.offset_24 = argument_0->offset_64->offset_16->offset_64->offset_456; argument_1->offset_0.offset_24->offset_0.member_2.member_0.member_0.offset_32 = argument_0->offset_64->offset_16->offset_64->offset_464; argument_1->offset_0.offset_24->offset_0.member_2.member_0.member_6.offset_40 = argument_0->offset_64->offset_16->offset_64->offset_472; argument_1->offset_0.offset_24->offset_0.member_2.member_0.member_8.offset_48 = argument_0->offset_64->offset_16->offset_64->offset_480; argument_1->offset_0.offset_24->offset_0.member_2.member_0.member_10.offset_56 = argument_0->offset_64->offset_16->offset_64->offset_488; argument_1->offset_0.offset_24->offset_0.member_2.member_1.offset_8.member_6.offset_56 = argument_0->offset_64->offset_16->offset_64->offset_496; argument_1->offset_0.offset_24->offset_0.member_1.offset_64.member_3.offset_8 = argument_0->offset_64->offset_16->offset_64->offset_504; argument_1->offset_0.offset_24->offset_0.member_1.offset_64.member_1.offset_16 = argument_0->offset_64->offset_16->offset_64->offset_512; argument_1->offset_0.offset_24->offset_0.member_1.offset_64.member_2.offset_24 = argument_0->offset_64->offset_16->offset_64->offset_520; argument_1->offset_0.offset_24->offset_0.member_1.offset_64.member_4.offset_32 = argument_0->offset_64->offset_16->offset_64->offset_528; argument_1->offset_0.offset_24->offset_0.member_1.offset_64.member_5.offset_40 = argument_0->offset_64->offset_16->offset_64->offset_536; argument_1->offset_0.offset_24->offset_0.member_1.offset_64.member_6.offset_48 = argument_0->offset_64->offset_16->offset_64->offset_544; argument_1->offset_0.offset_24->offset_0.member_1.offset_64.member_7.offset_56 = argument_0->offset_64->offset_16->offset_64->offset_552; argument_1->offset_0.offset_24->offset_0.member_2.member_1.offset_8.member_8.offset_120 = argument_0->offset_64->offset_16->offset_64->offset_560; var_0 = 0; var_1 = 136; } else { union_324 *var_2; var_2 = function_0x140003f40_Code_x86_64(&argument_1->offset_0.offset_24->offset_0, &argument_0->offset_64->offset_16->offset_64->offset_432, 136); var_0 = 0; var_1 = 136; } } } generic64_t var_3; var_3 = function_0x140003750_Code_x86_64(&argument_1->offset_0, var_0, var_1, argument_3); return var_0; } _ABI(Microsoft_x86_64) void function_0x1400010f4_Code_x86_64(generic64_t argument_0) { if (argument_0) { segment_2.offset_896.member_1 = 0; segment_2.offset_904 = 0; } } _ABI(Microsoft_x86_64) _Noreturn void function_0x14000110f_Code_x86_64(void) { ((rawfunction_120 *) segment_1.offset_296)(1684170579); segment_2.offset_904 = 0; revng_abort("A longjmp was taken"); } _ABI(Microsoft_x86_64) generic64_t function_0x140001130_Code_x86_64(struct_326 *argument_0, generic64_t argument_1, generic64_t argument_2) { generic64_t var_0; var_0 = 3221225485; if (argument_0) { var_0 = 3221225485; if (argument_0->offset_0 == 26483) { var_0 = 3221225626; if (argument_0->offset_48->offset_192) { helper_lock(); argument_0->offset_8 = argument_0->offset_8 + 1; helper_unlock(); if (!argument_0->offset_8) { argument_0->offset_56 = argument_1; argument_0->offset_64 = argument_2; if (argument_0->offset_48->offset_16->offset_64->offset_280) { generic64_t var_1; var_1 = ((rawfunction_121 *) segment_1.offset_48)((generic64_t) function_0x1400011cc_Code_x86_64); var_0 = 0; if ((var_1 & 0xFF)) { return var_0; } } argument_0->offset_56 = 0; argument_0->offset_64 = 0; var_0 = 3221225626; } else { helper_lock(); argument_0->offset_8 = argument_0->offset_8 - 1; helper_unlock(); var_0 = 3221225626; } } } } return var_0; } _ABI(raw_x86_64) generic64_t function_0x1400011cc_Code_x86_64(struct_327 *register_rcx _REG(rcx_x86_64), struct_203 stack_arguments _STACK) { struct_216 stack; generic64_t var_0; generic64_t var_1; stack.offset_0 = '\000'; var_1 = 0; if (register_rcx) { var_0 = register_rcx->offset_16; stack_arguments.offset_8 = ((struct_328 *) var_0)->offset_64; stack_arguments.offset_16 = ((struct_328 *) var_0)->offset_64->offset_344; var_1 = 0; if (((struct_328 *) var_0)->offset_64->offset_344) { generic32_t var_2; stack_arguments.offset_0 = ((struct_328 *) var_0)->offset_64->offset_344->offset_68; var_2 = register_rcx->offset_192 | ((struct_328 *) var_0)->offset_64->offset_344->offset_68; var_0 = var_2; stack_arguments.offset_0 = var_2; stack_arguments.offset_16->offset_68 = var_2; helper_lock(); helper_unlock(); stack.offset_0 = '\001'; var_1 = 1; } } return (var_0 & 0xFFFFFFFFFFFFFF00) | var_1; } _ABI(Microsoft_x86_64) void function_0x140001230_Code_x86_64(struct_329 *argument_0) { if (argument_0) { helper_lock(); argument_0->offset_4 = argument_0->offset_4 - 1; helper_unlock(); } } _ABI(Microsoft_x86_64) generic64_t function_0x140001240_Code_x86_64(struct_330 *argument_0) { generic64_t var_0; var_0 = 3221225485; if (argument_0) { var_0 = 3221225485; if (argument_0->offset_0 == 26483) { var_0 = 3221225626; if (argument_0->offset_48->offset_192) { helper_lock(); argument_0->offset_8 = argument_0->offset_8 - 1; helper_unlock(); if (argument_0->offset_8 == 1) { var_0 = 3221225626; if (argument_0->offset_48->offset_16->offset_64->offset_280) { generic64_t var_1; generic64_t var_2; generic64_t var_3; artificial_struct_returned_by_rawfunction_122 var_4; var_4 = ((rawfunction_122 *) segment_1.offset_48)((generic64_t) function_0x1400012c8_Code_x86_64); var_3 = var_4.register_rax; var_2 = var_4.register_rcx; argument_0->offset_56 = 0; argument_0->offset_64 = 0; var_1 = !(var_3 & 0xFF) ? 3221225626 : 0; var_0 = var_1; } } else { helper_lock(); argument_0->offset_8 = argument_0->offset_8 + 1; helper_unlock(); var_0 = 3221225626; } } } } return var_0; } _ABI(raw_x86_64) generic64_t function_0x1400012c8_Code_x86_64(struct_331 *register_rcx _REG(rcx_x86_64), struct_205 stack_arguments _STACK) { struct_218 stack; generic64_t var_0; generic64_t var_1; stack.offset_0 = '\000'; var_1 = 0; if (register_rcx) { var_0 = register_rcx->offset_16; stack_arguments.offset_8 = ((struct_333 *) var_0)->offset_64; stack_arguments.offset_16 = ((struct_333 *) var_0)->offset_64->offset_344; var_1 = 0; if (((struct_333 *) var_0)->offset_64->offset_344) { stack_arguments.offset_0 = ((struct_333 *) var_0)->offset_64->offset_344->offset_68; var_0 = ~register_rcx->offset_192; stack_arguments.offset_0 = stack_arguments.offset_0 & ~register_rcx->offset_192; stack_arguments.offset_16->offset_68 = stack_arguments.offset_0 & ~register_rcx->offset_192; helper_lock(); helper_unlock(); stack.offset_0 = '\001'; var_1 = 1; } } return (var_0 & 0xFFFFFFFFFFFFFF00) | var_1; } _ABI(Microsoft_x86_64) generic64_t function_0x140001334_Code_x86_64(struct_334 *argument_0, generic64_t argument_1, generic64_t argument_2) { generic64_t var_0; var_0 = 0; if (!(!argument_0 || !argument_1 || !argument_2)) { var_0 = 0; if (argument_0->offset_0 == 26483) { var_0 = 0; if (argument_0->offset_48->offset_16) { var_0 = 0; if (argument_0->offset_48->offset_16->offset_64->offset_248) { generic64_t var_1; var_1 = ((cabifunction_636 *) argument_0->offset_48->offset_16->offset_64->offset_248)(argument_0->offset_48->offset_16->offset_64->offset_216); var_0 = var_1; } } } } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x14000138c_Code_x86_64(struct_335 *argument_0, generic64_t *argument_1, generic64_t *argument_2) { generic64_t var_0; var_0 = 3221225485; if (!(!argument_0 || !argument_1 || !argument_2)) { var_0 = 3221225473; if (argument_0->offset_0 == 26483) { var_0 = 3221225495; if (argument_0->offset_32) { *argument_1 = argument_0->offset_32; *argument_2 = argument_0->offset_40; var_0 = 0; } } } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x1400013d8_Code_x86_64(struct_336 *argument_0, generic64_t *argument_1, generic64_t *argument_2) { generic64_t var_0; var_0 = 3221225485; if (!(!argument_0 || !argument_1 || !argument_2)) { var_0 = 3221225473; if (argument_0->offset_0 == 26483) { *argument_1 = argument_0->offset_16; *argument_2 = argument_0->offset_24; var_0 = 0; } } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x140001418_Code_x86_64(generic16_t *argument_0, generic64_t argument_1) { generic64_t var_0; var_0 = 3221225473; if (!(!argument_0 || !argument_1)) { var_0 = 3221225473; if (*argument_0 == 26483) { ((rawfunction_124 *) segment_1.offset_160)(3221225473, (generic64_t) &argument_0[44]); var_0 = 0; } } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x140001450_Code_x86_64(generic16_t *argument_0) { if ((argument_0) && (*argument_0 == 26483)) { ((rawfunction_125 *) segment_1.offset_40)(0, (generic64_t) &argument_0[44]); } return 0; } _ABI(Microsoft_x86_64) void function_0x140001480_Code_x86_64(struct_337 *argument_0) { if (argument_0) { helper_lock(); argument_0->offset_4 = argument_0->offset_4 + 1; helper_unlock(); } } _ABI(Microsoft_x86_64) generic64_t function_0x140001490_Code_x86_64(struct_338 *argument_0, generic64_t argument_1) { generic64_t var_0; generic64_t var_1; var_0 = 0; if (!(!argument_0 || !argument_1)) { var_0 = 0; var_1 = 26483; if (argument_0->offset_0 == 26483) { var_1 = argument_0->offset_48->offset_16->offset_64; var_0 = 0; if (((struct_339 *) var_1)->offset_280) { generic64_t var_2; generic64_t var_3; artificial_struct_returned_by_rawfunction_126 var_4; var_4 = ((rawfunction_126 *) segment_1.offset_48)(); var_3 = var_4.register_rax; var_1 = var_3; var_2 = var_4.register_r9; var_0 = var_1 & 0xFF; } } } return (var_1 & 0xFFFFFFFFFFFFFF00) | var_0; } _ABI(raw_x86_64) generic64_t function_0x140001ec8_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), struct_202 stack_arguments _STACK) { struct_223 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; artificial_struct_returned_by_rawfunction_127 var_7; stack.offset_64 = 3221225473; stack_arguments.offset_24 = 0; stack.offset_72 = 0; stack.offset_48 = &(&stack)[1].offset_32; stack.offset_40 = '\000'; stack.offset_32 = 0; var_7 = ((rawfunction_127 *) segment_1.offset_136)(568, 0); var_2 = var_7.register_rax; var_1 = var_7.register_r8; var_3 = var_1; var_0 = var_7.register_r9; stack.offset_64 = (number32_t) var_2; var_5 = var_2 & 0xFFFFFFFF; var_4 = 0; var_6 = 568; if ((int32_t) (number32_t) var_2 > -1) { generic64_t var_8; generic64_t var_9; generic64_t var_10; artificial_struct_returned_by_rawfunction_128 var_11; var_4 = stack_arguments.offset_24->offset_64; stack.offset_72 = var_4; function_0x140003a50_Code_x86_64(&((struct_341 *) var_4)->offset_0, 0, 568, var_0); ((struct_341 *) var_4)->offset_0.offset_0.member_2.member_0 = 1; ((struct_341 *) var_4)->offset_0.offset_8 = stack_arguments.offset_24; ((struct_341 *) var_4)->offset_32 = register_rcx; ((struct_341 *) var_4)->offset_40 = register_rdx; ((struct_341 *) var_4)->offset_196 = 1; ((struct_341 *) var_4)->offset_200 = 1; var_11 = ((rawfunction_128 *) *(generic64_t *) "")(register_rdx, (pointer_or_number64_t) &segment_1.offset_312 + 80, 0); var_10 = var_11.register_rax; var_9 = var_11.register_r8; var_3 = var_9; var_8 = var_11.register_r9; stack.offset_64 = (number32_t) var_10; var_5 = var_10 & 0xFFFFFFFF; var_6 = (pointer_or_number64_t) &segment_1.offset_312 + 80; if ((int32_t) (number32_t) var_10 > -1) { generic64_t var_12; generic64_t var_13; generic64_t var_14; generic64_t var_15; generic64_t var_16; generic64_t var_17; generic64_t var_18; artificial_struct_returned_by_rawfunction_129 var_19; stack_arguments.offset_24->offset_48 = stack_arguments.offset_24->offset_48 | 0x2000; var_15 = lshift(var_10 & 0xFFFFFFFF, 4294967272); var_17 = stack_arguments.offset_24->offset_64->offset_40; var_19 = ((rawfunction_129 *) segment_1.offset_112)((generic64_t) stack_arguments.offset_24, var_17, var_9); var_14 = var_19.register_rax; var_13 = var_19.register_r8; var_16 = var_13; var_12 = var_19.register_r9; stack_arguments.offset_24->offset_64->offset_48 = var_14; var_18 = 3221225626; if (!var_14) { var_3 = var_16; var_6 = var_17; var_5 = var_18; stack.offset_64 = (number32_t) var_5; } else { generic64_t var_20; struct_209 var_21; var_21.offset_32 = 1; var_20 = function_0x140003784_Code_x86_64(stack_arguments.offset_24->offset_64->offset_40, (pointer_or_number64_t) &segment_1.offset_312 + 96, (generic64_t) &stack_arguments.offset_24->offset_64->offset_208, 64, var_21); stack.offset_64 = (number32_t) var_20; var_5 = var_20 & 0xFFFFFFFF; var_3 = &stack_arguments.offset_24->offset_64->offset_208; var_6 = (pointer_or_number64_t) &segment_1.offset_312 + 96; var_4 = stack_arguments.offset_24->offset_64; if ((int32_t) (number32_t) var_20 > -1) { generic64_t var_22; generic64_t var_23; generic64_t var_24; artificial_struct_returned_by_rawfunction_130 var_25; stack_arguments.offset_16 = '\000'; stack.offset_32 = 1; var_25 = ((rawfunction_130 *) ((struct_341 *) var_4)->offset_264)(((struct_341 *) var_4)->offset_208.offset_8, 0, (pointer_or_number64_t) &(&stack)[1] + 24); var_24 = var_25.register_rax; var_23 = var_25.register_r8; var_22 = var_25.register_r9; if ((number32_t) var_24 == 1) { ((struct_341 *) var_4)->offset_272 = stack_arguments.offset_16; } generic64_t var_26; generic64_t var_27; stack_arguments.offset_24->offset_48 = stack_arguments.offset_24->offset_48 & 0xFFFFFF7F; var_27 = lshift((uint64_t) ((number32_t) var_24 - 1), 4294967272); var_26 = lshift((uint64_t) (((number32_t) var_24 ^ 0x1) & (((number32_t) var_24 - 1) ^ (number32_t) var_24)), 4294967276); var_16 = var_23; var_17 = 0; var_18 = 0; var_3 = var_16; var_6 = var_17; var_5 = var_18; stack.offset_64 = (number32_t) var_5; } } } } if ((var_5 & 0x80000000)) { if (stack_arguments.offset_24) { generic64_t var_28; generic64_t var_29; var_28 = var_3; var_29 = var_6; if (var_4) { generic64_t var_30; generic64_t var_31; var_30 = var_3; var_31 = var_6; if (*(generic64_t *) (var_4 + 232)) { generic64_t var_32; var_32 = ((rawfunction_131 *) *(generic64_t *) (var_4 + 232))(*(generic64_t *) (var_4 + 216), var_6, var_3); function_0x140003a50_Code_x86_64((struct_363 *) (var_4 + 208), 0, 64, var_32); var_30 = 64; var_31 = 0; } var_28 = var_30; var_29 = var_31; if (*(generic64_t *) (var_4 + 48)) { generic64_t var_33; var_33 = ((rawfunction_132 *) segment_1.offset_152)(var_31, var_30); var_28 = var_33; *(generic64_t *) (var_4 + 48) = 0; var_29 = var_31; } } ((cabifunction_637 *) segment_1.offset_144)((generic64_t) stack_arguments.offset_24, var_29, var_28); } } return var_5 & 0xFFFFFFFF; } _ABI(raw_x86_64) generic64_t function_0x1400020c0_Code_x86_64(struct_367 *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_207 stack_arguments _STACK) { struct_225 stack; generic64_t var_0; generic64_t var_1; stack.offset_72 = 0; stack.offset_48 = &stack.offset_72; stack.offset_40 = '\000'; stack.offset_32 = 128; var_0 = ((cabifunction_570 *) segment_1.offset_136)(register_rcx->offset_32, 200, 0, 34); var_1 = var_0; stack.offset_64 = (number32_t) var_1; if ((int32_t) (number32_t) var_1 > -1) { stack.offset_80 = stack.offset_72->offset_64; function_0x140003a50_Code_x86_64(&stack.offset_80->offset_0, 0, 200, 34); stack.offset_80->offset_0.offset_0.member_2.member_0 = 2; stack.offset_80->offset_0.offset_8 = stack.offset_72; stack.offset_80->offset_16 = register_rcx->offset_8; stack.offset_80->offset_24 = (number32_t) register_rdx; stack.offset_80->offset_28 = (number32_t) register_r8; stack.offset_80->offset_32 = (number32_t) register_r9; stack.offset_80->offset_36 = register_rcx->offset_272; stack.offset_80->offset_192 = stack_arguments.offset_32; stack.offset_80->offset_40 = 26483; stack.offset_80->offset_44 = 0; stack.offset_80->offset_56 = register_rcx->offset_344 + stack_arguments.offset_40; stack.offset_80->offset_64 = stack_arguments.offset_48; stack.offset_80->offset_72 = register_rcx->offset_344 + stack_arguments.offset_56; stack.offset_80->offset_80 = stack_arguments.offset_64; stack.offset_80->offset_88 = stack.offset_80; stack.offset_80->offset_96 = 0; stack.offset_80->offset_112 = 0; stack.offset_80->offset_120 = 0; stack.offset_72->offset_48 = stack.offset_72->offset_48 & 0xFFFFFF7F; *stack_arguments.offset_72 = stack.offset_72; var_1 = 0; } return var_1; } _ABI(Microsoft_x86_64) generic64_t function_0x140002214_Code_x86_64(struct_367 *argument_0, union_368 *argument_1, union_368 *argument_2, generic64_t argument_3) { struct_226 stack; uint64_t loop_state_var; generic64_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; stack.offset_128 = segment_2.offset_768.member_1 ^ (number64_t) &stack; stack.offset_88 = 0; function_0x140003a50_Code_x86_64(&stack.offset_92, 0, 36, argument_3); var_1 = argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3; stack.offset_80 = 0; var_0 = 36; var_2 = 0; var_3 = 0; if (argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3) { generic64_t var_4; generic64_t var_5; generic64_t var_6; generic64_t var_7; generic64_t var_8; var_4 = 0; var_5 = 0; var_6 = argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3; var_7 = 0; var_8 = 0; generic8_t var_9; generic64_t var_10; generic64_t var_11; generic64_t var_12; generic64_t var_13; generic64_t var_14; generic64_t var_15; do { generic64_t var_16; generic64_t var_17; generic64_t var_18; generic64_t var_19; generic8_t var_20; generic64_t var_21; bool var_22 = false; var_18 = var_4; var_17 = var_18; var_19 = var_5; var_16 = var_19; var_14 = var_7; var_15 = var_8 * 15; var_20 = false; var_21 = 0; switch ((number16_t) argument_1->member_1.offset_0[var_8].offset_0.offset_4.member_1.offset_1) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: { switch ((number16_t) argument_1->member_1.offset_0[var_8].offset_0.offset_4.member_1.offset_1) { case 2: { var_18 = var_4; var_19 = var_5; var_20 = false; var_21 = 2; } break; case 1: { var_18 = var_4; var_19 = var_5; var_20 = false; var_21 = 1; } break; case 3: { var_18 = var_4; var_19 = var_5; var_20 = false; var_21 = 3; } break; case 4: { var_18 = var_4; var_19 = var_5; var_20 = false; var_21 = 4; } break; case 5: { var_18 = var_4; var_19 = var_5; var_20 = false; var_21 = 5; } break; case 6: { var_18 = var_4; var_19 = var_5; var_20 = false; var_21 = 6; } break; case 7: { var_18 = var_4; var_19 = var_5; var_20 = false; var_21 = 7; } break; case 8: { var_18 = *(generic32_t *) ((pointer_or_number64_t) &argument_1->member_1.offset_0[var_8].offset_0.offset_4 + 3); var_19 = *(generic32_t *) ((pointer_or_number64_t) &argument_1->member_1.offset_0[var_8] + 11); var_20 = true; var_21 = 8; } break; } struct_541 *var_23; generic64_t var_24; var_24 = var_21; var_23 = &argument_1->member_1.offset_0[var_8]; if (var_20) { generic8_t var_25; generic64_t var_26; var_26 = lshift(var_6, 4294967272); var_25 = !var_6 ? '@' : '\000'; var_14 = var_6; var_15 = var_8 * 15; var_16 = var_19; var_17 = var_18; if ((var_25 | ((number8_t) var_26 & 0x80))) { var_12 = var_14; var_10 = var_15; var_6 = argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3; var_11 = var_6; var_9 = (number32_t) var_8 + 1 - argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3 > ~argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3; var_8 = (number32_t) var_8 + 1; var_13 = 0; if (var_9) { continue; } var_22 = true; break; } generic64_t var_27; var_27 = 0; if (argument_1->member_1.offset_0[0].offset_0.offset_4.member_1.offset_1 != 9) { generic64_t var_28; var_28 = 0; while (true) { if (!(var_28 + 1 < var_6)) { loop_state_var = 0; break; } generic8_t var_29; var_29 = argument_1->member_1.offset_0[var_28 + 1].offset_0.offset_4.member_1.offset_1 == 9; var_28 = var_28 + 1; if (!(var_29)) { continue; } break; } if (!(loop_state_var)) { var_14 = var_6; var_15 = var_8 * 15; var_16 = var_19; var_17 = var_18; var_12 = var_14; var_10 = var_15; var_6 = argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3; var_11 = var_6; var_9 = (number32_t) var_8 + 1 - argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3 > ~argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3; var_8 = (number32_t) var_8 + 1; var_13 = 0; if (var_9) { continue; } var_22 = true; break; } var_27 = var_28; } var_23 = &argument_1->member_1.offset_0[var_27]; var_24 = 8; } generic64_t var_30; struct_207 var_31; var_12 = var_24; var_10 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_88 + var_12 * 4); var_31.offset_72 = &stack.offset_80; var_31.offset_64 = (number32_t) var_19; var_31.offset_56 = (number32_t) var_18; var_31.offset_48 = *(generic32_t *) ((pointer_or_number64_t) var_23 + 11); var_31.offset_40 = *(generic32_t *) ((pointer_or_number64_t) var_23 + 7); var_31.offset_32 = *(generic32_t *) ((pointer_or_number64_t) var_23 + 15); var_30 = function_0x1400020c0_Code_x86_64(argument_0, var_12, var_10, var_8, var_31); var_11 = var_8; var_13 = 3221225473; if ((var_30 & 0x80000000)) { var_22 = true; break; } argument_0->offset_56[var_8].member_1 = stack.offset_80; argument_0->offset_56[17].member_0 = argument_0->offset_56[17].member_0 + 1; *(generic32_t *) ((pointer_or_number64_t) &stack.offset_88 + var_24 * 4) = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_88 + var_12 * 4) + 1; var_14 = var_24; var_15 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_88 + var_12 * 4); var_16 = var_19; var_17 = var_18; } break; } if (var_22){ break;} var_12 = var_14; var_10 = var_15; var_6 = argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3; var_11 = var_6; var_9 = (number32_t) var_8 + 1 - argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3 > ~argument_1->member_1.offset_0[0].offset_0.offset_0.member_2.offset_3; var_8 = (number32_t) var_8 + 1; var_13 = 0; } while (var_9); var_0 = var_10; var_1 = var_11; var_2 = var_12; var_3 = var_13; } function_0x1400038b0_Code_x86_64(stack.offset_128 ^ (number64_t) &stack, var_2, var_0, var_1); return var_3; } _ABI(Microsoft_x86_64) generic64_t function_0x1400023e8_Code_x86_64(struct_367 *argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; var_0 = 3221225473; if (argument_0) { generic64_t var_1; generic64_t var_2; var_2 = &argument_0->offset_56; var_1 = 0; do { if (*(generic64_t *) var_2) { ((cabifunction_571 *) segment_1.offset_144)(); *(generic64_t *) var_2 = 0; } var_1 = var_1 + 1; var_2 = var_2 + 8; } while (var_1 != 17); var_0 = 0; } return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x140002438_Code_x86_64(struct_365 *argument_0, struct_366 *argument_1) { generic64_t var_0; if (!argument_0->offset_64) { var_0 = 3221225473; if (argument_1) { argument_1->offset_48 = 3221225473; argument_1->offset_56 = 0; ((rawfunction_135 *) segment_1.offset_200)(0); var_0 = 3221225473; } } else { var_0 = 3221225473; switch ((number32_t) *argument_0->offset_64) { case 1: { generic64_t var_1; var_1 = ((cabifunction_638 *) *(generic64_t *) (((number8_t) llvm_umin_i8(argument_1->offset_184->offset_1, '\032') << '\003') | ((pointer_or_number64_t) &segment_2 + 256)))(); var_0 = var_1 & 0xFFFFFFFF; } break; case 2: { generic64_t var_2; var_2 = function_0x1400034bc_Code_x86_64(argument_0, argument_1); var_0 = var_2; } break; } } return var_0; } _ABI(Microsoft_x86_64) void function_0x14000248c_Code_x86_64(struct_367 *argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_231 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; stack.offset_608.member_1.offset_1024 = segment_2.offset_768.member_1 ^ (number64_t) &stack; stack.offset_96 = argument_0; stack.offset_80 = 3221225473; var_4 = argument_2; var_5 = argument_3; var_6 = 3221225473; var_7 = argument_1; if (!argument_0) { var_0 = var_4; var_1 = var_5; var_2 = var_6; var_3 = var_7; stack.offset_80 = (number32_t) var_2; } else { var_4 = argument_2; var_5 = argument_3; var_6 = 3221225626; var_7 = argument_1; if (!argument_0->offset_344) { var_0 = var_4; var_1 = var_5; var_2 = var_6; var_3 = var_7; stack.offset_80 = (number32_t) var_2; } else { generic64_t var_8; var_8 = function_0x140009310_Code_x86_64(argument_0->offset_344, &stack.offset_608.member_0, 1024); var_7 = &stack.offset_608; var_4 = 1024; var_5 = argument_3; var_6 = 3221225473; if (!(var_8 & 0xFF)) { var_0 = var_4; var_1 = var_5; var_2 = var_6; var_3 = var_7; stack.offset_80 = (number32_t) var_2; } else { generic64_t var_9; struct_212 var_10; var_9 = function_0x140009090_Code_x86_64(&stack.offset_608.member_0.member_0, 1024, &stack.offset_112, (generic64_t) &argument_0[1].offset_56[3], var_10); if (!(var_9 & 0xFF)) { generic64_t var_11; struct_207 var_12; stack.offset_88 = 0; var_12.offset_72 = &stack.offset_88; var_12.offset_64 = 0; var_12.offset_56 = 0; var_12.offset_48 = 65536; var_12.offset_40 = 131072; var_12.offset_32 = 4; var_11 = function_0x1400020c0_Code_x86_64(argument_0, 1, 0, 0, var_12); stack.offset_80 = (number32_t) var_11; var_2 = var_11 & 0xFFFFFFFF; var_0 = 0; var_1 = 0; var_3 = 1; if ((int32_t) (number32_t) var_11 > -1) { argument_0->offset_56[0].member_1 = stack.offset_88; argument_0->offset_56[17].member_0 = argument_0->offset_56[17].member_0 + 1; var_4 = 0; var_5 = 0; var_6 = 0; var_7 = 1; var_0 = var_4; var_1 = var_5; var_2 = var_6; var_3 = var_7; stack.offset_80 = (number32_t) var_2; } } else { generic64_t var_13; var_13 = function_0x140002214_Code_x86_64(argument_0, &stack.offset_112, &stack.offset_112, (generic64_t) &argument_0[1].offset_56[3]); stack.offset_80 = (number32_t) var_13; var_2 = var_13 & 0xFFFFFFFF; var_4 = &stack.offset_112; var_5 = &argument_0[1].offset_56[3]; var_7 = &stack.offset_112; var_0 = &stack.offset_112; var_1 = &argument_0[1].offset_56[3]; var_3 = &stack.offset_112; var_6 = 0; if ((int32_t) (number32_t) var_13 > -1) { var_0 = var_4; var_1 = var_5; var_2 = var_6; var_3 = var_7; stack.offset_80 = (number32_t) var_2; } } } } } if ((var_2 & 0x80000000)) { generic64_t var_14; var_14 = function_0x1400023e8_Code_x86_64(argument_0, var_3, var_0, var_1); } function_0x1400038b0_Code_x86_64(stack.offset_608.member_1.offset_1024 ^ (number64_t) &stack, var_3, var_0, var_1); } _ABI(Microsoft_x86_64) generic64_t function_0x1400025c8_Code_x86_64(generic64_t argument_0, struct_378 *argument_1) { generic64_t var_0; generic64_t var_1; if ((argument_1) && (argument_1->offset_344)) { var_1 = argument_1->offset_344->offset_64 & 0xFFFF; if ((argument_1->offset_344->offset_64 & 0xFFFF)) { if (argument_1->offset_344->offset_64 != (pointer_or_number32_t) -1) { generic64_t var_2; generic64_t var_3; generic64_t var_4; var_4 = &argument_1->offset_56; var_2 = 0; var_3 = argument_1->offset_344->offset_64 & 0xFFFF; generic64_t var_5; do { var_5 = var_3; if (*(generic64_t *) var_4) { var_5 = *(generic32_t *) (*(generic64_t *) (*(generic64_t *) var_4 + 64) + 192); if ((argument_1->offset_344->offset_64 & *(generic32_t *) (*(generic64_t *) (*(generic64_t *) var_4 + 64) + 192))) { var_5 = *(generic32_t *) (*(generic64_t *) (*(generic64_t *) var_4 + 64) + 192); if (*(generic64_t *) (*(generic64_t *) (*(generic64_t *) var_4 + 64) + 96)) { generic64_t var_6; var_6 = ((cabifunction_639 *) *(generic64_t *) (*(generic64_t *) (*(generic64_t *) var_4 + 64) + 96))(*(generic64_t *) (*(generic64_t *) (*(generic64_t *) var_4 + 64) + 104)); var_5 = var_6; } } } var_2 = var_2 + 1; var_4 = var_4 + 8; } while (var_2 != 17); var_0 = (var_5 & 0xFFFFFFFFFFFFFF00) | 0x1; return var_0; } var_1 = argument_1->offset_344->offset_68; } } var_0 = var_1 & 0xFFFFFFFFFFFFFF00; return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x140002650_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { ((cabifunction_640 *) segment_1.offset_72)(argument_2, 0, 0); return 3221225494; } _ABI(Microsoft_x86_64) generic64_t function_0x1400026bc_Code_x86_64(generic64_t argument_0, struct_379 *argument_1) { struct_235 stack; generic64_t var_0; generic64_t var_1; ((cabifunction_572 *) segment_1.offset_64)((pointer_or_number64_t) &stack.offset_32 + 16, 0, 0); *(generic64_t *) ((pointer_or_number64_t) argument_1->offset_184 - 72) = argument_1->offset_184->offset_0; *(generic64_t *) ((pointer_or_number64_t) argument_1->offset_184 - 64) = argument_1->offset_184->offset_8; *(generic64_t *) ((pointer_or_number64_t) argument_1->offset_184 - 56) = argument_1->offset_184->offset_16; *(generic64_t *) ((pointer_or_number64_t) argument_1->offset_184 - 48) = argument_1->offset_184->offset_24; *(generic64_t *) ((pointer_or_number64_t) argument_1->offset_184 - 40) = argument_1->offset_184->offset_32; *(generic64_t *) ((pointer_or_number64_t) argument_1->offset_184 - 32) = argument_1->offset_184->offset_40; *(generic64_t *) ((pointer_or_number64_t) argument_1->offset_184 - 24) = argument_1->offset_184->offset_48; *(generic8_t *) ((pointer_or_number64_t) argument_1->offset_184 - 69) = '\000'; *(cabifunction_610 **) ((pointer_or_number64_t) argument_1->offset_184 - 16) = function_0x140002650_Code_x86_64; *(generic8_t *) ((pointer_or_number64_t) argument_1->offset_184 - 69) = '\340'; *(generic64_t *) ((pointer_or_number64_t) argument_1->offset_184 - 8) = (pointer_or_number64_t) &stack.offset_32 + 16; var_0 = ((cabifunction_573 *) segment_1.offset_120)(argument_0, (generic64_t) argument_1); var_1 = var_0; if ((var_1 & 0xFFFFFFFF) == 259) { stack.offset_32 = 0; ((cabifunction_574 *) segment_1.offset_80)((pointer_or_number64_t) &stack.offset_32 + 16, 0, 0, 0); var_1 = argument_1->offset_48; } return var_1; } _ABI(Microsoft_x86_64) generic64_t function_0x140002780_Code_x86_64(struct_380 *argument_0) { if (argument_0->offset_64->offset_280) { ((cabifunction_575 *) segment_1.offset_304)(); argument_0->offset_64->offset_280 = 0; } if (argument_0->offset_64->offset_344) { ((rawfunction_48 *) segment_1.offset_104)(argument_0->offset_64->offset_352); argument_0->offset_64->offset_344 = 0; } if (argument_0->offset_64->offset_320) { ((rawfunction_49 *) segment_1.offset_104)(argument_0->offset_64->offset_328); argument_0->offset_64->offset_320 = 0; } return 0; } _ABI(Microsoft_x86_64) generic64_t function_0x140003230_Code_x86_64(struct_381 *argument_0, generic64_t argument_1, generic64_t *argument_2) { generic64_t var_0; generic64_t var_1; var_0 = 0; var_1 = 3221225485; if (!(!argument_0 || argument_1 > 4294967295 || argument_1 < 2)) { generic64_t var_2; var_2 = argument_1 >> 1; if (argument_0->offset_0) { generic64_t var_3; var_3 = 0; while (true) { generic64_t var_4; var_4 = (argument_1 >> 1) + ~var_3; if (argument_1 >> 1 != var_3 + 1) { generic8_t var_5; var_5 = !*(generic16_t *) ((pointer_or_number64_t) &argument_0->offset_2 + var_3 * 2); var_3 = var_3 + 1; if (!(var_5)) { continue; } var_2 = var_4; break; } var_0 = 0; var_1 = 3221225485; if (argument_2) { *argument_2 = var_0; } return var_1; } } var_0 = ((argument_1 >> 1) - var_2) << 1; var_1 = 0; } if (argument_2) { *argument_2 = var_0; } return var_1; } _ABI(raw_x86_64) generic64_t function_0x140003298_Code_x86_64(generic16_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_206 stack_arguments _STACK) { struct_237 stack; generic64_t var_0; generic16_t *var_1; generic64_t var_2; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_56 = 0; if (register_rdx >> 1 < 2147483648 && register_rdx >> 1 > 0) { function_0x140003b40_Code_x86_64(); if ((!(((register_rdx >> 1) - 1) & 0x80000000)) && (!((int64_t) ((number64_t) ((register_rdx >> 1) - 1) << 32) >> 32 > (register_rdx >> 1) - 1))) { generic64_t var_3; generic64_t var_4; var_4 = lshift(((int64_t) ((number64_t) ((register_rdx >> 1) - 1) << 32) >> 32) - ((register_rdx >> 1) - 1), 4294967240); var_3 = lshift((((int64_t) ((number64_t) ((register_rdx >> 1) - 1) << 32) >> 32) ^ ((register_rdx >> 1) - 1)) & (((int64_t) ((number64_t) ((register_rdx >> 1) - 1) << 32) >> 32) ^ (((int64_t) ((number64_t) ((register_rdx >> 1) - 1) << 32) >> 32) - ((register_rdx >> 1) - 1))), 4294967244); var_0 = 0; if ((int64_t) ((number64_t) ((register_rdx >> 1) - 1) << 32) >> 32 != (register_rdx >> 1) - 1) { return var_0; } var_1 = ®ister_rcx[(register_rdx >> 1) - 1]; var_2 = 0; } else { var_1 = ®ister_rcx[(register_rdx >> 1) - 1]; var_2 = 2147483653; } } else { var_0 = 3221225485; var_1 = register_rcx; var_2 = 3221225485; if (register_rdx < 2) { return var_0; } } var_0 = var_2; *var_1 = 0; return var_0; } _ABI(Microsoft_x86_64) void function_0x140003318_Code_x86_64(struct_383 *argument_0, generic64_t argument_1, generic64_t *argument_2) { if (!argument_0 || argument_1 > 2147483647) { if (!argument_2) { return; } } else { generic64_t var_0; generic8_t var_1; var_0 = 0; var_1 = false; if (argument_1) { var_0 = argument_1; var_1 = true; if (argument_0->offset_0) { generic64_t var_2; var_2 = 0; generic8_t var_3; generic64_t var_4; while (true) { var_3 = argument_1 - 1 != var_2; var_4 = 0; if (var_3) { generic8_t var_5; var_4 = argument_1 - 1 - var_2; var_5 = !*(generic16_t *) ((pointer_or_number64_t) &argument_0->offset_2 + var_2 * 2); var_2 = var_2 + 1; if (!(var_5)) { continue; } } break; } var_0 = var_4; var_1 = var_3; } } if (argument_2) { generic64_t var_6; var_6 = var_1 ? argument_1 - var_0 : 0; *argument_2 = var_6; } if (var_1 || !argument_2) { return; } } *argument_2 = 0; } _ABI(raw_x86_64) generic64_t function_0x14000337c_Code_x86_64(generic16_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_204 stack_arguments _STACK) { struct_238 stack; generic64_t var_0; generic16_t *var_1; generic64_t var_2; stack_arguments.offset_16 = register_r8; stack_arguments.offset_24 = register_r9; stack.offset_56 = 0; if (register_rdx < 2147483648 && register_rdx > 0) { function_0x140003b40_Code_x86_64(); if ((!((register_rdx - 1) & 0x80000000)) && (!((int64_t) ((number64_t) (register_rdx - 1) << 32) >> 32 > register_rdx - 1))) { generic64_t var_3; generic64_t var_4; var_4 = lshift(((int64_t) ((number64_t) (register_rdx - 1) << 32) >> 32) - (register_rdx - 1), 4294967240); var_3 = lshift((((int64_t) ((number64_t) (register_rdx - 1) << 32) >> 32) ^ (register_rdx - 1)) & (((int64_t) ((number64_t) (register_rdx - 1) << 32) >> 32) ^ (((int64_t) ((number64_t) (register_rdx - 1) << 32) >> 32) - (register_rdx - 1))), 4294967244); var_0 = 0; if ((int64_t) ((number64_t) (register_rdx - 1) << 32) >> 32 != register_rdx - 1) { return var_0; } var_1 = ®ister_rcx[register_rdx - 1]; var_2 = 0; } else { var_1 = ®ister_rcx[register_rdx - 1]; var_2 = 2147483653; } } else { var_0 = 3221225485; var_1 = register_rcx; var_2 = 3221225485; if (!register_rdx) { return var_0; } } var_0 = var_2; *var_1 = 0; return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x1400033f8_Code_x86_64(generic64_t argument_0, struct_385 *argument_1, generic64_t argument_2) { ((cabifunction_641 *) segment_1.offset_224)(); if (argument_1->offset_48.member_1 == (pointer_or_number32_t) -1073741637) { if (argument_2) { argument_1->offset_184->offset_8->offset_48.member_1 = 3221225473; } } else { argument_1->offset_184->offset_8->offset_48.member_0 = argument_1->offset_48.member_0; argument_1->offset_184->offset_8->offset_56 = argument_1->offset_56; } argument_1->offset_184->offset_8->offset_56 = argument_1->offset_56; ((cabifunction_642 *) segment_1.offset_208)((generic64_t) argument_1); ((cabifunction_643 *) segment_1.offset_200)((generic64_t) argument_1->offset_184->offset_8, 0); return 3221225494; } _ABI(Microsoft_x86_64) generic64_t function_0x140003478_Code_x86_64(generic64_t argument_0) { struct_240 stack; generic64_t var_0; generic32_t var_1; stack.offset_0 = 0; var_0 = 0; var_1 = 0; generic64_t var_2; while (true) { generic32_t var_3; var_3 = var_1; if (*(generic32_t *) &""[16 * var_0] == (number32_t) argument_0) { var_2 = *(generic64_t *) ((pointer_or_number64_t) &segment_1.offset_456 + var_0 * 16); } else { var_1 = var_3 + 1; stack.offset_0 = var_1; var_0 = var_0 + 1; if (!(var_3 > 7)) { continue; } var_2 = 0; } break; } return var_2; } _ABI(Microsoft_x86_64) generic64_t function_0x1400034bc_Code_x86_64(struct_365 *argument_0, struct_366 *argument_1) { generic64_t var_0; generic64_t var_1; var_0 = argument_1->offset_184->offset_1 > '\032' ? (generic64_t) &segment_2.offset_688 : (argument_1->offset_184->offset_1 << 3) + ((pointer_or_number64_t) &segment_2 + 480); var_1 = 3221225473; if (*(generic64_t *) var_0) { generic64_t var_2; var_2 = ((cabifunction_576 *) *(generic64_t *) var_0)(); var_1 = var_2 & 0xFFFFFFFF; } return var_1; } _ABI(Microsoft_x86_64) generic64_t function_0x140003508_Code_x86_64(union_386 *argument_0, struct_387 *argument_1) { generic64_t var_0; switch ((number32_t) argument_0->member_0.offset_64->offset_0) { case 1: { if ((*(generic8_t *) (*(generic64_t *) &argument_1->offset_184 + 1) == '\002') && (!*(generic32_t *) (*(generic64_t *) &argument_1->offset_184 + 16))) { generic64_t var_1; struct_208 var_2; var_1 = function_0x1400035f8_Code_x86_64(argument_0, argument_1, var_2); var_0 = var_1; return var_0; } ((cabifunction_644 *) segment_1.offset_256)((generic64_t) argument_1); argument_1->offset_67 = argument_1->offset_67 + '\001'; *(generic64_t *) &argument_1->offset_184 = *(generic64_t *) &argument_1->offset_184 + 72; ((cabifunction_645 *) segment_1.offset_248)(argument_0->member_0.offset_64->offset_48, (generic64_t) argument_1); var_0 = ((number64_t) argument_0->member_0.offset_64 & 0xFFFFFFFFFFFFFF00) | *(generic8_t *) (*(generic64_t *) &argument_1->offset_184 + 1); } break; case 2: { var_0 = llvm_umin_i8(*(generic8_t *) (*(generic64_t *) &argument_1->offset_184 + 1), '\004'); } break; default: { var_0 = 3221225473; if (argument_1) { argument_1->offset_0.offset_48 = 3221225659; argument_1->offset_0.offset_56 = 0; ((rawfunction_144 *) segment_1.offset_200)(0); var_0 = 3221225659; } } break; } return var_0; } _ABI(Microsoft_x86_64) void function_0x140003544_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, struct_389 *argument_3) { ((cabifunction_647 *) segment_1.offset_88)((generic64_t) argument_3); ((cabifunction_648 *) segment_1.offset_256)((generic64_t) argument_3->offset_8); argument_3->offset_8->offset_67 = argument_3->offset_8->offset_67 + '\001'; argument_3->offset_8->offset_184 = argument_3->offset_8->offset_184 + 72; ((cabifunction_649 *) segment_1.offset_248)(argument_3->offset_0->offset_64->offset_48, (generic64_t) argument_3->offset_8); } _ABI(raw_x86_64) generic64_t function_0x1400035f8_Code_x86_64(union_386 *register_rcx _REG(rcx_x86_64), struct_387 *register_rdx _REG(rdx_x86_64), struct_208 stack_arguments _STACK) { struct_242 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; artificial_struct_returned_by_rawfunction_51 var_7; stack_arguments.offset_8 = register_rdx; stack.offset_48 = 3221225473; stack.offset_56 = 0; var_7 = ((rawfunction_51 *) segment_1.offset_312)(0, 1684170579); var_2 = var_7.register_rax; var_1 = var_7.register_rdx; var_0 = var_7.register_r8; stack.offset_56 = var_2; if (!var_2) { stack.offset_48 = 3221225626; var_4 = var_1; var_5 = 3221225626; var_6 = var_0; } else { generic64_t var_8; generic64_t var_9; artificial_struct_returned_by_rawfunction_52 var_10; *(union_386 **) var_2 = register_rcx; *(struct_387 **) (var_2 + 8) = register_rdx; stack.offset_40 = 0; stack.offset_32 = var_2; var_4 = (var_1 & 0xFFFFFFFFFFFFFF00) | *(generic8_t *) (*(generic64_t *) ®ister_rdx->offset_184 + 1); var_10 = ((rawfunction_52 *) segment_1.offset_240)(*(generic64_t *) ((pointer_or_number64_t) register_rcx->member_0.offset_64 + 40), var_4, *(generic32_t *) ((pointer_or_number64_t) ®ister_rcx->member_0.offset_64[6].offset_48 + (number64_t) *(generic32_t *) (*(generic64_t *) ®ister_rdx->offset_184 + 24) * 4), (generic64_t) function_0x140003544_Code_x86_64); var_9 = var_10.register_rax; var_8 = var_10.register_r8; var_6 = var_8; stack.offset_48 = (number32_t) var_9; var_5 = var_9 & 0xFFFFFFFF; var_3 = var_5; if ((int32_t) (number32_t) var_9 > -1) { return var_3 & 0xFFFFFFFF; } } generic64_t var_11; var_3 = var_5; ((cabifunction_577 *) segment_1.offset_256)((generic64_t) register_rdx, var_4, var_6, (generic64_t) function_0x140003544_Code_x86_64); var_11 = function_0x140003750_Code_x86_64(®ister_rdx->offset_0, var_3, 0, (generic64_t) function_0x140003544_Code_x86_64); if (var_2) { ((rawfunction_54 *) segment_1.offset_296)(var_11, var_2, 1684170579); var_3 = var_5; } return var_3 & 0xFFFFFFFF; } _ABI(Microsoft_x86_64) generic64_t function_0x140003744_Code_x86_64(void) { return 3221225473; } _ABI(Microsoft_x86_64) generic64_t function_0x140003750_Code_x86_64(struct_266 *argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; var_0 = 3221225473; if (argument_0) { argument_0->offset_48 = (number32_t) argument_1; argument_0->offset_56 = argument_2; ((rawfunction_55 *) segment_1.offset_200)(0); var_0 = argument_1 & 0xFFFFFFFF; } return var_0; } _ABI(raw_x86_64) generic64_t function_0x140003784_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_209 stack_arguments _STACK) { struct_224 stack; generic64_t var_0; var_0 = 3221225485; if (!(!register_rcx || !register_rdx || !register_r8)) { generic64_t var_1; ((cabifunction_578 *) segment_1.offset_64)((pointer_or_number64_t) &stack.offset_64 + 16, 0, 0); stack.offset_48 = &stack.offset_64; stack.offset_40 = (pointer_or_number64_t) &stack.offset_64 + 16; stack.offset_32 = 0; var_1 = ((cabifunction_579 *) *(generic64_t *) "")(27, register_rcx, 0); var_0 = 3221225626; if (var_1) { generic64_t var_2; *(generic64_t *) (*(generic64_t *) (var_1 + 184) - 40) = 0; *(generic8_t *) (*(generic64_t *) (var_1 + 184) - 71) = '\010'; *(generic64_t *) (*(generic64_t *) (var_1 + 184) - 64) = register_rdx; *(generic16_t *) (*(generic64_t *) (var_1 + 184) - 56) = (number16_t) register_r9; *(generic16_t *) (*(generic64_t *) (var_1 + 184) - 54) = stack_arguments.offset_32; *(generic64_t *) (*(generic64_t *) (var_1 + 184) - 48) = register_r8; *(generic64_t *) (var_1 + 56) = 0; *(generic32_t *) (var_1 + 48) = 3221225659; var_2 = ((rawfunction_58 *) segment_1.offset_120)(register_rcx, 0); var_0 = var_2 & 0xFFFFFFFF; if (var_0 == 259) { stack.offset_32 = 0; ((cabifunction_580 *) segment_1.offset_80)((pointer_or_number64_t) &stack.offset_64 + 16, 0, 0, 0); var_0 = stack.offset_64; } } } return var_0; } _ABI(Microsoft_x86_64) void function_0x1400038b0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_227 stack; generic64_t var_0; var_0 = argument_0; if (segment_2.offset_768.member_1 == argument_0) { generic64_t var_1; generic64_t var_2; var_2 = lshift(0, 4294967240); var_1 = lshift(0, 4294967244); if (!(llvm_fshl_i64(argument_0, argument_0, 16) & 0xFFFF)) { return; } generic64_t var_3; var_0 = llvm_fshl_i64(llvm_fshl_i64(argument_0, argument_0, 16), llvm_fshl_i64(argument_0, argument_0, 16), 48); var_3 = lshift(llvm_fshl_i64(argument_0, argument_0, 16) & 0xFFFF, 4294967288); stack.offset_32 = 0; ((cabifunction_581 *) segment_1.offset_272)(247, var_0, segment_2.offset_768.member_1, segment_2.offset_776); } else { stack.offset_32 = 0; ((cabifunction_581 *) segment_1.offset_272)(247, var_0, segment_2.offset_768.member_1, segment_2.offset_776); } } _ABI(Microsoft_x86_64) void function_0x140003a50_Code_x86_64(struct_363 *argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { generic64_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; var_0 = 8; var_1 = argument_2; var_2 = argument_0; var_3 = argument_1; if (argument_2 > 7) { generic64_t var_4; generic64_t var_5; var_4 = argument_2; var_5 = argument_0; if (argument_2 > 63) { generic64_t var_6; var_6 = argument_2; if (((0 - (number8_t) argument_0) & 0x7)) { var_6 = argument_2 - ((0 - (number8_t) argument_0) & 0x7); argument_0->offset_0.member_3 = (argument_1 & 0xFF) * 72340172838076673; } var_5 = ((0 - (number8_t) argument_0) & 0x7) + (pointer_or_number64_t) argument_0; var_4 = var_6 & 0x3F; if (!(var_6 < 64)) { if (var_6 > 458751) { generic64_t var_7; generic64_t var_8; var_7 = 0; var_8 = ((0 - (number8_t) argument_0) & 0x7) + (pointer_or_number64_t) argument_0; generic64_t var_9; generic8_t var_10; do { var_9 = var_8; *(generic64_t *) var_9 = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_9 + 8) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_9 + 16) = (argument_1 & 0xFF) * 72340172838076673; var_8 = var_9 + 64; *(generic64_t *) (var_9 + 24) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_9 + 32) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_9 + 40) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_9 + 48) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_9 + 56) = (argument_1 & 0xFF) * 72340172838076673; var_10 = (var_6 >> 6) - 1 == var_7; var_7 = var_7 + 1; } while (!(var_10)); helper_lock(); helper_unlock(); var_4 = var_6 & 0x3F; var_5 = var_9 + 64; } else { generic64_t var_11; generic64_t var_12; var_11 = 0; var_12 = ((0 - (number8_t) argument_0) & 0x7) + (pointer_or_number64_t) argument_0; generic64_t var_13; generic8_t var_14; do { var_13 = var_12; *(generic64_t *) var_13 = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_13 + 8) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_13 + 16) = (argument_1 & 0xFF) * 72340172838076673; var_12 = var_13 + 64; *(generic64_t *) (var_13 + 24) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_13 + 32) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_13 + 40) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_13 + 48) = (argument_1 & 0xFF) * 72340172838076673; *(generic64_t *) (var_13 + 56) = (argument_1 & 0xFF) * 72340172838076673; var_14 = (var_6 >> 6) - 1 == var_11; var_11 = var_11 + 1; } while (!(var_14)); var_4 = var_6 & 0x3F; var_5 = var_13 + 64; } } } var_2 = var_5; var_1 = var_4 & 0x7; var_0 = var_4 >> 2; var_3 = (argument_1 & 0xFF) * 72340172838076673; if (!(var_4 < 8)) { generic64_t var_15; generic64_t var_16; var_15 = 0; var_16 = var_5; do { var_15 = var_15 + 1; ((struct_363 *) var_16)->offset_0.member_3 = (argument_1 & 0xFF) * 72340172838076673; var_16 = &((struct_363 *) var_16)->offset_8; } while (var_4 >> 3 != var_15); var_0 = var_5 + (var_4 & 0x38) < 8; var_1 = var_4 & 0x7; var_2 = var_5 + (var_4 & 0x38); var_3 = (argument_1 & 0xFF) * 72340172838076673; } } if (var_1) { generic64_t var_17; generic64_t var_18; generic32_t var_19; generic64_t var_20; generic64_t var_21; var_17 = 0; var_18 = var_0; var_19 = 3; var_20 = var_1; var_21 = var_2; generic8_t var_22; do { generic64_t var_23; var_23 = var_18; ((struct_363 *) var_21)->offset_0.member_0 = (number8_t) var_3; switch ((number32_t) var_19) { case 1: { var_23 = var_20 < var_18; } break; case 0: case 5: { var_23 = var_18 & 0x1; } break; case 4: { break; } break; case 2: { var_23 = var_20 > ~var_18; } break; default: { var_23 = 0; } break; } var_20 = var_20 - 1; var_22 = var_1 == var_17 + 1; var_21 = &((struct_363 *) var_21)->offset_0.member_1.offset_1; var_17 = var_17 + 1; var_19 = 4; } while (!(var_22)); } } _ABI(Microsoft_x86_64) void function_0x140003b40_Code_x86_64(void) { } _ABI(raw_x86_64) generic64_t function_0x140003c74_Code_x86_64(struct_390 *register_rcx _REG(rcx_x86_64), generic16_t *register_rdx _REG(rdx_x86_64), struct_210 stack_arguments _STACK) { struct_244 stack; generic64_t var_0; struct_201 var_1; function_0x14000a124_Code_x86_64(register_rcx, register_rdx); stack_arguments.offset_8 = 0; stack.offset_32 = stack.offset_32; if (!register_rcx) { generic64_t var_2; var_2 = function_0x14000a008_Code_x86_64((struct_390 *) NULL, register_rdx, var_1); var_0 = var_2; } else { generic64_t var_3; generic64_t var_4; generic64_t var_5; generic64_t var_6; struct_211 var_7; segment_2.offset_4392 = register_rcx; segment_2.offset_4944 = (pointer_or_number64_t) &segment_2.offset_4400 + 16; segment_2.offset_4936 = 34078720; ((cabifunction_583 *) segment_1.offset_288)((generic64_t) &segment_2.offset_4936); function_0x140003ea6_Code_x86_64(); var_3 = function_0x140003e08_Code_x86_64((pointer_or_number64_t) &segment_2.offset_776 + 8, var_7); var_4 = var_3; var_5 = (pointer_or_number64_t) &segment_2.offset_776 + 8; var_6 = &segment_2.offset_4936; if (!(var_4 & 0x80000000)) { generic64_t var_8; var_8 = function_0x140003d14_Code_x86_64((pointer_or_number64_t) &segment_2.offset_776 + 8, (generic64_t) &segment_2.offset_4936, (pointer_or_number64_t) &segment_2.offset_776 + 8, (generic64_t) &segment_2.offset_4384); var_4 = var_8; var_5 = (pointer_or_number64_t) &segment_2.offset_776 + 8; var_6 = &segment_2.offset_4936; if (!(var_4 & 0x80000000)) { generic64_t var_9; var_9 = function_0x14000a008_Code_x86_64(register_rcx, register_rdx, var_1); var_4 = var_9; var_5 = register_rcx; var_6 = register_rdx; if (!(var_4 & 0x80000000)) { if (!segment_2.offset_4384->offset_48) { var_0 = 0; if ((segment_2.offset_4384->offset_8 & 0x2)) { segment_2.offset_4400 = segment_2.offset_2520; segment_2.offset_2520 = function_0x140003ca4_Code_x86_64; var_0 = 0; } } else { generic64_t var_10; var_10 = !register_rcx->offset_104 ? segment_2.offset_4376 : register_rcx->offset_104; segment_2.offset_4376 = var_10; register_rcx->offset_104 = function_0x140003cb0_Code_x86_64; var_0 = 0; } return var_0; } } } function_0x140003ce0_Code_x86_64(var_5, var_6, (pointer_or_number64_t) &segment_2.offset_776 + 8, (generic64_t) &segment_2.offset_4384); var_0 = var_4 & 0xFFFFFFFF; } return var_0; } _ABI(Microsoft_x86_64) void function_0x140003ca4_Code_x86_64(void) { function_0x140003d88_Code_x86_64((pointer_or_number64_t) &segment_2.offset_776 + 8); } _ABI(Microsoft_x86_64) void function_0x140003cb0_Code_x86_64(void) { switch ((number64_t) segment_2.offset_4376) { case 0: case 5368724656: { break; } break; default: { ((cabifunction_651 *) segment_2.offset_4376)(); } break; } function_0x140003d88_Code_x86_64((pointer_or_number64_t) &segment_2.offset_776 + 8); } _ABI(Microsoft_x86_64) void function_0x140003ce0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { function_0x140003d88_Code_x86_64((pointer_or_number64_t) &segment_2.offset_776 + 8); } _ABI(Microsoft_x86_64) generic64_t function_0x140003d14_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_247 stack; *(generic64_t *) &stack = (pointer_or_number64_t) &segment_2.offset_856 + 24; return 0; } _ABI(Microsoft_x86_64) void function_0x140003d88_Code_x86_64(generic64_t argument_0) { if (!(segment_2.offset_856 < (pointer_or_number64_t) &segment_2.offset_776 + 72)) { generic64_t var_0; generic64_t var_1; var_1 = (pointer_or_number64_t) &segment_2.offset_776 + 72; var_0 = 0; generic8_t var_2; do { if (!*(generic64_t *) ((pointer_or_number64_t) &segment_2.offset_912 + var_0 * 80)) { function_0x140003eca_Code_x86_64(); } else { ((cabifunction_586 *) *(generic64_t *) ((pointer_or_number64_t) &segment_2.offset_912 + var_0 * 80))((generic64_t) function_0x140003eca_Code_x86_64, argument_0, (generic64_t) segment_2.offset_4384, var_1); } var_1 = var_1 + 80; var_2 = (pointer_or_number64_t) &segment_2.offset_912 + 16 + var_0 * 80 > segment_2.offset_856; var_0 = var_0 + 1; } while (!(var_2)); } } _ABI(raw_x86_64) generic64_t function_0x140003e08_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_211 stack_arguments _STACK) { stack_arguments.offset_8 = (pointer_or_number64_t) &segment_2.offset_776 + 72; return 0; } _ABI(Microsoft_x86_64) void function_0x140003ea6_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003ebe_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140003eca_Code_x86_64(void) { } _ABI(Microsoft_x86_64) union_324 *function_0x140003f40_Code_x86_64(union_324 *argument_0, struct_267 *argument_1, generic64_t argument_2) { if ((uint64_t) argument_1 < (uint64_t) argument_0) { generic64_t var_0; generic64_t var_1; generic64_t var_2; var_2 = (pointer_or_number64_t) argument_0 + argument_2; var_0 = argument_2; if (argument_2 > 78) { generic64_t var_3; generic64_t var_4; generic64_t var_5; if ((pointer_or_number64_t) argument_1 - (number64_t) argument_0 > (uint64_t) -16) { var_3 = argument_2; var_5 = (pointer_or_number64_t) argument_0 + argument_2; if ((((pointer_or_number64_t) argument_0 + argument_2) & 0xF)) { generic64_t var_6; generic64_t var_7; generic64_t var_8; var_6 = 0; var_7 = argument_2; var_8 = (pointer_or_number64_t) argument_0 + argument_2; generic8_t var_9; generic64_t var_10; do { var_8 = var_8 - 1; var_10 = (var_10 & 0xFFFFFFFFFFFFFF00) | *(generic8_t *) (argument_2 + (pointer_or_number64_t) argument_1 + ~var_6); var_7 = var_7 - 1; *(generic8_t *) ((pointer_or_number64_t) argument_0 + argument_2 - 1 - var_6) = *(generic8_t *) (argument_2 + (pointer_or_number64_t) argument_1 + ~var_6); var_9 = !(((pointer_or_number64_t) argument_0 + argument_2 - 1 - var_6) & 0xF); var_6 = var_6 + 1; } while (!(var_9)); var_3 = var_7; var_4 = var_10; var_5 = var_8; } } else { generic64_t var_11; generic64_t var_12; var_11 = argument_2; var_12 = ((pointer_or_number64_t) argument_0 + argument_2) & 0xF; if ((((pointer_or_number64_t) argument_0 + argument_2) & 0xF)) { var_11 = argument_2 - (((pointer_or_number64_t) argument_0 + argument_2) & 0xF); var_12 = 0 - (((pointer_or_number64_t) argument_0 + argument_2) & 0xF); *(generic64_t *) ((pointer_or_number64_t) argument_0 + argument_2 - 16) = *(generic64_t *) ((pointer_or_number64_t) argument_1 + argument_2 - 16); *(generic64_t *) ((pointer_or_number64_t) argument_0 + argument_2 - 8) = *(generic64_t *) ((pointer_or_number64_t) argument_1 + argument_2 - 8); } var_3 = var_11; var_5 = var_12 + ((pointer_or_number64_t) argument_0 + argument_2); var_4 = (pointer_or_number64_t) argument_0 + argument_2; } generic64_t var_13; generic64_t var_14; generic64_t var_15; generic64_t var_16; generic64_t var_17; generic64_t var_18; generic64_t var_19; generic64_t var_20; generic64_t var_21; generic64_t var_22; generic64_t var_23; generic64_t var_24; var_22 = var_3; var_23 = var_4; var_24 = var_5; if (var_22 < 262176 || (pointer_or_number64_t) argument_1 - (number64_t) argument_0 > (uint64_t) -512) { var_21 = 0; do { var_13 = var_24 + (pointer_or_number64_t) argument_1 - 16 - ((var_21 << 5) + (pointer_or_number64_t) argument_0); var_14 = var_24 + (pointer_or_number64_t) argument_1 - 8 - ((var_21 << 5) + (pointer_or_number64_t) argument_0); var_15 = var_24 + (pointer_or_number64_t) argument_1 - 32 - ((var_21 << 5) + (pointer_or_number64_t) argument_0); var_16 = var_24 + (pointer_or_number64_t) argument_1 - 24 - ((var_21 << 5) + (pointer_or_number64_t) argument_0); var_17 = var_24 - 32 - (var_21 << 5); var_18 = var_24 - 16 - (var_21 << 5); var_19 = var_24 - 8 - (var_21 << 5); var_20 = var_24 - 24 - (var_21 << 5); var_21 = var_21 + 1; *(generic64_t *) var_18 = *(generic64_t *) var_13; *(generic64_t *) var_19 = *(generic64_t *) var_14; *(generic64_t *) var_17 = *(generic64_t *) var_15; *(generic64_t *) var_20 = *(generic64_t *) var_16; } while (var_22 >> 5 != var_21); var_0 = var_22 & 0x1F; var_1 = var_23; var_2 = var_24 - (var_22 & 0xFFFFFFFFFFFFFFE0); } else { generic64_t var_25; generic64_t var_26; var_25 = 0; var_26 = var_3; generic64_t var_27; generic64_t var_28; generic64_t var_29; do { generic32_t var_30; var_27 = var_26; var_28 = var_5 - 512 - ((number64_t) var_25 << 9); var_29 = var_3 - 512 - ((number64_t) var_25 << 9); var_30 = 0; do { var_30 = var_30 + 1; } while (var_30 != 4); generic64_t var_31; generic32_t var_32; var_31 = 0; var_32 = 0; do { *(generic64_t *) (var_5 - 16 - (((number64_t) var_25 << 9) + (var_31 << 6))) = *(generic64_t *) (var_5 + (pointer_or_number64_t) argument_1 - 16 - (number64_t) &argument_0->member_2.member_0.member_3.offset_0[var_31 + 8 * var_25]); *(generic64_t *) (var_5 - 8 - (((number64_t) var_25 << 9) + (var_31 << 6))) = *(generic64_t *) (var_5 + (pointer_or_number64_t) argument_1 - 8 - (number64_t) &argument_0->member_2.member_0.member_3.offset_0[var_31 + 8 * var_25]); *(generic64_t *) (var_5 - 32 - (((number64_t) var_25 << 9) + (var_31 << 6))) = *(generic64_t *) (var_5 + (pointer_or_number64_t) argument_1 - 32 - (number64_t) &argument_0->member_2.member_0.member_3.offset_0[var_31 + 8 * var_25]); *(generic64_t *) (var_5 - 24 - (((number64_t) var_25 << 9) + (var_31 << 6))) = *(generic64_t *) (var_5 + (pointer_or_number64_t) argument_1 - 24 - (number64_t) &argument_0->member_2.member_0.member_3.offset_0[var_31 + 8 * var_25]); *(generic64_t *) (var_5 - 48 - (((number64_t) var_25 << 9) + (var_31 << 6))) = *(generic64_t *) (var_5 + (pointer_or_number64_t) argument_1 - 48 - (number64_t) &argument_0->member_2.member_0.member_3.offset_0[var_31 + 8 * var_25]); *(generic64_t *) (var_5 - 40 - (((number64_t) var_25 << 9) + (var_31 << 6))) = *(generic64_t *) (var_5 + (pointer_or_number64_t) argument_1 - 40 - (number64_t) &argument_0->member_2.member_0.member_3.offset_0[var_31 + 8 * var_25]); *(generic64_t *) (var_5 - 64 - (((number64_t) var_25 << 9) + (var_31 << 6))) = *(generic64_t *) (var_5 + (pointer_or_number64_t) argument_1 - 64 - (number64_t) &argument_0->member_2.member_0.member_3.offset_0[var_31 + 8 * var_25]); *(generic64_t *) (var_5 - 56 - (((number64_t) var_25 << 9) + (var_31 << 6))) = *(generic64_t *) (var_5 + (pointer_or_number64_t) argument_1 - 56 - (number64_t) &argument_0->member_2.member_0.member_3.offset_0[var_31 + 8 * var_25]); var_32 = var_32 + 1; var_31 = var_31 + 1; } while (var_32 != 8); var_26 = var_27 - 512; var_25 = var_25 + 1; } while ((var_27 & 0xFFFFFFFFFFFFFE00) != 512); helper_lock(); helper_unlock(); var_0 = var_29; var_1 = 0; var_2 = var_28; var_22 = var_29; var_23 = 0; var_24 = var_28; if (!(var_29 < 32)) { var_21 = 0; do { var_13 = var_24 + (pointer_or_number64_t) argument_1 - 16 - ((var_21 << 5) + (pointer_or_number64_t) argument_0); var_14 = var_24 + (pointer_or_number64_t) argument_1 - 8 - ((var_21 << 5) + (pointer_or_number64_t) argument_0); var_15 = var_24 + (pointer_or_number64_t) argument_1 - 32 - ((var_21 << 5) + (pointer_or_number64_t) argument_0); var_16 = var_24 + (pointer_or_number64_t) argument_1 - 24 - ((var_21 << 5) + (pointer_or_number64_t) argument_0); var_17 = var_24 - 32 - (var_21 << 5); var_18 = var_24 - 16 - (var_21 << 5); var_19 = var_24 - 8 - (var_21 << 5); var_20 = var_24 - 24 - (var_21 << 5); var_21 = var_21 + 1; *(generic64_t *) var_18 = *(generic64_t *) var_13; *(generic64_t *) var_19 = *(generic64_t *) var_14; *(generic64_t *) var_17 = *(generic64_t *) var_15; *(generic64_t *) var_20 = *(generic64_t *) var_16; } while (var_22 >> 5 != var_21); var_0 = var_22 & 0x1F; var_1 = var_23; var_2 = var_24 - (var_22 & 0xFFFFFFFFFFFFFFE0); } } } generic64_t var_33; generic64_t var_34; generic64_t var_35; var_34 = var_1; var_35 = var_2; var_33 = var_0 >> 2; if (!(var_0 < 8)) { generic64_t var_36; var_36 = 0; generic64_t var_37; generic64_t var_38; do { var_37 = var_2 + (pointer_or_number64_t) argument_1 - 8 - ((var_36 << 3) + (pointer_or_number64_t) argument_0); var_38 = var_2 - 8 - (var_36 << 3); var_36 = var_36 + 1; *(generic64_t *) var_38 = *(generic64_t *) var_37; } while (var_0 >> 3 != var_36); var_33 = var_2 + 8 - (var_0 & 0x78) < 8; var_34 = *(generic64_t *) var_37; var_35 = var_2 - (var_0 & 0x78); } if ((var_0 & 0x7)) { generic64_t var_39; generic64_t var_40; generic32_t var_41; generic64_t var_42; generic64_t var_43; var_39 = 0; var_40 = var_33; var_41 = 3; var_42 = var_0 & 0x7; var_43 = var_34; generic64_t var_44; do { generic64_t var_45; var_45 = var_40; var_44 = (var_43 & 0xFFFFFFFFFFFFFF00) | *(generic8_t *) (var_35 + (pointer_or_number64_t) argument_1 + ~(generic64_t) argument_0 - var_39); switch ((number32_t) var_41) { case 1: { var_45 = var_42 < var_40; } break; case 0: case 5: { var_45 = var_40 & 0x1; } break; case 4: { break; } break; case 2: { var_45 = var_42 > ~var_40; } break; default: { var_45 = 0; } break; } var_42 = var_42 - 1; *(generic8_t *) (var_35 + ~var_39) = *(generic8_t *) (var_35 + (pointer_or_number64_t) argument_1 + ~(generic64_t) argument_0 - var_39); var_39 = var_39 + 1; var_41 = 4; var_43 = var_44; } while (var_42 != 0); } } else { generic64_t var_46; generic64_t var_47; generic64_t var_48; var_46 = argument_2; var_48 = argument_0; if (argument_2 > 78) { generic64_t var_49; generic64_t var_50; generic64_t var_51; if ((pointer_or_number64_t) argument_1 - (number64_t) argument_0 > 15) { generic64_t var_52; var_52 = argument_2; if (((0 - (number8_t) argument_0) & 0xF)) { var_52 = argument_2 - ((0 - (number8_t) argument_0) & 0xF); argument_0->member_2.member_0.member_0.offset_0.member_3 = argument_1->offset_0.member_1; argument_0->member_2.member_0.member_0.offset_8.member_0 = argument_1->offset_8; } var_49 = var_52; var_51 = ((0 - (number8_t) argument_0) & 0xF) + (pointer_or_number64_t) argument_0; } else { var_49 = argument_2; var_51 = argument_0; if (((number64_t) argument_0 & 0xF)) { generic64_t var_53; generic64_t var_54; generic64_t var_55; var_53 = 0; var_54 = argument_2; var_55 = argument_0; generic64_t var_56; generic8_t var_57; generic64_t var_58; do { var_56 = var_55; var_58 = (var_58 & 0xFFFFFFFFFFFFFF00) | *(generic8_t *) (var_53 + (pointer_or_number64_t) argument_1); var_54 = var_54 - 1; ((union_324 *) var_56)->member_2.member_0.member_0.offset_0.member_1.member_0 = *(generic8_t *) (var_53 + (pointer_or_number64_t) argument_1); var_57 = !(((pointer_or_number64_t) &argument_0->member_2.member_0.member_0.offset_0.member_0.offset_1 + var_53 * 1) & 0xF); var_53 = var_53 + 1; var_55 = &((union_324 *) var_56)->member_2.member_0.member_0.offset_0.member_0.offset_1; } while (!(var_57)); var_51 = &((union_324 *) var_56)->member_2.member_0.member_0.offset_0.member_0.offset_1; var_49 = var_54; var_50 = var_58; } } generic64_t var_59; generic64_t var_60; generic64_t var_61; generic64_t var_62; generic64_t var_63; generic64_t var_64; generic64_t var_65; generic64_t var_66; generic64_t var_67; generic64_t var_68; generic64_t var_69; var_67 = var_49; var_68 = var_50; var_69 = var_51; if (var_67 > 262175 && (pointer_or_number64_t) argument_1 - (number64_t) argument_0 > 511) { generic64_t var_70; generic64_t var_71; generic64_t var_72; var_70 = 0; var_71 = var_49; var_72 = var_51; generic64_t var_73; generic64_t var_74; do { generic32_t var_75; var_74 = var_70; var_73 = var_71; var_75 = 0; do { var_75 = var_75 + 1; } while (var_75 != 4); generic64_t var_76; generic32_t var_77; generic64_t var_78; var_76 = 0; var_77 = 0; var_78 = var_72; do { ((union_324 *) var_78)->member_2.member_0.member_0.offset_0.member_3 = *(generic64_t *) (var_51 + (pointer_or_number64_t) argument_1 - (number64_t) argument_0 + ((number64_t) var_74 << 9) + (var_76 << 6)); ((union_324 *) var_51)->member_2.member_1.offset_8.member_4.offset_0[var_76 + 8 * var_74].offset_0 = *(generic64_t *) (var_51 + (pointer_or_number64_t) argument_1 + 8 - (number64_t) argument_0 + ((number64_t) var_74 << 9) + (var_76 << 6)); ((union_324 *) var_51)->member_2.member_2.offset_16.member_0.offset_0[var_76 + 8 * var_74].offset_0 = *(generic64_t *) (var_51 + (pointer_or_number64_t) argument_1 + 16 - (number64_t) argument_0 + ((number64_t) var_74 << 9) + (var_76 << 6)); ((union_324 *) var_51)->member_2.member_3.offset_24.member_1.offset_0[var_76 + 8 * var_74].offset_0 = *(generic64_t *) (var_51 + (pointer_or_number64_t) argument_1 + 24 - (number64_t) argument_0 + ((number64_t) var_74 << 9) + (var_76 << 6)); ((union_324 *) var_51)->member_2.member_4.offset_32.member_2.offset_0[var_76 + 8 * var_74].offset_0 = *(generic64_t *) (var_51 + (pointer_or_number64_t) argument_1 + 32 - (number64_t) argument_0 + ((number64_t) var_74 << 9) + (var_76 << 6)); ((union_324 *) var_51)->member_2.member_5.offset_40.member_6.offset_0[var_76 + 8 * var_74].offset_0 = *(generic64_t *) (var_51 + (pointer_or_number64_t) argument_1 + 40 - (number64_t) argument_0 + ((number64_t) var_74 << 9) + (var_76 << 6)); ((union_324 *) var_51)->member_2.member_6.offset_48.member_7.offset_0[var_76 + 8 * var_74].offset_0 = *(generic64_t *) (var_51 + (pointer_or_number64_t) argument_1 + 48 - (number64_t) argument_0 + ((number64_t) var_74 << 9) + (var_76 << 6)); ((union_324 *) var_51)->member_2.member_7.offset_56.member_8.offset_0[var_76 + 8 * var_74].offset_0 = *(generic64_t *) (var_51 + (pointer_or_number64_t) argument_1 + 56 - (number64_t) argument_0 + ((number64_t) var_74 << 9) + (var_76 << 6)); var_77 = var_77 + 1; var_76 = var_76 + 1; var_78 = &((union_324 *) var_78)->member_1.offset_64; } while (var_77 != 8); var_71 = var_73 - 512; var_70 = var_74 + 1; var_72 = &((union_324 *) var_72)->member_0.offset_512; } while ((var_73 & 0xFFFFFFFFFFFFFE00) != 512); helper_lock(); helper_unlock(); var_69 = &((union_324 *) var_51)->member_0.offset_512.member_3.offset_0[8 * var_74]; var_48 = &((union_324 *) var_51)->member_0.offset_512.member_3.offset_0[8 * var_74]; var_46 = var_49 - 512 - ((number64_t) var_74 << 9); var_47 = 0; var_67 = var_49 - 512 - ((number64_t) var_74 << 9); var_68 = 0; if (!(var_49 - 512 - ((number64_t) var_74 << 9) < 32)) { var_66 = var_69; var_64 = var_66 + (var_67 & 0xFFFFFFFFFFFFFFE0); var_60 = var_66 + (pointer_or_number64_t) argument_1 + 24 - (number64_t) argument_0; var_61 = var_66 + (pointer_or_number64_t) argument_1 + 16 - (number64_t) argument_0; var_62 = var_66 + (pointer_or_number64_t) argument_1 + 8 - (number64_t) argument_0; var_63 = var_66 + (pointer_or_number64_t) argument_1 - (number64_t) argument_0; var_65 = 0; do { var_59 = var_65; var_65 = var_59 + 1; ((union_324 *) var_66)->member_2.member_0.member_0.offset_0.member_3 = *(generic64_t *) (var_63 + (var_59 << 5)); *(generic64_t *) ((pointer_or_number64_t) &((union_324 *) var_69)->member_2.member_1.offset_8 + var_59 * 32) = *(generic64_t *) (var_62 + (var_59 << 5)); *(generic64_t *) ((pointer_or_number64_t) &((union_324 *) var_69)->member_2.member_2.offset_16 + var_59 * 32) = *(generic64_t *) (var_61 + (var_59 << 5)); *(generic64_t *) ((pointer_or_number64_t) &((union_324 *) var_69)->member_2.member_3.offset_24 + var_59 * 32) = *(generic64_t *) (var_60 + (var_59 << 5)); var_66 = &((union_324 *) var_66)->member_2.member_4.offset_32; } while (var_67 >> 5 != var_65); var_46 = var_67 & 0x1F; var_47 = var_68; var_48 = var_64; } } else { var_66 = var_69; var_64 = var_66 + (var_67 & 0xFFFFFFFFFFFFFFE0); var_60 = var_66 + (pointer_or_number64_t) argument_1 + 24 - (number64_t) argument_0; var_61 = var_66 + (pointer_or_number64_t) argument_1 + 16 - (number64_t) argument_0; var_62 = var_66 + (pointer_or_number64_t) argument_1 + 8 - (number64_t) argument_0; var_63 = var_66 + (pointer_or_number64_t) argument_1 - (number64_t) argument_0; var_65 = 0; do { var_59 = var_65; var_65 = var_59 + 1; ((union_324 *) var_66)->member_2.member_0.member_0.offset_0.member_3 = *(generic64_t *) (var_63 + (var_59 << 5)); *(generic64_t *) ((pointer_or_number64_t) &((union_324 *) var_69)->member_2.member_1.offset_8 + var_59 * 32) = *(generic64_t *) (var_62 + (var_59 << 5)); *(generic64_t *) ((pointer_or_number64_t) &((union_324 *) var_69)->member_2.member_2.offset_16 + var_59 * 32) = *(generic64_t *) (var_61 + (var_59 << 5)); *(generic64_t *) ((pointer_or_number64_t) &((union_324 *) var_69)->member_2.member_3.offset_24 + var_59 * 32) = *(generic64_t *) (var_60 + (var_59 << 5)); var_66 = &((union_324 *) var_66)->member_2.member_4.offset_32; } while (var_67 >> 5 != var_65); var_46 = var_67 & 0x1F; var_47 = var_68; var_48 = var_64; } } generic64_t var_79; generic64_t var_80; generic64_t var_81; var_80 = var_47; var_81 = var_48; var_79 = var_46 >> 2; if (!(var_46 < 8)) { generic64_t var_82; generic64_t var_83; var_82 = 0; var_83 = var_48; generic64_t var_84; do { var_84 = var_48 + (pointer_or_number64_t) argument_1 - (number64_t) argument_0 + (var_82 << 3); var_82 = var_82 + 1; ((union_324 *) var_83)->member_2.member_0.member_0.offset_0.member_3 = *(generic64_t *) var_84; var_83 = &((union_324 *) var_83)->member_2.member_1.offset_8; } while (var_46 >> 3 != var_82); var_79 = var_48 + (var_46 & 0x78) < 8; var_80 = *(generic64_t *) var_84; var_81 = var_48 + (var_46 & 0x78); } if ((var_46 & 0x7)) { generic64_t var_85; generic64_t var_86; generic32_t var_87; generic64_t var_88; generic64_t var_89; generic64_t var_90; var_85 = 0; var_86 = var_79; var_87 = 3; var_88 = var_46 & 0x7; var_89 = var_80; var_90 = var_81; generic64_t var_91; do { generic64_t var_92; var_92 = var_86; var_91 = (var_89 & 0xFFFFFFFFFFFFFF00) | *(generic8_t *) (var_81 + (pointer_or_number64_t) argument_1 - (number64_t) argument_0 + var_85); switch ((number32_t) var_87) { case 1: { var_92 = var_88 < var_86; } break; case 0: case 5: { var_92 = var_86 & 0x1; } break; case 4: { break; } break; case 2: { var_92 = var_88 > ~var_86; } break; default: { var_92 = 0; } break; } var_88 = var_88 - 1; ((union_324 *) var_90)->member_2.member_0.member_0.offset_0.member_1.member_0 = *(generic8_t *) (var_81 + (pointer_or_number64_t) argument_1 - (number64_t) argument_0 + var_85); var_85 = var_85 + 1; var_90 = &((union_324 *) var_90)->member_2.member_0.member_0.offset_0.member_0.offset_1; var_87 = 4; var_89 = var_91; } while (var_88 != 0); } } return argument_0; } _ABI(Microsoft_x86_64) void function_0x140004280_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x140004290_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x1400042a0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x1400042b0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void function_0x1400042c0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void function_0x1400042d0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x1400042e0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) void function_0x1400042f0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x140004300_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x140004310_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x140004340_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x1400043c0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x1400043d0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x1400043e0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { } _ABI(Microsoft_x86_64) void function_0x1400043f0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { } _ABI(Microsoft_x86_64) void function_0x140004420_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { } _ABI(Microsoft_x86_64) void function_0x140004440_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { } _ABI(Microsoft_x86_64) _Noreturn void function_0x140004450_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2) { } _ABI(Microsoft_x86_64) void function_0x140009008_Code_x86_64(struct_375 *argument_0, generic64_t argument_1, generic64_t argument_2) { generic64_t var_0; generic32_t var_1; generic64_t var_2; var_0 = 0; var_1 = 0; var_2 = argument_0; while (true) { generic64_t var_3; generic64_t var_4; var_3 = 0; var_4 = 0; generic8_t var_5; generic64_t var_6; do { var_6 = !((var_3 ^ (var_0 >> (var_4 & 0x1F))) & 0x1) ? 0 : 3988292384; var_3 = var_6 ^ ((var_3 >> 1) & 0xFFFFFFFF); var_5 = (int32_t) (number32_t) var_4 < (int32_t) 7 || (int32_t) (number32_t) var_4 > (int32_t) 2147483646; var_4 = (number32_t) var_4 + 1; } while (var_5); ((struct_375 *) var_2)->offset_0[0] = (number32_t) var_3; if (!(var_1 < 255)) { break; } var_1 = var_1 + 1; var_0 = var_0 + 1; var_2 = &((struct_375 *) var_2)->offset_0[1]; } } _ABI(Microsoft_x86_64) generic64_t function_0x140009058_Code_x86_64(generic64_t argument_0, generic64_t argument_1, struct_374 *argument_2, generic64_t argument_3) { generic8_t var_0; generic64_t var_1; generic64_t var_2; var_2 = argument_3 & 0xFFFFFFFF; var_1 = lshift(argument_1 & 0xFFFFFFFF, 4294967272); var_0 = !(number32_t) argument_1 ? '@' : '\000'; if (!(var_0 | ((number8_t) var_1 & 0x80))) { generic32_t var_3; generic64_t var_4; generic64_t var_5; var_4 = (argument_3 & 0xFFFFFFFF) ^ 0xFFFFFFFF; var_3 = 0; var_5 = argument_2; generic8_t var_6; generic64_t var_7; do { var_4 = (((uint64_t) var_4 >> 8) & 0xFFFFFF) ^ *(generic32_t *) (((((struct_374 *) var_5)->offset_0 ^ (number8_t) var_4) << 2) + argument_0); var_7 = lshift((uint64_t) ((number32_t) argument_1 - 1 - var_3), 4294967272); var_6 = (number32_t) argument_1 - 1 == var_3 ? '@' : '\000'; var_3 = var_3 + 1; var_5 = &((struct_374 *) var_5)->offset_1; } while (!(var_6 | ((number8_t) var_7 & 0x80))); var_2 = var_4 ^ 0xFFFFFFFF; } return var_2; } _ABI(raw_x86_64) generic64_t function_0x140009090_Code_x86_64(struct_370 *register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), union_368 *register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_212 stack_arguments _STACK) { struct_232 stack; uint64_t loop_state_var; generic64_t var_0; generic64_t var_1; stack_arguments.offset_24 = register_r9; var_1 = &(&stack)[1]; if ((pointer_or_number64_t) register_rcx != 0 && (pointer_or_number64_t) register_r8 != 0 && register_rdx > 3) { var_1 = &(&stack)[1]; if (register_rcx->offset_0.offset_0 == 'A') { var_1 = &(&stack)[1]; if (register_rcx->offset_0.offset_1 == 'E') { var_1 = register_rcx->offset_2; if (!(var_1 > register_rdx)) { var_1 = register_rcx->offset_2 + 15; if (!(var_1 > register_rdx)) { generic64_t var_2; generic32_t var_3; var_2 = register_rcx->offset_2; var_3 = 0; generic64_t var_4; generic64_t var_5; generic64_t var_6; while (true) { generic64_t var_7; var_7 = (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx)) & 0xFFFFFFFF; if (!(var_7 > register_rdx)) { if (var_3 < (uint32_t) -1 && var_3 > 30) { var_1 = (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx) + 4) & 0xFFFFFFFF; if (!(var_1 > register_rdx)) { generic64_t var_8; generic64_t var_9; generic64_t var_10; generic64_t var_11; artificial_struct_returned_by_rawfunction_70 var_12; var_12 = ((rawfunction_70 *) segment_1.offset_312)(0, 1024, 1684170579); var_11 = var_12.register_rax; var_10 = var_12.register_rdx; var_9 = var_12.register_r8; function_0x140009008_Code_x86_64((struct_375 *) var_11, var_10, var_9); var_8 = function_0x140009058_Code_x86_64(var_11, (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx)) & 0xFFFFFFFF, ®ister_rcx->offset_0, 0); ((cabifunction_591 *) segment_1.offset_296)(var_11, 1684170579); var_1 = (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx) + 4) & 0xFFFFFFFF; if (*(generic32_t *) (((var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx) + 4) & 0xFFFFFFFF) + (pointer_or_number64_t) register_rcx - 4) == (number32_t) var_8) { var_4 = (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx) + 4) & 0xFFFFFFFF; if (!(((var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx) + 5) & 0xFFFFFFFF) < register_rdx)) { break; } var_5 = (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx) + 5) & 0xFFFFFFFF; var_6 = (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx) + 4) & 0xFFFFFFFF; loop_state_var = 0; break; } } break; } var_3 = var_3 + 1; var_7 = (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx) + 15) & 0xFFFFFFFF; var_2 = (var_2 + *(generic8_t *) (var_2 + (pointer_or_number64_t) register_rcx)) & 0xFFFFFFFF; if (!(var_7 > register_rdx)) { continue; } } var_1 = var_7; break; } switch (loop_state_var) { case 0: case 2: { if (!(loop_state_var)) { generic64_t var_13; do { if (*(generic8_t *) (var_6 + (pointer_or_number64_t) register_rcx) == 'G') { var_13 = var_6; if (*(generic8_t *) ((pointer_or_number64_t) ®ister_rcx->offset_0.offset_1 + var_6 * 1) == 'P') { break; } } var_6 = (var_6 + 1) & 0xFFFFFFFF; var_13 = var_6; var_5 = (var_5 + 1) & 0xFFFFFFFF; } while (var_5 < register_rdx); var_4 = var_13; } var_1 = (var_4 + 1) & 0xFFFFFFFF; if (var_1 < register_rdx) { var_1 = *(generic8_t *) ((pointer_or_number64_t) ®ister_rcx->offset_2 + var_4 * 1); if (!(register_rdx - var_4 < var_1)) { var_1 = *(generic8_t *) ((pointer_or_number64_t) ®ister_rcx->offset_2 + var_4 * 1) + 4; if (!(register_rdx - var_4 < var_1)) { generic64_t var_14; generic32_t var_15; var_14 = *(generic8_t *) ((pointer_or_number64_t) ®ister_rcx->offset_2 + var_4 * 1); var_15 = 0; generic64_t var_16; generic64_t var_17; generic64_t var_18; while (true) { generic64_t var_19; var_19 = (number32_t) var_14 + *(generic8_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_14); if (!(register_rdx - var_4 < var_19)) { if (var_15 < (uint32_t) -1 && var_15 > 30) { var_1 = (number32_t) var_14 + *(generic8_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_14); if (!(register_rdx - var_4 < (number32_t) var_14 + *(generic8_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_14) + 4)) { generic64_t var_20; generic64_t var_21; generic64_t var_22; generic64_t var_23; generic64_t var_24; artificial_struct_returned_by_rawfunction_72 var_25; var_25 = ((rawfunction_72 *) segment_1.offset_312)(0, 1024, 1684170579); var_24 = var_25.register_rax; var_23 = var_25.register_rdx; var_22 = var_25.register_r8; function_0x140009008_Code_x86_64((struct_375 *) var_24, var_23, var_22); var_21 = function_0x140009058_Code_x86_64(var_24, (number32_t) var_14 + *(generic8_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_14), (struct_374 *) (var_4 + (pointer_or_number64_t) register_rcx), 0); var_20 = ((cabifunction_592 *) segment_1.offset_296)(var_24, 1684170579); var_1 = var_20; if (*(generic32_t *) (var_4 + (pointer_or_number64_t) register_rcx + ((number32_t) var_14 + *(generic8_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_14) + 4) - 4) == (number32_t) var_21) { register_r8->member_1.offset_0[0].offset_0.offset_0.member_3 = *(generic32_t *) register_rcx; var_17 = register_r8->member_1.offset_0[0].offset_0.offset_0.member_0.offset_2; var_18 = ®ister_r8->member_1.offset_0[0].offset_0.offset_4; var_16 = 0; loop_state_var = 1; break; } } break; } var_15 = var_15 + 1; var_19 = ((number32_t) var_14 + *(generic8_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_14) + 4) & 0xFFFFFFFF; var_14 = (number32_t) var_14 + *(generic8_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_14); if (!(register_rdx - var_4 < var_19)) { continue; } } var_1 = var_19; break; } if (loop_state_var == 1) { do { *(generic64_t *) var_18 = *(generic64_t *) (var_17 + (pointer_or_number64_t) register_rcx); register_r8->member_0.offset_12.offset_0[var_16].offset_0 = *(generic32_t *) ((pointer_or_number64_t) ®ister_rcx[2] + var_17 * 1); register_r8->member_1.offset_0[var_16 + 1].offset_0.offset_0.member_1.offset_1 = *(generic16_t *) ((pointer_or_number64_t) ®ister_rcx[3] + var_17 * 1); register_r8->member_1.offset_0[var_16 + 1].offset_0.offset_0.member_2.offset_3 = *(generic8_t *) ((pointer_or_number64_t) ®ister_rcx[3].offset_2 + var_17 * 1); var_17 = (var_17 + *(generic8_t *) var_18) & 0xFFFFFFFF; var_16 = var_16 + 1; var_18 = var_18 + 15; } while (var_16 != 32); generic64_t var_26; generic64_t var_27; register_r8->member_1.offset_480.offset_4.member_0.offset_0.member_1 = *(generic32_t *) (var_17 + (pointer_or_number64_t) register_rcx); stack_arguments.offset_24->offset_0.member_1 = *(generic32_t *) (var_4 + (pointer_or_number64_t) register_rcx); var_27 = stack_arguments.offset_24->offset_0.member_0.offset_2; var_26 = 0; generic32_t var_28; do { stack_arguments.offset_24->offset_4[var_26] = *(generic32_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_27); var_28 = (*(generic32_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_27) & 0xFF) + (number32_t) var_27; var_27 = var_28; var_26 = var_26 + 1; } while (var_26 != 32); generic64_t var_29; stack_arguments.offset_24->offset_132 = *(generic32_t *) (var_4 + (pointer_or_number64_t) register_rcx + var_28); var_29 = 0; do { if (register_r8->member_1.offset_0[var_29].offset_0.offset_4.member_1.offset_1 == 7) { register_r8->member_1.offset_0[var_29 + 1].offset_0.offset_0.member_3 = register_r8->member_1.offset_0[var_29 + 1].offset_0.offset_0.member_3 ^ 0x30; } var_29 = var_29 + 1; } while (var_29 != 32); var_0 = (var_28 & 0xFFFFFF00) | 0x1; return var_0; } } } } } break; } } } } } } var_0 = var_1 & 0xFFFFFFFFFFFFFF00; return var_0; } _ABI(Microsoft_x86_64) generic64_t function_0x140009310_Code_x86_64(generic64_t argument_0, union_369 *argument_1, generic64_t argument_2) { generic64_t var_0; var_0 = 1024; if ((pointer_or_number64_t) argument_1 != 0 && argument_2 > 1023) { generic64_t var_1; generic64_t var_2; generic64_t var_3; var_2 = argument_0 + 131072; var_1 = 0; var_3 = argument_1; do { ((union_369 *) var_3)->member_1[0] = *(generic8_t *) var_2; var_2 = var_2 + 1; var_1 = var_1 + 1; var_3 = &((union_369 *) var_3)->member_1[1]; } while (var_1 != 1024); var_0 = 1025; } return var_0; } _ABI(raw_x86_64) generic64_t function_0x14000a008_Code_x86_64(struct_390 *register_rcx _REG(rcx_x86_64), generic16_t *register_rdx _REG(rdx_x86_64), struct_201 stack_arguments _STACK) { struct_245 stack; generic64_t var_0; generic32_t var_1; generic64_t var_2; stack.offset_48 = &segment_2.offset_896; stack.offset_32 = 3221225473; stack_arguments.offset_0 = 0; register_rcx->offset_48->offset_8 = function_0x140001ec8_Code_x86_64; register_rcx->offset_104 = function_0x1400010f4_Code_x86_64; register_rcx->offset_224 = function_0x140001008_Code_x86_64; register_rcx->offset_288 = function_0x140003508_Code_x86_64; register_rcx->offset_296 = function_0x140003744_Code_x86_64; register_rcx->offset_328 = function_0x140002438_Code_x86_64; stack_arguments.offset_0 = &segment_2.offset_896; segment_2.offset_896.member_1 = 0; segment_2.offset_904 = 0; stack.offset_36 = 0; var_0 = ((cabifunction_593 *) segment_1.offset_312)(1, *register_rdx + 2, 1684170579); segment_2.offset_904 = var_0; var_1 = 3221225626; var_2 = 3221225626; if (var_0) { segment_2.offset_896.member_0.offset_2 = *register_rdx + 2; ((cabifunction_594 *) segment_1.offset_288)((generic64_t) &segment_2.offset_896, (generic64_t) register_rdx, 1684170579); var_1 = 0; var_2 = 0; } stack.offset_32 = var_1; return var_2; } _ABI(Microsoft_x86_64) void function_0x14000a124_Code_x86_64(struct_390 *argument_0, generic16_t *argument_1) { generic32_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; generic64_t var_4; generic32_t var_5; generic64_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic64_t var_10; generic32_t var_11; generic8_t var_12; generic64_t var_13; var_13 = segment_2.offset_768.member_1; switch ((number64_t) var_13) { case 0: case 47936899621426: { helper_rdtsc_wrapper(NULL, (pointer_or_number64_t) &segment_5 + 322, undef(generic64_t), 47936899621426, 0, segment_2.offset_768.member_1, undef(generic64_t), undef(generic64_t), argument_0, undef(generic64_t), argument_1, undef(generic64_t), 4294967295, 514, 4243635, 0, 0, 544, 0, 0, 4294967295, 0, &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); segment_2.offset_768.member_1 = (var_3 | ((number64_t) var_4 << 32)) ^ (number64_t) &segment_2.offset_768; segment_2.offset_768.member_0.offset_6 = 0; var_13 = segment_2.offset_768.member_1; if (!var_13) { segment_2.offset_768.member_1 = 47936899621426; var_13 = 47936899621426; } } break; } segment_2.offset_776 = ~var_13; } _ABI(Microsoft_x86_64) _Noreturn void function_0x14000a7bd_Code_x86_64(void) { }
Loading...