Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
0x4d5de0:Code_x86
decompiled.c
0 lines
|
778.88 KB
_ABI(Microsoft_x86_cdecl) _Noreturn void function_0x4d5de0_Code_x86(void) { uint64_t loop_state_var; generic32_t var_0; struct_0 *var_1; cabifunction_120 *var_2; *(generic32_t *) (revng_undefined_local_sp() - 20) = revng_undefined_local_sp(); *(struct_0 **) (revng_undefined_local_sp() - 36) = &segment_0; var_1 = &segment_0; var_0 = 0; var_2 = function_0x476000_Code_x86; generic32_t var_3; generic32_t var_4; generic32_t var_5; generic32_t var_6; while (true) { generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t 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; var_7 = var_0; var_10 = var_15; var_11 = var_16; var_13 = var_1; var_8 = *(generic32_t *) var_2; var_14 = (pointer_or_number32_t) var_2 + 4; var_9 = (uint32_t) var_2 < (uint32_t) -4; var_12 = (var_8 << 1) | var_9; while (true) { generic32_t var_17; generic32_t var_18; generic32_t var_19; generic32_t var_20; generic32_t var_21; generic32_t var_22; bool var_23 = false; switch ((number32_t) var_7) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 10: case 11: case 12: case 14: case 15: { generic32_t var_24; switch ((number32_t) var_7) { case 8: { var_24 = var_12 < var_8; } break; case 10: { generic8_t var_25; var_25 = !(var_9 & 0xFF) ? (var_12 & 0xFF) < (var_8 & 0xFF) : (var_12 & 0xFF) <= (var_8 & 0xFF); var_24 = var_25; } break; case 12: { generic8_t var_26; var_26 = !var_9 ? var_12 < var_8 : var_12 <= var_8; var_24 = var_26; } break; case 14: { var_24 = ((var_12 + var_8) & 0xFF) < (var_8 & 0xFF); } break; case 15: { var_24 = ((var_12 + var_8) & 0xFFFF) < (var_8 & 0xFFFF); } break; case 11: { generic8_t var_27; var_27 = !(var_9 & 0xFFFF) ? (var_12 & 0xFFFF) < (var_8 & 0xFFFF) : (var_12 & 0xFFFF) <= (var_8 & 0xFFFF); var_24 = var_27; } break; case 7: { var_24 = (var_12 & 0xFFFF) < (var_8 & 0xFFFF); } break; case 6: { var_24 = (var_12 & 0xFF) < (var_8 & 0xFF); } break; case 2: case 3: case 4: case 5: { var_24 = var_8 != 0; } break; case 1: { var_24 = var_8 & 0x1; } break; } if (var_24) { var_22 = var_14 + 1; var_18 = (var_10 & 0xFFFFFF00) | *(generic8_t *) var_14; ((struct_0 *) var_13)->offset_0.offset_0.member_1 = *(generic8_t *) var_14; var_21 = var_13 + 1; var_17 = var_9; var_19 = var_11; var_20 = var_12; var_12 = var_20 << 1; var_7 = 8; if (var_12) { continue; } loop_state_var = 1; var_23 = true; break; } } break; } if (var_23){ break;} generic32_t var_28; generic32_t var_29; generic32_t var_30; var_28 = 1; var_29 = var_12; var_30 = var_14; generic32_t var_31; generic32_t var_32; generic32_t var_33; generic32_t var_34; while (true) { generic32_t var_35; var_33 = var_29; var_35 = var_30; var_34 = var_33 << 1; if (!var_34) { var_33 = *(generic32_t *) var_30; var_35 = var_30 + 4; var_34 = (var_33 << 1) | (var_30 < (uint32_t) -4); } generic32_t var_36; generic32_t var_37; var_36 = var_35; var_37 = var_34 << 1; if ((int32_t) var_34 < (int32_t) 0) { generic32_t var_38; generic32_t var_39; generic32_t var_40; generic8_t var_41; var_41 = bit_parity((number8_t) (var_34 << 1)); var_40 = !(var_34 << 1) ? 64 : 0; var_39 = lshift(var_34 << 1, 4294967272); var_38 = lshift(var_34 ^ (var_34 << 1), 4294967276); var_31 = var_34 << 1; var_32 = var_35; if (!(var_40 | (var_41 & 0x40))) { break; } generic8_t var_42; var_36 = var_35 + 4; var_32 = var_36; var_37 = (*(generic32_t *) var_35 << 1) | (var_35 < (uint32_t) -4); var_31 = var_37; var_42 = var_35 < (uint32_t) -4 ? var_31 > *(generic32_t *) var_35 : var_31 >= *(generic32_t *) var_35; if (!(var_42)) { break; } } generic32_t var_43; generic32_t var_44; generic32_t var_45; var_45 = var_36; var_43 = var_37; var_44 = var_43 << 1; if (!var_44) { var_43 = *(generic32_t *) var_36; var_45 = var_36 + 4; var_44 = (var_43 << 1) | (var_36 < (uint32_t) -4); } var_28 = ((((var_28 << 1) | (var_34 < var_33)) << 1) - 2) | (var_44 < var_43); } generic32_t var_46; generic32_t var_47; generic32_t var_48; generic32_t var_49; generic32_t var_50; if (((var_28 << 1) | (var_34 < var_33)) < 3) { generic32_t var_51; generic32_t var_52; generic32_t var_53; var_52 = var_31 << 1; var_51 = var_31; var_53 = var_32; if (!var_52) { var_51 = *(generic32_t *) var_32; var_53 = var_32 + 4; var_52 = (var_51 << 1) | (var_32 < (uint32_t) -4); } var_47 = var_52; var_46 = var_53; var_50 = var_47 < var_51; var_48 = var_11; var_49 = ((var_28 << 1) | (var_34 < var_33)) - 3; } else { if ((((number32_t) (((var_28 << 1) | (var_34 < var_33)) - 3) << 8) | *(generic8_t *) var_32) == (pointer_or_number32_t) -1) { var_6 = *(generic32_t *) (revng_undefined_local_sp() - 36); var_3 = ~(((number32_t) (((var_28 << 1) | (var_34 < var_33)) - 3) << 8) | *(generic8_t *) var_32); var_4 = var_31; var_5 = 1555; loop_state_var = 0; break; } var_46 = var_32 + 1; var_49 = (int32_t) ~(((number32_t) (((var_28 << 1) | (var_34 < var_33)) - 3) << 8) | *(generic8_t *) var_32) >> 1; var_48 = var_49; var_50 = ~(((number32_t) (((var_28 << 1) | (var_34 < var_33)) - 3) << 8) | *(generic8_t *) var_32) & 0x1; var_47 = var_31; } generic32_t var_54; generic32_t var_55; generic32_t var_56; generic32_t var_57; generic32_t var_58; generic32_t var_59; generic32_t var_60; generic32_t var_61; generic32_t var_62; var_62 = var_46; var_60 = var_47; var_61 = 0; if (!var_50) { generic32_t var_63; generic32_t var_64; generic32_t var_65; var_64 = var_47 << 1; var_63 = var_47; var_65 = var_46; if (!var_64) { var_63 = *(generic32_t *) var_46; var_65 = var_46 + 4; var_64 = (var_63 << 1) | (var_46 < (uint32_t) -4); } var_60 = var_64; var_62 = var_65; var_61 = 2; if (var_60 < var_63) { var_57 = var_60; var_59 = var_62; var_58 = var_57 << 1; if (!var_58) { var_57 = *(generic32_t *) var_62; var_59 = var_62 + 4; var_58 = (var_57 << 1) | (var_62 < (uint32_t) -4); } var_54 = var_58; var_55 = var_59; var_56 = var_61 | (var_54 < var_57); } else { generic32_t var_66; generic32_t var_67; generic32_t var_68; var_66 = var_64; var_67 = 1; var_68 = var_65; generic32_t var_69; generic32_t var_70; generic32_t var_71; generic32_t var_72; while (true) { generic32_t var_73; var_71 = var_66; var_73 = var_68; var_72 = var_71 << 1; if (!var_72) { var_71 = *(generic32_t *) var_68; var_73 = var_68 + 4; var_72 = (var_71 << 1) | (var_68 < (uint32_t) -4); } generic32_t var_74; generic32_t var_75; var_75 = var_73; var_74 = var_72 << 1; if ((int32_t) var_72 < (int32_t) 0) { generic32_t var_76; generic32_t var_77; generic32_t var_78; generic8_t var_79; var_79 = bit_parity((number8_t) (var_72 << 1)); var_78 = !(var_72 << 1) ? 64 : 0; var_77 = lshift(var_72 << 1, 4294967272); var_76 = lshift(var_72 ^ (var_72 << 1), 4294967276); var_69 = var_72 << 1; var_70 = var_73; if (!(var_78 | (var_79 & 0x40))) { break; } generic8_t var_80; var_75 = var_73 + 4; var_70 = var_75; var_74 = (*(generic32_t *) var_73 << 1) | (var_73 < (uint32_t) -4); var_69 = var_74; var_80 = var_73 < (uint32_t) -4 ? var_69 > *(generic32_t *) var_73 : var_69 >= *(generic32_t *) var_73; if (!(var_80)) { break; } } var_67 = (var_67 << 1) | (var_72 < var_71); } var_54 = var_69; var_55 = var_70; var_56 = ((var_67 << 1) | (var_72 < var_71)) + 2; } } else { var_57 = var_60; var_59 = var_62; var_58 = var_57 << 1; if (!var_58) { var_57 = *(generic32_t *) var_62; var_59 = var_62 + 4; var_58 = (var_57 << 1) | (var_62 < (uint32_t) -4); } var_54 = var_58; var_55 = var_59; var_56 = var_61 | (var_54 < var_57); } if (var_48 > (uint32_t) -4) { generic32_t var_81; generic32_t var_82; generic32_t var_83; generic32_t var_84; generic32_t var_85; generic32_t var_86; generic32_t var_87; generic32_t var_88; var_82 = var_48 + 4; var_81 = 0; var_83 = 16; var_84 = 4294967292; var_85 = var_49; var_86 = var_56 + 2 + (var_48 < (uint32_t) -1280); var_87 = var_13; var_88 = var_48 + var_13; generic8_t var_89; do { generic32_t var_90; var_90 = var_82; switch ((number32_t) var_83) { case 16: { var_90 = var_82 > ~var_84; } break; case 48: { break; } break; case 32: { var_90 = var_84; } break; default: { var_90 = 0; } break; } ((struct_0 *) var_87)->offset_0.offset_0.member_1 = *(generic8_t *) var_88; var_87 = var_87 + 1; var_86 = var_86 - 1; var_82 = var_86; var_89 = var_56 + 1 + (var_48 < (uint32_t) -1280) == var_81; var_81 = var_81 + 1; var_83 = 32; var_85 = (var_85 & 0xFFFFFF00) | *(generic8_t *) var_88; var_88 = var_88 + 1; } while (!(var_89)); var_17 = var_48 < (uint32_t) -1280; var_18 = var_85; var_19 = var_48; var_20 = var_54; var_21 = var_13 + 2 + var_56 + (var_48 < (uint32_t) -1280); var_22 = var_55; } else { generic32_t var_91; generic32_t var_92; generic32_t var_93; var_93 = *(generic32_t *) (var_48 + var_13); ((struct_0 *) var_13)->offset_0.offset_0.member_0 = var_93; var_91 = var_56 + 2 + (var_48 < (uint32_t) -1280); var_92 = var_13; if (var_56 + 2 + (var_48 < (uint32_t) -1280) > 4) { generic32_t var_94; var_94 = 0; generic8_t var_95; do { *(generic32_t *) ((pointer_or_number32_t) &((struct_0 *) var_13)->offset_0.offset_4 + var_94 * 4) = *(generic32_t *) ((pointer_or_number32_t) &((struct_0 *) var_13)->offset_0.offset_4 + var_94 * 4 + var_48 * 1); var_95 = var_56 - 2 + (var_48 < (uint32_t) -1280) - (var_94 << 2) > 4; var_94 = var_94 + 1; } while (var_95); var_92 = (pointer_or_number32_t) &((struct_0 *) var_13)->offset_0.offset_4 + ((var_56 - 3 + (var_48 < (uint32_t) -1280)) & 0xFFFFFFFC) * 1; var_91 = var_56 - 2 + (var_48 < (uint32_t) -1280) - ((var_56 - 3 + (var_48 < (uint32_t) -1280)) & 0xFFFFFFFC); var_93 = *(generic32_t *) ((pointer_or_number32_t) &((struct_0 *) var_13)->offset_0.offset_4 + var_94 * 4); } var_18 = var_93; var_21 = var_92 + var_91; var_17 = var_48 < (uint32_t) -1280; var_19 = var_48; var_20 = var_54; var_22 = var_55; } var_12 = var_20 << 1; var_7 = 8; if (var_12) { continue; } loop_state_var = 1; break; } if (!(loop_state_var)) { break; } var_0 = 8; } generic32_t var_96; generic32_t var_97; generic32_t var_98; generic8_t var_99; generic32_t var_100; generic32_t var_101; generic32_t var_102; while (true) { generic32_t var_103; generic32_t var_104; generic32_t var_105; generic32_t var_106; var_104 = var_4; var_105 = var_5; var_106 = var_6 + 1; var_103 = (var_3 & 0xFFFFFF00) | (*(generic8_t *) var_6 + '\030'); if (*(generic8_t *) var_6 < (uint8_t) -'\026' && *(generic8_t *) var_6 > (uint8_t) -'\031') { var_103 = (var_3 & 0xFFFFFF00) | (*(generic8_t *) var_6 + '\030'); var_104 = var_4; var_105 = var_5; var_106 = var_6 + 1; if (*(generic8_t *) (var_6 + 1) == '\021') { generic32_t var_107; generic32_t var_108; generic32_t var_109; generic32_t var_110; var_107 = 0; var_108 = var_6 + 1; var_109 = var_4; var_110 = var_6 + 1; generic32_t var_111; generic32_t var_112; generic32_t var_113; while (true) { generic32_t var_114; generic32_t var_115; generic8_t var_116; generic32_t var_117; var_113 = var_107; var_117 = llvm_fshl_i32((uint32_t) (*(generic32_t *) var_108 & 0xFFFF) >> 8, *(generic32_t *) var_108, 16); var_116 = bit_parity((number8_t) ((uint32_t) (*(generic32_t *) var_108 & 0xFFFF) >> 8)); var_115 = lshift((uint32_t) (*(generic32_t *) var_108 & 0xFFFF) >> 8, 4294967288); var_114 = lshift(((uint32_t) (*(generic32_t *) var_108 & 0xFFFF) >> 7) ^ ((uint32_t) (*(generic32_t *) var_108 & 0xFFFF) >> 8), 4294967292); *(generic32_t *) var_108 = ((var_117 & 0xFF0000) | (((number32_t) var_117 << 8) & 0xFF00) | (((uint32_t) var_117 >> 8) & 0xFF)) - var_110 + *(generic32_t *) (revng_undefined_local_sp() - 36); if (var_5 - 1 != var_113) { var_111 = ((((var_117 & 0xFF0000) | (((number32_t) var_117 << 8) & 0xFF00) | (((uint32_t) var_117 >> 8) & 0xFF)) - var_110 + *(generic32_t *) (revng_undefined_local_sp() - 36)) & 0xFFFFFF00) | (*(generic8_t *) (var_6 + 5 + var_113 * 5) + '\030'); var_112 = (var_109 & 0xFFFFFF00) | (*(generic8_t *) (var_6 + 5 + var_113 * 5) + '\030'); if (*(generic8_t *) (var_6 + 5 + var_113 * 5) < (uint8_t) -'\026' && *(generic8_t *) (var_6 + 5 + var_113 * 5) > (uint8_t) -'\031') { var_110 = var_110 + 5; var_108 = var_6 + 6 + var_113 * 5; var_107 = var_113 + 1; var_109 = var_112; if (*(generic8_t *) var_108 == '\021') { continue; } loop_state_var = 0; } else { loop_state_var = 0; } break; } generic32_t var_118; var_118 = *(generic32_t *) (revng_undefined_local_sp() - 36) + 843776; var_102 = revng_undefined_local_sp() - 32; if (*(generic32_t *) var_118) { generic32_t var_119; generic32_t var_120; generic32_t var_121; var_119 = *(generic32_t *) var_118; var_120 = revng_undefined_local_sp() - 32; var_121 = *(generic32_t *) (revng_undefined_local_sp() - 36) + 843776; while (true) { generic32_t var_122; generic32_t var_123; generic32_t var_124; var_123 = var_120 - 4; *(generic32_t *) var_123 = *(generic32_t *) (revng_undefined_local_sp() - 36) + var_119 + 876748; var_122 = ((cabifunction_115 *) *(generic32_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) + 876896))(); var_124 = var_121 + 9; if (*(generic8_t *) (var_121 + 8)) { generic32_t var_125; generic32_t var_126; generic8_t var_127; generic32_t var_128; var_128 = *(generic32_t *) (var_121 + 4) + *(generic32_t *) (revng_undefined_local_sp() - 36); var_125 = 0; var_126 = var_121 + 9; var_127 = *(generic8_t *) (var_121 + 8); generic32_t var_129; generic32_t var_130; while (true) { generic32_t var_131; generic32_t var_132; generic32_t var_133; generic32_t var_134; var_134 = var_126; var_133 = var_134; var_129 = var_120 - 12 - (var_125 << 3); *(generic32_t *) (var_120 - 8 - (var_125 << 3)) = var_133; var_131 = var_133 + 1; var_132 = 0; while (true) { generic32_t var_135; var_135 = var_132; var_130 = var_134; if (var_133) { generic8_t var_136; var_132 = var_135 + 1; var_130 = var_131 + var_135; var_136 = *(generic8_t *) var_134 + '\001'; var_134 = var_134 + 1; var_133 = var_133 - 1; if (!(var_127 == var_136 || var_126 == var_132)) { continue; } } break; } generic32_t var_137; *(generic32_t *) var_129 = var_122; var_137 = ((cabifunction_116 *) *(generic32_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) + 876904))(); if (var_137) { *(generic32_t *) var_128 = var_137; var_128 = var_128 + 4; var_127 = *(generic8_t *) var_130; var_126 = var_130 + 1; var_125 = var_125 + 1; if (var_127) { continue; } break; } ((cabifunction_117 *) *(generic32_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) + 876900))(); var_118 = var_130; var_102 = var_129; loop_state_var = 1; break; } if (loop_state_var == 1) { break; } var_123 = var_129; var_124 = var_130 + 1; } var_119 = *(generic32_t *) var_124; if (var_119) { continue; } var_118 = var_124; var_102 = var_123; break; } } var_96 = *(generic8_t *) (var_118 + 4); if (!*(generic8_t *) (var_118 + 4)) { loop_state_var = 1; break; } var_97 = var_118 + 5; var_101 = *(generic32_t *) (revng_undefined_local_sp() - 36) - 4; var_98 = *(generic8_t *) (var_118 + 4); var_99 = *(generic8_t *) (var_118 + 4); var_100 = var_118 + 4; loop_state_var = 2; break; } bool var_138 = false; switch (loop_state_var) { case 0: { var_105 = var_5 - 1 - var_113; var_103 = var_111; var_104 = var_112; var_106 = var_6 + 6 + var_113 * 5; continue; } break; case 1: { var_138 = true; break; } break; case 2: { loop_state_var = 1; var_138 = true; break; } break; } if (var_138){ break;} } } } if (loop_state_var == 1) { generic32_t var_139; generic32_t var_140; generic32_t var_141; generic8_t var_142; generic32_t var_143; generic32_t var_144; do { var_144 = var_97; var_143 = var_98; var_139 = var_101; if (var_99 > (uint8_t) -'\021') { var_143 = (((number32_t) var_98 << 16) & 0xF0000) | *(generic16_t *) var_97; var_144 = var_100 + 3; } var_101 = var_139 + var_143; var_142 = bit_parity((number8_t) var_101); var_141 = lshift(var_101, 4294967272); var_140 = lshift((var_143 ^ var_101) & ~(var_143 ^ var_139), 4294967276); *(generic32_t *) var_101 = llvm_bswap_i32(*(generic32_t *) var_101) + *(generic32_t *) (revng_undefined_local_sp() - 36); var_99 = *(generic8_t *) var_144; var_98 = var_99; var_97 = var_144 + 1; } while (var_99); var_96 = var_99; } generic32_t var_145; generic32_t var_146; *(generic32_t *) (var_102 - 4) = var_96; *(generic32_t *) (var_102 - 8) = var_102 - 4; *(generic32_t *) (var_102 - 12) = 4; *(generic32_t *) (var_102 - 16) = 4096; *(generic32_t *) (var_102 - 20) = *(generic32_t *) (revng_undefined_local_sp() - 36) - 4096; ((cabifunction_118 *) *(generic32_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) + 876908))(); *(generic8_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) - 3545) = *(generic8_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) - 3545) & 0x7F; *(generic8_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) - 3505) = *(generic8_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) - 3505) & 0x7F; *(generic32_t *) (var_102 - 24) = var_102 - 20; *(generic32_t *) (var_102 - 28) = *(generic32_t *) (var_102 - 20); *(generic32_t *) (var_102 - 32) = 4096; *(generic32_t *) (var_102 - 36) = *(generic32_t *) (revng_undefined_local_sp() - 36) - 4096; ((cabifunction_119 *) *(generic32_t *) (*(generic32_t *) (revng_undefined_local_sp() - 36) + 876908))(); var_145 = 0; var_146 = var_102; while (true) { var_146 = var_146 - 4; *(generic32_t *) (var_102 - 4 - (var_145 << 2)) = 0; var_145 = var_145 + 1; } }
Loading...