Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
main_funci
decompiled.c
0 lines
|
320.48 KB
_ABI(SystemV_x86_64) int32_t main_funci(int8_t *buffer, size_t size) { struct_72 stack; uint64_t loop_state_var; generic32_t var_0; stack.offset_8 = buffer; stack.offset_0 = size; stack.offset_236 = 4294967295; stack.offset_232 = 0; stack.offset_228 = 0; stack.offset_224 = 0; if (stack.offset_0 > (uint64_t) stack.offset_232) { generic64_t var_1; var_1 = stack.offset_232; while (true) { generic32_t var_2; bool var_3 = false; switch ((number8_t) *(generic8_t *) (stack.offset_8 + var_1)) { case 40: { if (stack.offset_224) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } generic32_t var_4; stack.offset_228 = 0; var_4 = stack.offset_236; stack.offset_236 = var_4 + 1; if (var_4 == 9) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } generic32_t var_5; stack.offset_220 = 0; var_5 = 0; generic32_t var_6; do { *(generic8_t *) ((pointer_or_number64_t) &stack.offset_8 + 8 + (number64_t) stack.offset_236 * 20 + var_5) = '\000'; var_6 = stack.offset_220; var_5 = var_6 + 1; stack.offset_220 = var_5; } while (!(var_6 > 18 && var_6 < (uint32_t) -1)); stack.offset_232 = stack.offset_232 + 1; if (stack.offset_0 == (pointer_or_number64_t) stack.offset_232) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } generic16_t var_7; var_7 = 1; switch ((number8_t) *(generic8_t *) (stack.offset_8 + (pointer_or_number64_t) stack.offset_232)) { case 33: case 38: case 42: case 43: case 45: case 63: case 94: case 124: case 126: { break; } break; default: { var_0 = 666; loop_state_var = 1; var_3 = true; break; } break; } if (var_3){ break;} switch ((number8_t) *(generic8_t *) (stack.offset_8 + (pointer_or_number64_t) stack.offset_232)) { case 38: case 42: case 43: case 45: case 94: case 124: { var_7 = 2; } break; case 63: { var_7 = 3; } break; } *(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 222) = var_7; *(generic8_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 224) = *(generic8_t *) (stack.offset_8 + (pointer_or_number64_t) stack.offset_232); *(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 220) = 0; stack.offset_232 = stack.offset_232 + 1; if (stack.offset_0 == (pointer_or_number64_t) stack.offset_232) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } if (*(generic8_t *) (stack.offset_8 + (pointer_or_number64_t) stack.offset_232) != ' ') { var_0 = 666; loop_state_var = 1; var_3 = true; break; } } break; case 45: { var_2 = 2; if (stack.offset_224) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } stack.offset_224 = var_2; } break; default: { if (*(generic8_t *) (stack.offset_8 + var_1) < '0' || *(generic8_t *) (stack.offset_8 + var_1) > '9') { switch ((number8_t) *(generic8_t *) (stack.offset_8 + var_1)) { case 32: { if (stack.offset_236 == (pointer_or_number32_t) -1) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + ((number64_t) stack.offset_236 * 5 + *(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 220)) * 4 - 216) = stack.offset_228; stack.offset_224 = 0; stack.offset_228 = 0; *(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 220) = *(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 220) + 1; if (*(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 220) == *(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 222)) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } } break; case 41: { if (stack.offset_236 == (pointer_or_number32_t) -1) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + ((number64_t) stack.offset_236 * 5 + *(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 220)) * 4 - 216) = stack.offset_228; stack.offset_224 = 0; stack.offset_228 = 0; if (*(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 220) + 1 != *(generic16_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 222)) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } switch ((number8_t) *(generic8_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 224)) { case 33: case 38: case 42: case 43: case 45: case 63: case 94: case 124: case 126: { break; } break; default: { var_0 = 666; loop_state_var = 1; var_3 = true; break; } break; } if (var_3){ break;} generic32_t var_8; switch ((number8_t) *(generic8_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 224)) { case 43: { var_8 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216) + *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 212); } break; case 45: { var_8 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216) - *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 212); } break; case 42: { var_8 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 212) * *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216); } break; case 38: { var_8 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216) & *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 212); } break; case 124: { var_8 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216) | *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 212); } break; case 94: { var_8 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216) ^ *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 212); } break; case 63: { generic64_t var_9; var_9 = !*(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216) ? 18446744073709551408U : 18446744073709551404U; var_8 = *(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 + var_9 * 1); } break; case 126: { var_8 = ~*(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216); } break; case 33: { var_8 = !*(generic32_t *) ((pointer_or_number64_t) &stack.offset_236 + 4 + (number64_t) stack.offset_236 * 20 - 216); } break; } generic32_t var_10; stack.offset_228 = var_8; var_10 = stack.offset_236; stack.offset_236 = var_10 - 1; if (var_10 > (uint32_t) -2147483648) { var_0 = 666; loop_state_var = 1; var_3 = true; break; } } break; } if (var_3){ break;} } else { stack.offset_228 = (pointer_or_number32_t) *(generic8_t *) (stack.offset_8 + var_1) - 48 + stack.offset_228 * 10; var_2 = 1; if (stack.offset_224 == 2) { stack.offset_228 = 0 - stack.offset_228; var_2 = 1; } stack.offset_224 = var_2; } } break; } if (var_3){ break;} stack.offset_232 = stack.offset_232 + 1; var_1 = stack.offset_232; if (stack.offset_0 > var_1) { continue; } break; } if (loop_state_var == 1) { return (int32_t) var_0; } } var_0 = stack.offset_228; return (int32_t) var_0; }
Loading...