Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
0x140001120:Code_x86_64
decompiled.c
0 lines
|
922.97 KB
_ABI(raw_x86_64) void function_0x140001120_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), struct_334 *register_rdx _REG(rdx_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), struct_175 stack_arguments _STACK) { uint64_t loop_state_var; struct_224 *var_0; generic64_t var_1; generic64_t var_2; struct_334 *var_3; struct_173 var_4; stack_arguments.offset_8 = register_rdx; stack_arguments.offset_0 = register_rcx; stack_arguments.offset_16 = ((register_rdx->offset_12.member_1.offset_4 >> 3) & 0x3F) ^ 0x3F; *(generic8_t *) (((register_rdx->offset_12.member_1.offset_4 >> 3) & 0x3F) + (pointer_or_number64_t) register_rdx + 24) = '\200'; if ((register_rdx->offset_12.member_1.offset_4 & 0x1C0) == 448) { struct_230 *var_5; generic64_t var_6; var_5 = function_0x140004280_Code_x86_64(register_rcx, (generic64_t) register_rdx, (register_rdx->offset_12.member_1.offset_4 >> 3) & 0x3F, register_r9); var_6 = 0; if (*(generic64_t *) &var_5->offset_24->offset_32 != var_5->offset_24->offset_40) { generic64_t var_7; var_7 = *(generic64_t *) &var_5->offset_24->offset_32; while (true) { if (*(generic32_t *) (*(generic64_t *) (var_7 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_7 + 32) + 60) + 136)) { if (*(generic32_t *) (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_7 + 32) + 60) + 136) + 24)) { generic64_t var_8; var_8 = 0; generic8_t var_9; do { generic64_t var_10; var_10 = 0; generic64_t var_11; do { var_11 = var_10; var_10 = var_11 + 1; } while (*(generic8_t *) (*(generic64_t *) (var_7 + 32) + *(generic32_t *) ((var_8 << 2) + (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_7 + 32) + 60) + 136) + 32))) + var_11)); if (var_11) { generic32_t var_12; generic64_t var_13; var_12 = 4168446072; var_13 = 0; generic64_t var_14; do { var_14 = *(generic64_t *) (var_7 + 32) + *(generic32_t *) ((var_8 << 2) + (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_7 + 32) + 60) + 136) + 32))) + var_13; var_13 = var_13 + 1; var_12 = (var_12 ^ (number32_t) *(generic8_t *) var_14) * 16777619; } while (var_13 < var_11); if (var_12 == (pointer_or_number32_t) -1266412641) { var_6 = *(generic64_t *) (var_7 + 32) + *(generic32_t *) ((*(generic16_t *) ((var_8 << 1) + (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_7 + 32) + 60) + 136) + 36))) << 2) + (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_7 + 32) + 60) + 136) + 28))); loop_state_var = 1; break; } } var_9 = (number32_t) var_8 + 1 - *(generic32_t *) (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_7 + 32) + 60) + 136) + 24) > ~*(generic32_t *) (*(generic64_t *) (var_7 + 32) + *(generic32_t *) (*(generic64_t *) (var_7 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_7 + 32) + 60) + 136) + 24); var_8 = (number32_t) var_8 + 1; } while (var_9); if (loop_state_var == 1) { break; } } } var_7 = *(generic64_t *) var_7; if (var_7 != var_5->offset_24->offset_40) { continue; } var_6 = 0; break; } } struct_230 *var_15; generic64_t var_16; generic64_t var_17; var_16 = ((rawfunction_73 *) var_6)(((register_rdx->offset_12.member_1.offset_4 >> 3) & 0x3F) + (pointer_or_number64_t) register_rdx + 25, 0, stack_arguments.offset_16); function_0x140001660_Code_x86_64(stack_arguments.offset_8, &stack_arguments.offset_8->offset_24, var_16, var_6, var_4); var_15 = function_0x140004280_Code_x86_64((generic64_t) stack_arguments.offset_8, (generic64_t) &stack_arguments.offset_8->offset_24, var_16, var_6); var_17 = 0; if (*(generic64_t *) &var_15->offset_24->offset_32 != var_15->offset_24->offset_40) { generic64_t var_18; var_18 = *(generic64_t *) &var_15->offset_24->offset_32; while (true) { if (*(generic32_t *) (*(generic64_t *) (var_18 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_18 + 32) + 60) + 136)) { if (*(generic32_t *) (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_18 + 32) + 60) + 136) + 24)) { generic64_t var_19; var_19 = 0; generic8_t var_20; do { generic64_t var_21; var_21 = 0; generic64_t var_22; do { var_22 = var_21; var_21 = var_22 + 1; } while (*(generic8_t *) (*(generic64_t *) (var_18 + 32) + *(generic32_t *) ((var_19 << 2) + (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_18 + 32) + 60) + 136) + 32))) + var_22)); if (var_22) { generic32_t var_23; generic64_t var_24; var_23 = 4168446072; var_24 = 0; generic64_t var_25; do { var_25 = *(generic64_t *) (var_18 + 32) + *(generic32_t *) ((var_19 << 2) + (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_18 + 32) + 60) + 136) + 32))) + var_24; var_24 = var_24 + 1; var_23 = (var_23 ^ (number32_t) *(generic8_t *) var_25) * 16777619; } while (var_24 < var_22); if (var_23 == (pointer_or_number32_t) -1266412641) { var_17 = *(generic64_t *) (var_18 + 32) + *(generic32_t *) ((*(generic16_t *) ((var_19 << 1) + (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_18 + 32) + 60) + 136) + 36))) << 2) + (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_18 + 32) + 60) + 136) + 28))); loop_state_var = 0; break; } } var_20 = (number32_t) var_19 + 1 - *(generic32_t *) (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_18 + 32) + 60) + 136) + 24) > ~*(generic32_t *) (*(generic64_t *) (var_18 + 32) + *(generic32_t *) (*(generic64_t *) (var_18 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_18 + 32) + 60) + 136) + 24); var_19 = (number32_t) var_19 + 1; } while (var_20); if (!(loop_state_var)) { break; } } } var_18 = *(generic64_t *) var_18; if (var_18 != var_15->offset_24->offset_40) { continue; } var_17 = 0; break; } } generic64_t var_26; var_2 = var_17; var_26 = ((rawfunction_74 *) var_2)((generic64_t) &stack_arguments.offset_8->offset_24, 56); var_1 = var_26; var_3 = stack_arguments.offset_8; var_0 = &stack_arguments.offset_8->offset_24; } else { struct_230 *var_27; generic64_t var_28; var_27 = function_0x140004280_Code_x86_64(register_rcx, (generic64_t) register_rdx, (register_rdx->offset_12.member_1.offset_4 >> 3) & 0x3F, register_r9); var_28 = 0; if (*(generic64_t *) &var_27->offset_24->offset_32 != var_27->offset_24->offset_40) { generic64_t var_29; var_29 = *(generic64_t *) &var_27->offset_24->offset_32; while (true) { if (*(generic32_t *) (*(generic64_t *) (var_29 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_29 + 32) + 60) + 136)) { if (*(generic32_t *) (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_29 + 32) + 60) + 136) + 24)) { generic64_t var_30; var_30 = 0; generic8_t var_31; do { generic64_t var_32; var_32 = 0; generic64_t var_33; do { var_33 = var_32; var_32 = var_33 + 1; } while (*(generic8_t *) (*(generic64_t *) (var_29 + 32) + *(generic32_t *) ((var_30 << 2) + (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_29 + 32) + 60) + 136) + 32))) + var_33)); if (var_33) { generic32_t var_34; generic64_t var_35; var_34 = 4168446072; var_35 = 0; generic64_t var_36; do { var_36 = *(generic64_t *) (var_29 + 32) + *(generic32_t *) ((var_30 << 2) + (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_29 + 32) + 60) + 136) + 32))) + var_35; var_35 = var_35 + 1; var_34 = (var_34 ^ (number32_t) *(generic8_t *) var_36) * 16777619; } while (var_35 < var_33); if (var_34 == (pointer_or_number32_t) -1266412641) { var_28 = *(generic64_t *) (var_29 + 32) + *(generic32_t *) ((*(generic16_t *) ((var_30 << 1) + (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_29 + 32) + 60) + 136) + 36))) << 2) + (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_29 + 32) + 60) + 136) + 28))); loop_state_var = 1; break; } } var_31 = (number32_t) var_30 + 1 - *(generic32_t *) (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_29 + 32) + 60) + 136) + 24) > ~*(generic32_t *) (*(generic64_t *) (var_29 + 32) + *(generic32_t *) (*(generic64_t *) (var_29 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_29 + 32) + 60) + 136) + 24); var_30 = (number32_t) var_30 + 1; } while (var_31); if (loop_state_var == 1) { break; } } } var_29 = *(generic64_t *) var_29; if (var_29 != var_27->offset_24->offset_40) { continue; } var_28 = 0; break; } } generic64_t var_37; var_2 = var_28; var_37 = ((rawfunction_75 *) var_2)(((register_rdx->offset_12.member_1.offset_4 >> 3) & 0x3F) + (pointer_or_number64_t) register_rdx + 25, 0, stack_arguments.offset_16 - 8); var_1 = var_37; var_3 = stack_arguments.offset_8; var_0 = &var_3->offset_24; } struct_230 *var_38; generic64_t var_39; *(generic32_t *) ((pointer_or_number64_t) var_3 + 80) = *(generic32_t *) ((pointer_or_number64_t) var_3 + 16); *(generic32_t *) ((pointer_or_number64_t) var_3 + 84) = *(generic32_t *) ((pointer_or_number64_t) var_3 + 20); function_0x140001660_Code_x86_64(var_3, var_0, var_1, var_2, var_4); var_38 = function_0x140004280_Code_x86_64((generic64_t) var_3, (generic64_t) var_0, var_1, var_2); var_39 = NULL; if (*(generic64_t *) &var_38->offset_24->offset_32 != var_38->offset_24->offset_40) { generic64_t var_40; var_40 = *(generic64_t *) &var_38->offset_24->offset_32; while (true) { if (*(generic32_t *) (*(generic64_t *) (var_40 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_40 + 32) + 60) + 136)) { if (*(generic32_t *) (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_40 + 32) + 60) + 136) + 24)) { generic64_t var_41; var_41 = 0; generic8_t var_42; do { generic64_t var_43; var_43 = 0; generic64_t var_44; do { var_44 = var_43; var_43 = var_44 + 1; } while (*(generic8_t *) (*(generic64_t *) (var_40 + 32) + *(generic32_t *) ((var_41 << 2) + (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_40 + 32) + 60) + 136) + 32))) + var_44)); if (var_44) { generic32_t var_45; generic64_t var_46; var_45 = 4168446072; var_46 = 0; generic64_t var_47; do { var_47 = *(generic64_t *) (var_40 + 32) + *(generic32_t *) ((var_41 << 2) + (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_40 + 32) + 60) + 136) + 32))) + var_46; var_46 = var_46 + 1; var_45 = (var_45 ^ (number32_t) *(generic8_t *) var_47) * 16777619; } while (var_46 < var_44); if (var_45 == (pointer_or_number32_t) -298451671) { var_39 = *(generic64_t *) (var_40 + 32) + *(generic32_t *) ((*(generic16_t *) ((var_41 << 1) + (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_40 + 32) + 60) + 136) + 36))) << 2) + (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_40 + 32) + 60) + 136) + 28))); loop_state_var = 0; break; } } var_42 = (number32_t) var_41 + 1 - *(generic32_t *) (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_40 + 32) + 60) + 136) + 24) > ~*(generic32_t *) (*(generic64_t *) (var_40 + 32) + *(generic32_t *) (*(generic64_t *) (var_40 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_40 + 32) + 60) + 136) + 24); var_41 = (number32_t) var_41 + 1; } while (var_42); if (!(loop_state_var)) { break; } } } var_40 = *(generic64_t *) var_40; if (var_40 != var_38->offset_24->offset_40) { continue; } var_39 = NULL; break; } } struct_230 *var_48; generic64_t var_49; generic64_t var_50; generic64_t var_51; generic64_t var_52; artificial_struct_returned_by_rawfunction_76 var_53; var_53 = ((rawfunction_76 *) var_39)(stack_arguments.offset_0, (generic64_t) stack_arguments.offset_8, 16); var_52 = var_53.register_rcx; var_51 = var_53.register_rdx; var_50 = var_53.register_r8; var_49 = var_53.register_r9; var_48 = function_0x140004280_Code_x86_64(var_52, var_51, var_50, var_49); if (*(generic64_t *) &var_48->offset_24->offset_32 != var_48->offset_24->offset_40) { generic64_t var_54; var_54 = *(generic64_t *) &var_48->offset_24->offset_32; while (true) { if (*(generic32_t *) (*(generic64_t *) (var_54 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_54 + 32) + 60) + 136)) { if (*(generic32_t *) (*(generic64_t *) (var_54 + 32) + *(generic32_t *) (*(generic64_t *) (var_54 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_54 + 32) + 60) + 136) + 24)) { generic64_t var_55; var_55 = 0; generic8_t var_56; do { generic64_t var_57; var_57 = 0; generic64_t var_58; do { var_58 = var_57; var_57 = var_58 + 1; } while (*(generic8_t *) (*(generic64_t *) (var_54 + 32) + *(generic32_t *) ((var_55 << 2) + (*(generic64_t *) (var_54 + 32) + *(generic32_t *) (*(generic64_t *) (var_54 + 32) + *(generic32_t *) (*(generic64_t *) (var_54 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_54 + 32) + 60) + 136) + 32))) + var_58)); if (var_58) { generic32_t var_59; generic64_t var_60; var_59 = 4168446072; var_60 = 0; generic64_t var_61; do { var_61 = *(generic64_t *) (var_54 + 32) + *(generic32_t *) ((var_55 << 2) + (*(generic64_t *) (var_54 + 32) + *(generic32_t *) (*(generic64_t *) (var_54 + 32) + *(generic32_t *) (*(generic64_t *) (var_54 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_54 + 32) + 60) + 136) + 32))) + var_60; var_60 = var_60 + 1; var_59 = (var_59 ^ (number32_t) *(generic8_t *) var_61) * 16777619; } while (var_60 < var_58); if (var_59 == (pointer_or_number32_t) -1266412641) { loop_state_var = 0; break; } } var_56 = (number32_t) var_55 + 1 - *(generic32_t *) (*(generic64_t *) (var_54 + 32) + *(generic32_t *) (*(generic64_t *) (var_54 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_54 + 32) + 60) + 136) + 24) > ~*(generic32_t *) (*(generic64_t *) (var_54 + 32) + *(generic32_t *) (*(generic64_t *) (var_54 + 32) + (pointer_or_number64_t) *(generic32_t *) (*(generic64_t *) (var_54 + 32) + 60) + 136) + 24); var_55 = (number32_t) var_55 + 1; } while (var_56); if (!(loop_state_var)) { break; } } } var_54 = *(generic64_t *) var_54; if (var_54 != var_48->offset_24->offset_40) { continue; } break; } } }
Loading...