Function at 0x448430
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 0x44845d
cmp edi, 0x32
jae 0x44845d
mov edi, 0x32
mov ebp, dword [esp + 0x130]
test ebp, ebp
jne 0x44846d
mov ebp, 0x1499700
mov eax, dword [esp + 0x138]
test eax, eax
je 0x448662
test edi, edi
je 0x448662
cmp dword [ecx + 0x4c], 0xffffffff
jne 0x4484aa
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 0x4484f5
cmp edi, ebx
mov esi, edi
jbe 0x4484c3
mov esi, ebx
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x138]
push 0x71
push edi
call fcn.00421270
mov ecx, dword [esp + 0x138]
call fcn.00421150
test al, al
jne 0x4485bf
sub ebx, esi
jne 0x4484bb
mov eax, dword [esp + 0x10]
mov ebx, dword [sym.imp.WS2_32.dll_select]
test ebp, ebp
je 0x448507
cmp eax, ebp
jae 0x448618
test ebp, ebp
mov esi, edi
je 0x44851b
cmp ebp, eax
jbe 0x44851b
mov esi, ebp
sub esi, eax
cmp esi, edi
jbe 0x44851b
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 0x4485e9
cmp eax, 1
je 0x448609
mov ecx, dword [esp + 0x10]
add ecx, esi
test ebp, ebp
mov dword [esp + 0x10], ecx
je 0x448596
mov eax, ecx
cmp eax, ebp
jae 0x448618
mov esi, dword [esp + 0x138]
push 0x72
push edi
mov ecx, esi
call fcn.00421270
mov ecx, esi
call fcn.00421150
test al, al
jne 0x448638
mov eax, dword [esp + 0x10]
jmp 0x4484fb
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.00448350
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret 0x18