Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
0x401ca0:Code_x86_64
decompiled.c
0 lines
|
112.08 KB
_ABI(SystemV_x86_64) generic64_t function_0x401ca0_Code_x86_64(generic64_t argument_0, generic64_t argument_1, generic64_t argument_2, union_237 *argument_3) { struct_226 stack; int8_t *var_0; int32_t *var_1; generic64_t var_2; stack.offset_40 = (number32_t) argument_0; var_1 = __errno_location_2(); *(generic64_t **) &stack.offset_24 = &stack.offset_56; stack.offset_56 = argument_3->member_3; stack.offset_64 = argument_3->member_4.offset_8; stack.offset_72 = argument_3->member_5.offset_16; var_0 = malloc_2(4096); if (!var_0) { generic64_t var_3; var_3 = function_0x401b60_Code_x86_64((generic64_t) "Can't allocate memory for error message", stack.offset_40, argument_1 & 0xFFFFFFFF); var_2 = var_3; } else { int32_t var_4; generic64_t var_5; generic64_t var_6; var_4 = __vsnprintf_chk_2(var_0, 4096, (int32_t) 1, 4096, (const int8_t *) argument_2, (__va_list_tag *) argument_3); var_5 = var_0; var_6 = 4096; if (var_4 > (int32_t) 4095) { int8_t *var_7; stack.offset_44 = (number32_t) ((uint64_t) var_4 + 1); stack.offset_32 = (int64_t) ((number64_t) ((uint64_t) var_4 + 1) << 32) >> 32; var_7 = realloc_2(var_0, (int64_t) ((number64_t) ((uint64_t) var_4 + 1) << 32) >> 32); var_5 = var_0; var_6 = 4096; if (var_7) { int32_t var_8; *(void **) &stack.offset_24 = var_7; var_8 = __vsnprintf_chk_2(var_7, stack.offset_32, (int32_t) 1, (size_t) -1, (const int8_t *) argument_2, (__va_list_tag *) *(generic64_t *) &stack.offset_24); var_5 = *(generic64_t *) &stack.offset_24; var_6 = stack.offset_44; } } generic64_t var_9; generic64_t var_10; var_10 = var_5; *var_1 = *var_1; if (*var_1) { generic64_t var_11; generic64_t var_12; var_11 = (var_6 - (uint64_t) var_4) & 0xFFFFFFFF; var_12 = (uint64_t) var_4; if (var_11) { int32_t var_13; int8_t *var_14; var_14 = strerror_2(*var_1); stack.offset_0 = var_14; var_13 = __snprintf_chk_2((int8_t *) (var_5 + (pointer_or_number64_t) var_4), (int64_t) ((number64_t) (var_6 - (uint64_t) var_4) << 32) >> 32, (int32_t) 1, (size_t) -1, (const int8_t *) "\nSystem error %d: %s"); var_10 = var_5; if ((int64_t) ((number64_t) (var_6 - (uint64_t) var_4) << 32) > (int64_t) ((number64_t) (uint64_t) var_13 << 32)) { var_9 = function_0x401b60_Code_x86_64(var_10, stack.offset_40, argument_1 & 0xFFFFFFFF); var_2 = var_9; free((void *) var_10); return var_2; } var_12 = ((uint64_t) var_4 + 1) & 0xFFFFFFFF; var_11 = 1; } void *var_15; var_15 = realloc_2((void *) var_5, (int64_t) (((number64_t) var_12 << 32) + 4294967296) >> 32); var_10 = var_5; if (var_15) { int32_t var_16; int8_t *var_17; var_17 = strerror_2(*var_1); stack.offset_0 = var_17; var_16 = __snprintf_chk_2((int8_t *) ((pointer_or_number64_t) var_15 + (pointer_or_number64_t) var_4), (int64_t) ((number64_t) var_11 << 32) >> 32, (int32_t) 1, (size_t) -1, (const int8_t *) "\nSystem error %d: %s"); var_10 = var_15; } } var_9 = function_0x401b60_Code_x86_64(var_10, stack.offset_40, argument_1 & 0xFFFFFFFF); var_2 = var_9; free((void *) var_10); } return var_2; }
Loading...