Function at 0x440960
Capabilities:
Get socket status

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x35c
cmp dword [esp + 0x374], 0xffffffff
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
sete dl
cmp dword [esp + 0x378], 0xffffffff
sete al
test dl, al
je 0x4409a2
cmp dword [esp + 0x370], 0xffffffff
je 0x440bd0
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x24], 0
test eax, eax
jg 0x440c30
cmp dword [esp + 0x370], 0xffffffff
mov dword [esp + 0x24c], 0
mov dword [esp + 0x44], 0
je 0x440e60
cmp dword [esp + 0x374], 0xffffffff
mov eax, dword [esp + 0x370]
mov dword [esp + 0x44], 1
mov dword [esp + 0x24c], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x250], eax
mov esi, eax
je 0x440a57
mov eax, dword [esp + 0x374]
cmp dword [esp + 0x370], eax
mov esi, eax
cmovae esi, dword [esp + 0x370]
cmp dword [esp + 0x370], eax
je 0x440a57
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], 2
mov eax, 2
mov edx, 1
mov edi, dword [esp + 0x374]
mov dword [esp + 0x24c], eax
mov dword [esp + edx*4 + 0x250], edi
cmp dword [esp + 0x378], 0xffffffff
mov dword [esp + 0x148], 0
je 0x440e50
mov ecx, dword [esp + 0x24c]
mov eax, dword [esp + 0x378]
mov dword [esp + 0x148], 1
test ecx, ecx
mov dword [esp + 0x14c], eax
je 0x440e95
mov eax, dword [esp + 0x250]
cmp dword [esp + 0x378], eax
lea ebx, [esp + 0x24c]
je 0x440adc
xor eax, eax
lea ebx, [esp + 0x24c]
mov edi, dword [esp + 0x378]
jmp 0x440ac9
cmp dword [ebx + edx*4 + 4], edi
mov eax, edx
je 0x440adc
lea edx, [eax + 1]
cmp edx, ecx
jne 0x440ac1
add eax, 2
cmp ecx, 0x40
jne 0x440ea1
cmp esi, dword [esp + 0x378]
mov ecx, 1
cmovb esi, dword [esp + 0x378]
mov ebp, dword [esp + 0x37c]
lea edi, [esp + 0x3c]
mov eax, 0
test ebp, ebp
mov ebp, dword [sym.imp.WS2_32.dll_select]
cmovs edi, eax
add esi, 1
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x24]
mov eax, 0x10624dd3
mul esi
shr edx, 6
imul eax, edx, 0x3e8
sub esi, eax
imul eax, esi, 0x3e8
cmp dword [esp + 0x37c], 0
jle 0x440c50
mov dword [esp + 0x40], eax
lea eax, [esp + 0x148]
test ecx, ecx
mov ecx, 0
mov dword [esp + 0x3c], edx
cmove eax, ecx
mov ecx, dword [esp + 0x44]
xor edx, edx
test ecx, ecx
je 0x440b63
lea edx, [esp + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call ebp
sub esp, 0x14
cmp eax, 0xffffffff
jne 0x440cc0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
jne 0x440c03
call fcn.00453860
mov esi, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xc], esi
call fcn.00453920
mov esi, dword [esp + 0x37c]
sub esi, eax
test esi, esi
mov dword [esp + 0x24], esi
jle 0x440bf4
mov ecx, dword [esp + 0x148]
jmp 0x440b16
mov eax, dword [esp + 0x37c]
test eax, eax
je 0x440bf4
js 0x440ebb
mov eax, dword [esp + 0x37c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
xor esi, esi
add esp, 0x35c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x62f14c]
test edx, edx
jne 0x440c18
cmp eax, 0x2714
je 0x440b92
add esp, 0x35c
mov esi, 0xffffffff
pop ebx
mov eax, esi
pop esi
pop edi
pop ebp
ret
call fcn.00453860
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], eax
jmp 0x4409b9
mov esi, dword [esp + 0x20]
je 0x440dfa
jmp 0x440c82
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x440c7b
mov edx, dword [0x62f14c]
test edx, edx
jne 0x440c18
cmp eax, 0x2714
jne 0x440c18
mov ecx, dword [esp + 0x148]
test ecx, ecx
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x148]
mov edx, 0
cmovne edx, eax
xor eax, eax
test ecx, ecx
je 0x440ca1
lea eax, [esp + 0x44]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call ebp
sub esp, 0x14
cmp eax, 0xffffffff
je 0x440c60
nop
test eax, eax
js 0x440c18
je 0x440bf4
xor esi, esi
cmp dword [esp + 0x370], 0xffffffff
je 0x440d1e
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x370]
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
sub esp, 8
test eax, eax
setne al
mov dword [esp + 4], ebx
movzx eax, al
mov esi, eax
mov eax, dword [esp + 0x370]
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
mov edx, esi
sub esp, 8
or edx, 4
test eax, eax
cmovne esi, edx
cmp dword [esp + 0x374], 0xffffffff
je 0x440d6c
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x374]
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
mov edx, esi
sub esp, 8
or edx, 8
test eax, eax
mov eax, dword [esp + 0x374]
cmovne esi, edx
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
mov edx, esi
sub esp, 8
or edx, 4
test eax, eax
cmovne esi, edx
cmp dword [esp + 0x378], 0xffffffff
je 0x440bf6
lea eax, [esp + 0x148]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x378]
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
mov edx, esi
sub esp, 8
or edx, 2
test eax, eax
mov eax, dword [esp + 0x378]
cmovne esi, edx
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
mov edx, esi
sub esp, 8
or edx, 4
test eax, eax
cmovne esi, edx
add esp, 0x35c
pop ebx
mov eax, esi
pop esi
pop edi
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x440df3
mov edx, dword [0x62f14c]
test edx, edx
jne 0x440c18
cmp eax, 0x2714
jne 0x440c18
mov ecx, dword [esp + 0x148]
test ecx, ecx
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x148]
mov edx, 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
cmovne edx, eax
mov eax, 0
mov dword [esp + 0x10], edi
test ecx, ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov dword [esp], esi
cmovne eax, ecx
mov dword [esp + 4], eax
call ebp
sub esp, 0x14
cmp eax, 0xffffffff
je 0x440dd0
jmp 0x440cc0
xor ecx, ecx
lea ebx, [esp + 0x24c]
jmp 0x440af0
cmp dword [esp + 0x374], 0xffffffff
mov esi, 0xffffffff
je 0x440a57
mov eax, dword [esp + 0x374]
mov dword [esp + 0x44], 1
or esi, 0xffffffff
xor edx, edx
mov dword [esp + 0x48], eax
mov eax, 1
jmp 0x440a42
lea ebx, [esp + 0x24c]
mov eax, 1
mov edi, dword [esp + 0x378]
mov dword [esp + 0x24c], eax
mov dword [esp + ecx*4 + 0x250], edi
jmp 0x440adc
mov dword [esp], 0x2726
mov esi, 0xffffffff
call dword [sym.imp.WS2_32.dll_WSASetLastError]
sub esp, 4
jmp 0x440bf6