Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
handleConnection
decompiled.c
0 lines
|
89.74 KB
_ABI(SystemV_x86_64) generic64_t handleConnection(generic64_t argument_0) { struct_154 stack; int32_t var_0; stack.offset_12 = (number32_t) argument_0; stack.offset_1096 = *(generic64_t *) 40; stack.offset_28 = 16; var_0 = accept_2((int32_t) stack.offset_12, (pointer_or_number64_t) &stack.offset_40 + 8, (socklen_t *) &stack.offset_28); stack.offset_32 = var_0; if (!(var_0 > -1)) { int32_t var_1; var_1 = puts_2((const int8_t *) "Error acepting"); exit_2(-1); } ssize_t var_2; ssize_t var_3; pointer_or_number64_t var_4; pointer_or_number64_t var_5; int32_t var_6; artificial_struct_returned_by_rawfunction_31 var_7; var_6 = puts_2((const int8_t *) "Got connection!"); stack.offset_40 = "Welcome! Please enter the secret text:\n"; var_7 = strlen_2((pointer_or_number64_t) &stack.offset_40 + 8, (pointer_or_number64_t) &stack.offset_28, (pointer_or_number64_t) &stack.offset_40 + 8, (pointer_or_number64_t) "Welcome! Please enter the secret text:\n", undef(generic64_t), undef(generic64_t)); var_5 = var_7.register_rax; var_4 = var_7.register_rdx; var_3 = send_2((int32_t) stack.offset_32, stack.offset_40, var_5, (int32_t) 0); var_2 = recv_2((int32_t) stack.offset_32, (void *) ((pointer_or_number64_t) &stack.offset_40 + 24), 1024, (int32_t) 0); stack.offset_36 = (number32_t) var_2; if ((int32_t) (number32_t) var_2 > (int32_t) 0) { ssize_t var_8; var_8 = var_2; while (true) { struct_195 var_9; *(generic8_t *) ((pointer_or_number64_t) &stack.offset_1096 + 8 + ((int64_t) (((number64_t) var_8 << 32) - 4294967296) >> 32) * 1 - 1040) = '\000'; var_9 = checkAuth((pointer_or_number64_t) &stack.offset_40 + 24); if (!(var_9.offset_0 & 0xFFFFFFFF)) { ssize_t var_10; ssize_t var_11; pointer_or_number64_t var_12; pointer_or_number64_t var_13; artificial_struct_returned_by_rawfunction_31 var_14; stack.offset_40 = "The secret was wrong, please try again:\n"; var_14 = strlen_2(0, var_9.offset_8, (pointer_or_number64_t) &stack.offset_40 + 24, (pointer_or_number64_t) "The secret was wrong, please try again:\n", undef(generic64_t), undef(generic64_t)); var_13 = var_14.register_rax; var_12 = var_14.register_rdx; var_11 = send_2((int32_t) stack.offset_32, stack.offset_40, var_13, (int32_t) 0); var_10 = recv_2((int32_t) stack.offset_32, (void *) ((pointer_or_number64_t) &stack.offset_40 + 24), 1024, (int32_t) 0); var_8 = var_10; stack.offset_36 = (number32_t) var_8; if ((int32_t) (number32_t) var_8 > (int32_t) 0) { continue; } int32_t var_15; int32_t var_16; var_16 = puts_2((const int8_t *) "Connection close!"); var_15 = close_2((int32_t) stack.offset_32); } else { int32_t var_17; int32_t var_18; egg(stack.offset_32, (pointer_or_number64_t) &stack.offset_40 + 24, var_9.offset_8); var_18 = puts_2((const int8_t *) "Connection close!"); var_17 = close_2((int32_t) stack.offset_32); } break; } } else { int32_t var_19; int32_t var_20; var_20 = puts_2((const int8_t *) "Connection close!"); var_19 = close_2((int32_t) stack.offset_32); } if (stack.offset_1096 != *(generic64_t *) 40) { __stack_chk_fail_2(); } return 0; }
Loading...