Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
0x180009bc7:Code_x86_64
decompiled.c
0 lines
|
148.43 KB
_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); }
Loading...