Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
binary
binary_decompiled.c
0 lines
|
422.34 KB
#include "types-and-globals.h" #include "helpers.h" _ABI(raw_x86_64) generic64_t function_0x140001000_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), struct_66 stack_arguments _STACK) { struct_71 stack; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_0 = register_rcx; segment_2.offset_256 = 0; ((cabifunction_132 *) segment_1.offset_64)((pointer_or_number64_t) &segment_2.offset_80.member_1.offset_32 + 16); ((cabifunction_133 *) segment_1.offset_72)((pointer_or_number64_t) &segment_2.offset_80 + 112, (generic64_t) function_0x140001080_Code_x86_64, 0); stack.offset_32 = 18446744073659551616U; ((cabifunction_134 *) *(generic64_t *) "\"Q")((pointer_or_number64_t) &segment_2.offset_80.member_1.offset_32 + 16, (generic64_t) -50000000, 5000, (pointer_or_number64_t) &segment_2.offset_80 + 112); stack_arguments.offset_0->offset_104 = function_0x1400010e0_Code_x86_64; return 0; } _ABI(raw_x86_64) void function_0x140001080_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_67 stack_arguments _STACK) { struct_72 stack; stack_arguments.offset_24 = register_r9; stack_arguments.offset_16 = register_r8; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_0 = register_rcx; helper_lock(); segment_2.offset_256 = segment_2.offset_256 + 1; helper_unlock(); stack.offset_32 = segment_2.offset_256 + 1; if ((int32_t) segment_2.offset_256 > (int32_t) 99 && (int32_t) segment_2.offset_256 < (int32_t) 2147483647) { ((cabifunction_153 *) segment_1.offset_56)((pointer_or_number64_t) &segment_2.offset_80.member_1.offset_32 + 16); } else { function_0x140001108_Code_x86_64(); } } _ABI(raw_x86_64) void function_0x1400010e0_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), struct_65 stack_arguments _STACK) { generic64_t var_0; stack_arguments.offset_0 = register_rcx; var_0 = ((rawfunction_55 *) segment_1.offset_56)((pointer_or_number64_t) &segment_2.offset_80.member_1.offset_32 + 16); function_0x140001108_Code_x86_64(); } _ABI(Microsoft_x86_64) void function_0x140001108_Code_x86_64(void) { } _ABI(Microsoft_x86_64) generic64_t function_0x140001110_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_74 stack; generic64_t var_0; generic64_t var_1; var_0 = function_0x14000159c_Code_x86_64(); var_1 = var_0; if ((var_1 & 0xFF)) { generic64_t var_2; stack.offset_44 = 0; stack.offset_52 = 0; stack.offset_32 = &segment_1.offset_216[40]; stack.offset_40 = 24; function_0x1400016a6_Code_x86_64(); var_2 = function_0x1400016f0_Code_x86_64((generic64_t) &segment_2, (generic64_t) segment_2.offset_832, argument_2, argument_3); var_1 = var_2; } return var_1; } _ABI(Microsoft_x86_64) void function_0x140001168_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { function_0x1400015b0_Code_x86_64((generic64_t) &segment_2); function_0x1400016ac_Code_x86_64(); } _ABI(raw_x86_64) generic64_t function_0x1400011a0_Code_x86_64(struct_91 *register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), struct_68 stack_arguments _STACK) { struct_77 stack; generic64_t var_0; struct_69 var_1; stack_arguments.offset_0 = register_rdx; stack.offset_32 = register_rcx; function_0x140005000_Code_x86_64(register_rcx, register_rdx); var_0 = function_0x1400011cc_Code_x86_64(register_rcx, register_rdx, undef(generic64_t), var_1); return var_0; } _ABI(raw_x86_64) generic64_t function_0x1400011cc_Code_x86_64(struct_91 *register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), struct_69 stack_arguments _STACK) { struct_78 stack; generic64_t var_0; struct_66 var_1; stack_arguments.offset_8 = 0; stack.offset_48 = &segment_2.offset_808; if (!register_rcx) { generic64_t var_2; var_2 = function_0x140001000_Code_x86_64(0, register_rdx, register_r8, var_1); var_0 = var_2; } else { 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_70 var_9; segment_2.offset_840 = register_rcx; segment_2.offset_808 = 34078720; segment_2.offset_816 = (pointer_or_number64_t) &segment_2.offset_256 + 16; ((cabifunction_136 *) *(generic64_t *) "@Q")((generic64_t) &segment_2.offset_808); function_0x1400016a0_Code_x86_64(); var_8 = segment_2.offset_824->offset_1608; segment_2.offset_792 = var_8; var_3 = function_0x140001420_Code_x86_64((generic64_t) &segment_2, var_9); var_4 = var_3; var_5 = &segment_2; var_7 = &segment_2; var_6 = &segment_2.offset_832; if (!(var_4 & 0x80000000)) { generic64_t var_10; var_10 = function_0x14000135c_Code_x86_64((struct_99 *) &segment_2, segment_2.offset_824->offset_1608, (generic64_t) &segment_2, (generic64_t) &segment_2.offset_832); var_4 = var_10; var_5 = &segment_2; var_7 = &segment_2; var_6 = &segment_2.offset_832; var_8 = segment_2.offset_824->offset_1608; if (!(var_4 & 0x80000000)) { generic64_t var_11; var_11 = function_0x140001000_Code_x86_64((generic64_t) register_rcx, register_rdx, (generic64_t) &segment_2, var_1); if (!(var_11 & 0x80000000)) { if (!segment_2.offset_832->offset_48) { var_0 = 0; if ((segment_2.offset_832->offset_8 & 0x2)) { segment_2.offset_792 = function_0x140001320_Code_x86_64; var_0 = 0; } } else { if (register_rcx->offset_104) { segment_2.offset_848 = register_rcx->offset_104; } register_rcx->offset_104 = function_0x140001330_Code_x86_64; var_0 = 0; } return var_0; } generic64_t var_12; generic64_t var_13; generic64_t var_14; artificial_struct_returned_by_rawfunction_29 var_15; stack.offset_32 = &segment_2.offset_808; var_15 = ((rawfunction_29 *) *(generic64_t *) "XQ")(77, (generic64_t) "DriverEntry failed 0x%x for driver %wZ\n", var_11 & 0xFFFFFFFF); var_14 = var_15.register_r8; var_5 = var_14; var_13 = var_15.register_r9; var_6 = var_13; var_12 = function_0x140001110_Code_x86_64(77, 0, var_5, var_6); var_4 = var_11; var_7 = 77; var_8 = 0; } } function_0x140001168_Code_x86_64(var_7, var_8, var_5, var_6); var_0 = var_4 & 0xFFFFFFFF; } return var_0; } _ABI(Microsoft_x86_64) void function_0x140001320_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { function_0x140001168_Code_x86_64(argument_0, argument_1, argument_2, argument_3); } _ABI(Microsoft_x86_64) void function_0x140001330_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 = argument_1; switch ((number64_t) segment_2.offset_848) { case 0: { break; } break; case 5368714032: { var_0 = function_0x140001330_Code_x86_64; } break; default: { generic64_t var_1; var_1 = function_0x1400016f0_Code_x86_64(argument_0, (generic64_t) function_0x140001330_Code_x86_64, argument_2, argument_3); var_0 = function_0x140001330_Code_x86_64; } break; } function_0x140001168_Code_x86_64(argument_0, var_0, argument_2, argument_3); } _ABI(Microsoft_x86_64) generic64_t function_0x14000135c_Code_x86_64(struct_99 *argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { struct_80 stack; generic64_t var_0; stack.offset_48 = &segment_2.offset_80.member_1.offset_32; var_0 = &segment_2.offset_80.member_1.offset_32; while (true) { generic64_t var_1; if (!(var_0 < (uint64_t) -8 && var_0 > 5368721512)) { var_1 = 8; if (!*(generic64_t *) var_0) { var_0 = var_0 + var_1; continue; } } generic64_t var_2; if (var_0 > (pointer_or_number64_t) &segment_2.offset_80.member_0.offset_8 + 23) { var_2 = 0; } else { if (!(var_0 < (uint64_t) -40 && var_0 > 5368721480)) { if (!(*(generic32_t *) var_0 != 40 || !var_0)) { if (*(generic64_t *) (var_0 + 32)) { generic64_t var_3; var_3 = function_0x1400016f0_Code_x86_64(var_0, argument_1, argument_2, (pointer_or_number64_t) &segment_2.offset_80.member_0.offset_8 + 8); *(generic64_t *) (var_0 + 24) = var_3; } var_1 = *(generic32_t *) var_0; var_0 = var_0 + var_1; continue; } } ((rawfunction_31 *) *(generic64_t *) "XQ")(77, (generic64_t) "FxGetNextObjectContextTypeInfo failed\n"); var_2 = 3221225595; } return var_2; } } _ABI(raw_x86_64) generic64_t function_0x140001420_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_70 stack_arguments _STACK) { struct_79 stack; generic64_t var_0; generic64_t var_1; stack_arguments.offset_8 = &segment_2.offset_80; var_0 = &segment_2.offset_80; var_1 = 0; while (true) { generic64_t var_2; var_2 = var_0; if (!(var_2 < (uint64_t) -8 && var_2 > 5368721480)) { generic64_t var_3; generic64_t var_4; var_3 = 0; var_4 = var_0; generic64_t var_5; while (true) { var_5 = var_4; if (!*(generic64_t *) var_5) { generic8_t var_6; var_5 = var_0 + 8 + (var_3 << 3); var_4 = var_4 + 8; var_6 = var_0 - 5368721473 + (var_3 << 3) < (uint64_t) -5368721489; var_3 = var_3 + 1; if (!(var_6)) { continue; } } break; } var_2 = var_5; } generic64_t var_7; generic64_t var_8; if (var_2 > (pointer_or_number64_t) &segment_2.offset_56 + 23) { var_8 = var_1; var_7 = var_8 & 0xFFFFFFFF; } else { if (!(var_2 < (uint64_t) -80 && var_2 > 5368721408)) { if (!(*(generic32_t *) var_2 != 80 || !var_2)) { generic64_t var_9; *(generic64_t *) &segment_2.offset_80.member_0.offset_8 = var_2; if (!*(generic64_t *) (var_2 + 56)) { function_0x1400016c0_Code_x86_64(); var_9 = 0; var_0 = var_2 + *(generic32_t *) var_2; continue; } generic64_t var_10; var_10 = function_0x1400016f0_Code_x86_64((generic64_t) function_0x1400016c0_Code_x86_64, register_rcx, (generic64_t) segment_2.offset_832, var_2); var_9 = var_10 & 0xFFFFFFFF; if ((int32_t) (number32_t) var_10 > -1) { var_0 = var_2 + *(generic32_t *) var_2; continue; } stack.offset_48 = (number32_t) var_10; stack.offset_40 = *(generic64_t *) (var_2 + 8); stack.offset_32 = var_2; ((rawfunction_33 *) *(generic64_t *) "XQ")(77, (generic64_t) "FxStubBindClasses: ClientBindClass %p, WDF_CLASS_BIND_INFO 0x%p, class %S, returned status 0x%x\n", *(generic64_t *) (var_2 + 56)); var_8 = var_10 & 0xFFFFFFFF; var_7 = var_8 & 0xFFFFFFFF; return var_7; } } ((rawfunction_35 *) *(generic64_t *) "XQ")(77, (generic64_t) "FxGetNextClassBindInfo failed\n"); var_7 = 3221225595; } return var_7; } } _ABI(Microsoft_x86_64) generic64_t function_0x14000159c_Code_x86_64(void) { return (*(generic64_t *) &segment_2.offset_80.member_0.offset_8 != (pointer_or_number64_t) &segment_2.offset_56 + 8) | (number64_t) &segment_2; } _ABI(Microsoft_x86_64) void function_0x1400015b0_Code_x86_64(generic64_t argument_0) { if (*(generic64_t *) &segment_2.offset_80.member_0.offset_8 != (pointer_or_number64_t) &segment_2.offset_56 + 8) { generic64_t var_0; var_0 = &segment_2.offset_80; while (true) { generic64_t var_1; generic64_t var_2; generic64_t var_3; var_3 = var_0; var_1 = var_3 + 8; var_2 = 0; generic64_t var_4; while (true) { var_4 = var_3; if (!(var_1 + (var_2 << 3) > *(generic64_t *) &segment_2.offset_80.member_0.offset_8 + 80)) { var_3 = var_4 + 8; var_2 = var_2 + 1; if (!*(generic64_t *) var_4) { continue; } } break; } generic64_t var_5; generic64_t var_6; var_6 = *(generic64_t *) &segment_2.offset_80.member_0.offset_8 + 80; if (var_4 < *(generic64_t *) &segment_2.offset_80.member_0.offset_8 + 80) { if (!(var_4 + 80 > *(generic64_t *) &segment_2.offset_80.member_0.offset_8 + 80)) { var_6 = var_4; if (*(generic32_t *) var_4 == 80) { if (var_6) { if (!(var_6 < *(generic64_t *) &segment_2.offset_80.member_0.offset_8 + 80)) { break; } if (!*(generic64_t *) (var_6 + 64)) { function_0x1400016d0_Code_x86_64(); } else { var_5 = function_0x1400016f0_Code_x86_64((generic64_t) function_0x1400016d0_Code_x86_64, argument_0, (generic64_t) segment_2.offset_832, var_6); } var_0 = var_6 + *(generic32_t *) var_6; continue; } } } } else { if (var_6) { if (!(var_6 < *(generic64_t *) &segment_2.offset_80.member_0.offset_8 + 80)) { break; } if (!*(generic64_t *) (var_6 + 64)) { function_0x1400016d0_Code_x86_64(); } else { var_5 = function_0x1400016f0_Code_x86_64((generic64_t) function_0x1400016d0_Code_x86_64, argument_0, (generic64_t) segment_2.offset_832, var_6); } var_0 = var_6 + *(generic32_t *) var_6; continue; } } ((rawfunction_36 *) *(generic64_t *) "XQ")(77, (generic64_t) "FxGetNextClassBindInfo failed\n"); break; } } } _ABI(Microsoft_x86_64) void function_0x140001690_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400016a0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400016a6_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400016ac_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400016c0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x1400016d0_Code_x86_64(void) { } _ABI(Microsoft_x86_64) generic64_t function_0x1400016f0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, generic64_t argument_3) { return undef(generic64_t); } _ABI(Microsoft_x86_64) void function_0x140001730_Code_x86_64(void) { } _ABI(Microsoft_x86_64) void function_0x140001740_Code_x86_64(generic64_t argument_0, generic64_t argument_1) { generic32_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; generic32_t var_4; generic64_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; generic64_t var_9; generic32_t var_10; generic8_t var_11; helper_check_iob_wrapper(NULL, (number32_t) argument_1 & 0xFFFF, function_0x140001740_Code_x86_64, undef(generic64_t), undef(generic64_t), undef(generic64_t), undef(generic64_t), undef(generic64_t), argument_0, undef(generic64_t), argument_1, undef(generic64_t), 4294967295, 0, 514, 0, 0, undef(generic32_t), 35584, 0, 0, 0, 4294967295, &var_0, &var_1, &var_2, &var_3, &var_4, &var_5, &var_6, &var_7, &var_8, &var_9, &var_10, &var_11); } _ABI(Microsoft_x86_64) _Noreturn void function_0x140001760_Code_x86_64(generic64_t argument_0, generic64_t argument_1) { } _ABI(Microsoft_x86_64) void function_0x140005000_Code_x86_64(struct_91 *argument_0, generic64_t argument_1) { segment_2.offset_56 = ~segment_2.offset_48; }
Loading...