Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
0x402bbc:Code_x86
decompiled.c
0 lines
|
730.56 KB
_ABI(Microsoft_x86_cdecl) struct_690 function_0x402bbc_Code_x86(void) { struct_408 stack; uint64_t loop_state_var; struct_692 var_0; generic32_t var_1; generic32_t var_2; struct_690 var_3; stack.offset_52 = 0; stack.offset_16.member_2 = *(generic32_t *) NULL; *(generic32_t *) NULL = 0; var_0 = function_0x402ee3_Code_x86(); var_1 = var_0.offset_0; var_2 = var_0.offset_4; if (!var_1) { generic32_t var_4; generic32_t var_5; var_4 = 4; var_5 = var_0.offset_4; if (!(stack.offset_44 < 1 || stack.offset_44 > 4)) { stack.offset_48 = 0; var_4 = 16; var_5 = var_0.offset_4; if (*(generic32_t *) NULL) { *(generic32_t *) NULL = *(generic32_t *) NULL - 1; stack.offset_40 = *(generic32_t *) NULL - 1; stack.offset_59 = *(generic8_t *) *(generic32_t *) NULL; stack.offset_32 = *(generic32_t *) NULL + 1; *(generic32_t *) NULL = *(generic32_t *) NULL + 1; var_4 = 4; var_5 = var_0.offset_4; if (*(generic8_t *) *(generic32_t *) NULL < '@') { generic32_t var_6; generic8_t var_7; generic32_t var_8; generic32_t var_9; var_6 = *(generic32_t *) NULL + 1; var_7 = *(generic8_t *) *(generic32_t *) NULL; var_8 = *(generic32_t *) NULL - 1; var_9 = var_0.offset_4; struct_560 *var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; generic32_t var_14; generic32_t var_15; generic32_t var_16; while (true) { generic32_t var_17; generic32_t var_18; generic32_t var_19; var_18 = var_9; var_17 = 4; if (!((var_7 & 0xF) > '\010')) { var_17 = 16; var_18 = var_9; if (!(var_8 < (var_7 & 0xF))) { generic32_t var_20; generic32_t var_21; var_20 = lshift(var_7 & 0xF, 4294967272); var_21 = 0; if ((var_7 & 0xF)) { generic32_t var_22; stack.offset_28.member_2 = var_7 & 0xF; var_22 = var_6; generic32_t var_23; generic32_t var_24; struct_559 *var_25; generic8_t var_26; struct_795 var_27; do { var_27 = function_0x407230_Code_x86(); var_26 = *(generic8_t *) var_22; var_25 = stack.offset_32; var_22 = (pointer_or_number32_t) var_25 + 1; stack.offset_40 = stack.offset_40 - 1; var_24 = stack.offset_28.member_2; stack.offset_28.member_2 = var_24 - 1; var_23 = stack.offset_40; stack.offset_32 = &var_25->offset_1; *(generic32_t *) NULL = var_23; } while (var_24 != 1); generic32_t var_28; var_28 = lshift(var_27.offset_4, 4294967272); var_17 = 4; var_18 = var_27.offset_4; if (var_27.offset_4) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } var_21 = (number32_t) var_27.offset_0 | var_26; } generic32_t var_29; generic32_t var_30; generic32_t var_31; *(generic32_t *) var_19 = 0; *(generic8_t *) NULL = '\000'; *(generic32_t *) NULL = var_21; *(generic8_t *) NULL = '\001'; var_31 = 0; if ((stack.offset_59 & 0x10)) { struct_692 var_32; var_32 = function_0x402ee3_Code_x86(); var_29 = var_32.offset_0; var_30 = var_32.offset_4; if (var_29) { var_1 = var_29; var_2 = var_30; break; } var_17 = 4; var_18 = var_32.offset_4; if ((uint32_t) stack.offset_36 > 7) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } struct_692 var_33; *(generic8_t *) NULL = (number8_t) stack.offset_36; var_33 = function_0x402ee3_Code_x86(); var_29 = var_33.offset_0; var_30 = var_33.offset_4; if (var_29) { var_1 = var_29; var_2 = var_30; break; } var_17 = 4; var_18 = var_33.offset_4; var_31 = var_33.offset_4; if ((pointer_or_number32_t) stack.offset_36 != 1) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } } var_18 = var_31; stack.offset_52 = stack.offset_52 + *(generic8_t *) NULL; var_17 = 4; if (!(stack.offset_52 > 7)) { generic32_t var_34; var_34 = var_31; if ((stack.offset_59 & 0x20)) { struct_692 var_35; stack.offset_28.member_2 = 0; var_35 = function_0x402ee3_Code_x86(); var_29 = var_35.offset_0; var_30 = var_35.offset_4; if (var_29) { var_1 = var_29; var_2 = var_30; break; } var_17 = 16; var_18 = var_35.offset_4; if (stack.offset_28.member_2 > *(generic32_t *) NULL) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } var_17 = 4; var_18 = var_35.offset_4; if (stack.offset_28.member_2 > 127) { var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } *(generic8_t *) NULL = (number8_t) stack.offset_28.member_2; *(generic32_t *) var_19 = *(generic32_t *) NULL - stack.offset_16.member_2; var_34 = var_35.offset_4; } generic32_t var_36; stack.offset_48 = stack.offset_48 + 1; var_36 = stack.offset_44; if (!(stack.offset_48 < var_36)) { generic32_t var_37; var_10 = stack.offset_12; var_37 = stack.offset_52 - (var_36 - 1); stack.offset_36 = var_36 - 1; var_4 = 16; var_5 = var_34; if (var_37 > 0 - var_36) { loop_state_var = 0; } else { var_4 = 4; var_5 = var_34; if (var_36 > 4 || var_36 < 1) { loop_state_var = 0; } else { var_10->offset_4 = var_36 - 1; stack.offset_40 = stack.offset_52 - (var_36 - 1); var_4 = 4; var_5 = var_34; if (!(stack.offset_40 > 4)) { var_10->offset_8 = stack.offset_40; var_11 = var_36 - 1; var_12 = stack.offset_40; var_13 = var_34; if (!stack.offset_52) { break; } var_14 = &stack.offset_16; if (stack.offset_52 < 4) { break; } var_16 = &stack.offset_16; var_15 = 0; loop_state_var = 2; break; } loop_state_var = 0; } } break; } var_17 = 16; var_18 = var_34; if (*(generic32_t *) NULL) { var_19 = var_19 + 12; var_8 = *(generic32_t *) NULL - 1; *(generic32_t *) NULL = var_8; stack.offset_40 = var_8; var_7 = *(generic8_t *) *(generic32_t *) NULL; var_6 = *(generic32_t *) NULL + 1; stack.offset_59 = var_7; stack.offset_32 = var_6; *(generic32_t *) NULL = var_6; var_17 = 4; var_18 = var_34; if (var_7 < '@') { continue; } } } } } var_4 = var_17; var_5 = var_18; loop_state_var = 0; break; } if (!(loop_state_var)) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; } else { switch (loop_state_var) { case 2: case 4: { if (loop_state_var == 2) { do { var_15 = var_15 + 1; *(generic32_t *) var_16 = 0; var_16 = var_16 + 4; } while (stack.offset_52 >> 2 != var_15); var_14 = (pointer_or_number32_t) &stack.offset_16 + (stack.offset_52 & 0xFFFFFFFC) * 1; } if ((stack.offset_52 & 0x3)) { generic32_t var_38; generic32_t var_39; var_38 = var_14; var_39 = stack.offset_52 & 0x3; do { *(generic8_t *) var_38 = '\000'; var_38 = var_38 + 1; var_39 = var_39 - 1; } while (var_39 != 0); } var_11 = stack.offset_36; var_12 = stack.offset_40; var_13 = stack.offset_52; } break; } generic32_t *var_40; struct_560 *var_41; struct_692 var_42; generic32_t var_43; generic32_t var_44; generic32_t var_45; generic32_t var_46; generic32_t var_47; generic32_t var_48; generic32_t var_49; var_48 = var_12; var_49 = var_13; if (!var_11) { if (var_48 == 1) { var_45 = 0; if (stack.offset_52) { var_47 = 0; while (true) { var_46 = var_47; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_16 + var_46 * 1)) { var_47 = var_47 + 1; var_46 = var_47; if (var_46 < stack.offset_52) { continue; } } break; } var_45 = var_46; } var_4 = 16; var_5 = var_49; if (var_45 == stack.offset_52) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } var_10->offset_16 = var_45; var_44 = var_49; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_48 = 0; var_43 = lshift(var_48, 4294967272); var_44 = var_49; if (!var_48) { var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_36 = &var_10->offset_16; while (true) { var_42 = function_0x402ee3_Code_x86(); if (var_42.offset_0) { var_1 = var_42.offset_0; var_2 = var_42.offset_4; break; } var_41 = stack.offset_12; if ((uint32_t) var_41 < stack.offset_52) { if (!*(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44)) { stack.offset_48 = stack.offset_48 + 1; *(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44) = '\001'; var_40 = stack.offset_36; stack.offset_36 = &var_40[1]; *var_40 = var_41; if (stack.offset_48 - var_48 > ~var_48) { continue; } var_44 = var_42.offset_4; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; break; } } var_4 = 16; var_5 = var_42.offset_4; var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; break; } var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } generic32_t var_50; generic32_t var_51; generic32_t var_52; generic32_t var_53; var_50 = lshift(stack.offset_44, 4294967272); var_51 = var_11; var_52 = var_12; var_53 = var_13; if (stack.offset_44) { generic32_t var_54; var_54 = &stack.offset_28; if (!(stack.offset_44 < 4)) { generic32_t var_55; generic32_t var_56; var_56 = &stack.offset_28; var_55 = 0; do { var_55 = var_55 + 1; *(generic32_t *) var_56 = 0; var_56 = var_56 + 4; } while (stack.offset_44 >> 2 != var_55); var_54 = (pointer_or_number32_t) &stack.offset_28 + (stack.offset_44 & 0xFFFFFFFC) * 1; } if ((stack.offset_44 & 0x3)) { generic32_t var_57; generic32_t var_58; var_57 = var_54; var_58 = stack.offset_44 & 0x3; do { *(generic8_t *) var_57 = '\000'; var_57 = var_57 + 1; var_58 = var_58 - 1; } while (var_58 != 0); } var_51 = stack.offset_36; var_52 = stack.offset_40; var_53 = stack.offset_44; } generic8_t var_59; generic32_t var_60; generic32_t var_61; generic32_t var_62; generic32_t var_63; generic32_t var_64; var_63 = var_52; var_64 = var_53; stack.offset_48 = 0; var_60 = lshift(var_51, 4294967272); if (!var_51) { var_61 = 0; if (stack.offset_44) { var_62 = 0; while (true) { if (!*(generic8_t *) ((pointer_or_number32_t) &stack.offset_28 + var_62 * 1)) { var_10->offset_12 = var_62; var_61 = var_62; } else { var_59 = var_62 + 1 < stack.offset_44; var_62 = var_62 + 1; if (var_59) { continue; } var_61 = var_62; } break; } } var_4 = 16; var_5 = var_64; var_48 = var_63; var_49 = var_64; if (var_61 == stack.offset_44) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } if (var_48 == 1) { var_45 = 0; if (stack.offset_52) { var_47 = 0; while (true) { var_46 = var_47; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_16 + var_46 * 1)) { var_47 = var_47 + 1; var_46 = var_47; if (var_46 < stack.offset_52) { continue; } } break; } var_45 = var_46; } var_4 = 16; var_5 = var_49; if (var_45 == stack.offset_52) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } var_10->offset_16 = var_45; var_44 = var_49; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_48 = 0; var_43 = lshift(var_48, 4294967272); var_44 = var_49; if (!var_48) { var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_36 = &var_10->offset_16; while (true) { var_42 = function_0x402ee3_Code_x86(); if (var_42.offset_0) { var_1 = var_42.offset_0; var_2 = var_42.offset_4; break; } var_41 = stack.offset_12; if ((uint32_t) var_41 < stack.offset_52) { if (!*(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44)) { stack.offset_48 = stack.offset_48 + 1; *(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44) = '\001'; var_40 = stack.offset_36; stack.offset_36 = &var_40[1]; *var_40 = var_41; if (stack.offset_48 - var_48 > ~var_48) { continue; } var_44 = var_42.offset_4; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; break; } } var_4 = 16; var_5 = var_42.offset_4; var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; break; } var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } struct_692 var_65; var_65 = function_0x402ee3_Code_x86(); var_1 = var_65.offset_0; var_2 = var_65.offset_4; if (var_1) { var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } var_4 = 16; var_5 = var_65.offset_4; if (!(var_10->offset_32 < stack.offset_52)) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } generic32_t var_66; generic32_t var_67; generic32_t var_68; var_66 = 0; var_67 = var_10->offset_32; var_68 = var_65.offset_4; while (true) { generic32_t var_69; var_69 = var_68; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_59 + 1 + var_67 * 1 - 44)) { var_5 = var_69; var_4 = 16; loop_state_var = 0; break; } struct_692 var_70; generic32_t var_71; generic32_t var_72; *(generic8_t *) ((pointer_or_number32_t) &stack.offset_59 + 1 + var_67 * 1 - 44) = '\001'; var_70 = function_0x402ee3_Code_x86(); var_71 = var_70.offset_0; var_72 = var_70.offset_4; if (!var_71) { var_69 = var_70.offset_4; if (!(*(generic32_t *) ((pointer_or_number32_t) &var_10->offset_36 + var_66 * 8) < stack.offset_44)) { var_5 = var_69; var_4 = 16; loop_state_var = 0; break; } var_69 = var_70.offset_4; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_59 + 1 + *(generic32_t *) ((pointer_or_number32_t) &var_10->offset_36 + var_66 * 8) * 1 - 32)) { var_5 = var_69; var_4 = 16; loop_state_var = 0; break; } stack.offset_48 = stack.offset_48 + 1; *(generic8_t *) ((pointer_or_number32_t) &stack.offset_59 + 1 + *(generic32_t *) ((pointer_or_number32_t) &var_10->offset_36 + var_66 * 8) * 1 - 32) = '\001'; if (!(stack.offset_48 < (uint32_t) stack.offset_36)) { var_63 = stack.offset_40; var_64 = var_70.offset_4; loop_state_var = 2; break; } struct_692 var_73; var_73 = function_0x402ee3_Code_x86(); var_71 = var_73.offset_0; var_72 = var_73.offset_4; if (!var_71) { var_67 = *(generic32_t *) ((pointer_or_number32_t) &var_10->offset_40 + var_66 * 8); var_66 = var_66 + 1; var_69 = var_73.offset_4; var_68 = var_73.offset_4; if (var_67 < stack.offset_52) { continue; } var_5 = var_69; var_4 = 16; loop_state_var = 0; break; } } var_1 = var_71; var_2 = var_72; break; } if (!(loop_state_var)) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; } else { var_61 = 0; if (stack.offset_44) { var_62 = 0; while (true) { if (!*(generic8_t *) ((pointer_or_number32_t) &stack.offset_28 + var_62 * 1)) { var_10->offset_12 = var_62; var_61 = var_62; } else { var_59 = var_62 + 1 < stack.offset_44; var_62 = var_62 + 1; if (var_59) { continue; } var_61 = var_62; } break; } } var_4 = 16; var_5 = var_64; var_48 = var_63; var_49 = var_64; if (var_61 == stack.offset_44) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } if (var_48 == 1) { var_45 = 0; if (stack.offset_52) { var_47 = 0; while (true) { var_46 = var_47; if (*(generic8_t *) ((pointer_or_number32_t) &stack.offset_16 + var_46 * 1)) { var_47 = var_47 + 1; var_46 = var_47; if (var_46 < stack.offset_52) { continue; } } break; } var_45 = var_46; } var_4 = 16; var_5 = var_49; if (var_45 == stack.offset_52) { var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } var_10->offset_16 = var_45; var_44 = var_49; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_48 = 0; var_43 = lshift(var_48, 4294967272); var_44 = var_49; if (!var_48) { var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } stack.offset_36 = &var_10->offset_16; while (true) { var_42 = function_0x402ee3_Code_x86(); if (var_42.offset_0) { var_1 = var_42.offset_0; var_2 = var_42.offset_4; break; } var_41 = stack.offset_12; if ((uint32_t) var_41 < stack.offset_52) { if (!*(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44)) { stack.offset_48 = stack.offset_48 + 1; *(generic8_t *) ((pointer_or_number32_t) var_41 + ((pointer_or_number32_t) &stack.offset_59 + 1) - 44) = '\001'; var_40 = stack.offset_36; stack.offset_36 = &var_40[1]; *var_40 = var_41; if (stack.offset_48 - var_48 > ~var_48) { continue; } var_44 = var_42.offset_4; var_2 = var_44; var_10->offset_0 = stack.offset_44; var_1 = 0; break; } } var_4 = 16; var_5 = var_42.offset_4; var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; break; } } } var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; } } } var_1 = var_4; var_2 = var_5; *(generic32_t *) ((pointer_or_number32_t) &stack - 4) = var_1; } var_3.offset_0 = var_1; var_3.offset_4 = var_2; return var_3; }
Loading...