Function at 0x448cd0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x114
mov eax, dword [esp + 0x12c]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x128]
test edi, edi
mov dword [esp + 0x14], ecx
mov byte [eax], 0
je 0x448cfd
cmp edi, 0x32
jae 0x448cfd
mov edi, 0x32
mov ebp, dword [esp + 0x130]
test ebp, ebp
jne 0x448d0d
mov ebp, 0x1499700
mov eax, dword [esp + 0x138]
test eax, eax
je 0x448f02
test edi, edi
je 0x448f02
cmp dword [ecx + 0x4c], 0xffffffff
jne 0x448d4a
mov ecx, dword [esp + 0x134]
push str.invalid_socket__not_ready_for_writing.
mov edx, dword [ecx]
call dword [edx + 0x10]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x114
ret 0x18
mov ebx, dword [esp + 0x12c]
xor eax, eax
test ebx, ebx
mov dword [esp + 0x10], eax
je 0x448d95
cmp edi, ebx
mov esi, edi
jbe 0x448d63
mov esi, ebx
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x138]
push 0x71
push edi
call fcn.00422330
mov ecx, dword [esp + 0x138]
call fcn.00422210
test al, al
jne 0x448e5f
sub ebx, esi
jne 0x448d5b
mov eax, dword [esp + 0x10]
mov ebx, dword [sym.imp.WS2_32.dll_select]
test ebp, ebp
je 0x448da7
cmp eax, ebp
jae 0x448eb8
test ebp, ebp
mov esi, edi
je 0x448dbb
cmp ebp, eax
jbe 0x448dbb
mov esi, ebp
sub esi, eax
cmp esi, edi
jbe 0x448dbb
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 + 0x4c]
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 0x448e89
cmp eax, 1
je 0x448ea9
mov ecx, dword [esp + 0x10]
add ecx, esi
test ebp, ebp
mov dword [esp + 0x10], ecx
je 0x448e36
mov eax, ecx
cmp eax, ebp
jae 0x448eb8
mov esi, dword [esp + 0x138]
push 0x72
push edi
mov ecx, esi
call fcn.00422330
mov ecx, esi
call fcn.00422210
test al, al
jne 0x448ed8
mov eax, dword [esp + 0x10]
jmp 0x448d9b
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 0x18
mov ecx, dword [esp + 0x134]
push str.select_returned_a_socket_error
mov edx, dword [ecx]
call dword [edx + 0x10]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x114
ret 0x18
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x114
ret 0x18
mov ecx, dword [esp + 0x134]
push str.socket_is_not_ready_for_writing_
mov eax, dword [ecx]
call dword [eax + 0x10]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x114
ret 0x18
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 0x18
mov eax, dword [esp + 0x134]
push eax
push ebp
call fcn.00448bf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret 0x18