Function at 0x462c00
Capabilities:
Get socket status

Disassembly:
sub esp, 0x114
mov eax, dword [esp + 0x12c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x140]
push edi
mov edi, dword [esp + 0x128]
mov byte [eax], 0
mov eax, dword [esp + 0x140]
mov byte [esi], 0
test edi, edi
mov dword [esp + 0x14], ecx
mov byte [eax], 0
je 0x462c41
cmp edi, 0x32
jae 0x462c41
mov edi, 0x32
mov ebp, dword [esp + 0x130]
test ebp, ebp
jne 0x462c51
mov ebp, 0x80befc00
mov edx, dword [esp + 0x138]
test edx, edx
je 0x462e5d
test edi, edi
je 0x462e5d
cmp dword [ecx + 0x54], 0xffffffff
jne 0x462c91
mov ecx, dword [esp + 0x134]
push str.invalid_socket__not_ready_for_writing.
mov edx, dword [ecx]
call dword [edx + 0x10]
mov byte [esi], 1
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x114
ret 0x20
mov ebx, dword [esp + 0x12c]
xor eax, eax
test ebx, ebx
mov dword [esp + 0x10], eax
je 0x462cdc
cmp edi, ebx
mov esi, edi
jbe 0x462caa
mov esi, ebx
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x138]
push 0x71
push edi
call fcn.004309f0
mov ecx, dword [esp + 0x138]
call fcn.0045d750
test al, al
jne 0x462da6
sub ebx, esi
jne 0x462ca2
mov eax, dword [esp + 0x10]
mov ebx, dword [sym.imp.WS2_32.dll_select]
test ebp, ebp
je 0x462cee
cmp eax, ebp
jae 0x462e09
test ebp, ebp
mov esi, edi
je 0x462d02
cmp ebp, eax
jbe 0x462d02
mov esi, ebp
sub esi, eax
cmp esi, edi
jbe 0x462d02
mov esi, edi
mov eax, 0x10624dd3
mov dword [esp + 0x20], 1
mul esi
shr edx, 6
mov dword [esp + 0x18], edx
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
mov ecx, eax
mov eax, esi
sub eax, ecx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
shl edx, 3
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x18]
lea eax, [esp + 0x20]
push edx
push 0
push eax
push 0
push 0
mov dword [esp + 0x38], ecx
call ebx
cmp eax, 0xffffffff
je 0x462dd0
cmp eax, 1
je 0x462dfa
mov ecx, dword [esp + 0x10]
add ecx, esi
test ebp, ebp
mov dword [esp + 0x10], ecx
je 0x462d7d
mov eax, ecx
cmp eax, ebp
jae 0x462e09
mov esi, dword [esp + 0x138]
push 0x72
push edi
mov ecx, esi
call fcn.004309f0
mov ecx, esi
call fcn.0045d750
test al, al
jne 0x462e33
mov eax, dword [esp + 0x10]
jmp 0x462ce2
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x134]
push str.socket_operation_aborted_by_application_callback..
mov byte [eax], 1
mov edx, dword [ecx]
call dword [edx + 0x10]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x114
ret 0x20
mov ecx, dword [esp + 0x134]
push str.select_returned_a_socket_error
mov edx, dword [ecx]
call dword [edx + 0x10]
mov eax, dword [esp + 0x144]
pop edi
pop esi
pop ebp
mov byte [eax], 1
xor al, al
pop ebx
add esp, 0x114
ret 0x20
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x114
ret 0x20
mov ecx, dword [esp + 0x134]
push str.socket_is_not_ready_for_writing_
mov edx, dword [ecx]
call dword [edx + 0x10]
mov eax, dword [esp + 0x140]
pop edi
pop esi
pop ebp
mov byte [eax], 1
xor al, al
pop ebx
add esp, 0x114
ret 0x20
mov ecx, dword [esp + 0x13c]
push str.socket_operation_aborted_by_application_callback
mov byte [ecx], 1
mov ecx, dword [esp + 0x138]
mov edx, dword [ecx]
call dword [edx + 0x10]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x114
ret 0x20
push esi
push eax
mov eax, dword [esp + 0x13c]
push eax
push ebp
call fcn.00462af0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret 0x20