Function at 0x440ee0
Capabilities:
Get socket status

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x36c
mov esi, dword [esp + 0x380]
mov ebx, dword [esp + 0x384]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
test esi, esi
je 0x440f2f
test ebx, ebx
je 0x440f2f
mov eax, dword [esp + 0x380]
cmp dword [eax], 0xffffffff
jne 0x440f81
mov edx, eax
xor eax, eax
jmp 0x440f28
cmp dword [edx + eax*8], 0xffffffff
jne 0x440f81
add eax, 1
cmp ebx, eax
jne 0x440f22
mov ebx, dword [esp + 0x388]
test ebx, ebx
jne 0x440f50
xor ebx, ebx
add esp, 0x36c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x388]
test ecx, ecx
js 0x44128c
mov eax, dword [esp + 0x388]
xor ebx, ebx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
mov eax, ebx
add esp, 0x36c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x388]
test eax, eax
jg 0x441170
mov dword [esp + 0x34], 0
lea eax, [ebx*8]
mov dword [esp + 0x54], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x25c], 0
mov byte [esp + 0x3e], 0
xor ecx, ecx
mov dword [esp + 0x38], eax
add eax, dword [esp + 0x380]
xor ebp, ebp
mov byte [esp + 0x3f], 0
mov byte [esp + 0x3d], 0
xor ebx, ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x380]
nop
lea esi, [esi]
xor edx, edx
mov word [eax + 6], dx
mov edx, dword [eax]
cmp edx, 0xffffffff
je 0x44102a
movzx edi, word [eax + 4]
test di, 0x710
je 0x44102a
test di, 0x300
jne 0x441231
test edi, 0x10
jne 0x4411e1
test di, 0x600
jne 0x441190
add eax, 8
cmp dword [esp + 0x28], eax
jne 0x440ff0
cmp byte [esp + 0x3d], 0
jne 0x4412a6
xor ebx, ebx
cmp byte [esp + 0x3f], 0
je 0x44104e
mov dword [esp + 0x158], ebp
cmp byte [esp + 0x3e], 0
jne 0x4412d9
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x158]
test edi, edi
jne 0x441070
test ebx, ebx
je 0x440f2f
mov ebp, dword [esp + 0x388]
lea eax, [esp + 0x4c]
test ebp, ebp
mov ebp, 0
cmovns ebp, eax
xor esi, esi
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x34]
mov eax, 0x10624dd3
mul ebp
shr edx, 6
imul eax, edx, 0x3e8
sub ebp, eax
imul eax, ebp, 0x3e8
cmp dword [esp + 0x388], 0
jle 0x4412f1
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x25c]
test ebx, ebx
lea ebx, [esp + 0x158]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x54]
cmove edx, esi
test edi, edi
mov dword [esp], 0
cmove ebx, esi
test ecx, ecx
mov ecx, dword [esp + 0x28]
cmove eax, esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp + 0x10], ecx
call dword [sym.imp.WS2_32.dll_select]
sub esp, 0x14
cmp eax, 0xffffffff
jne 0x441373
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
jne 0x4412b2
call fcn.00453860
mov ecx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
call fcn.00453920
mov ecx, dword [esp + 0x388]
sub ecx, eax
test ecx, ecx
mov dword [esp + 0x34], ecx
jle 0x440f3a
mov ebx, dword [esp + 0x25c]
mov edi, dword [esp + 0x158]
mov ecx, dword [esp + 0x54]
jmp 0x44108b
call fcn.00453860
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
jmp 0x440f98
test ebx, ebx
je 0x44126e
cmp edx, dword [esp + 0x260]
je 0x44102a
xor esi, esi
jmp 0x4411bd
cmp edx, dword [esp + esi*4 + 0x260]
je 0x44102a
add esi, 1
cmp ebx, esi
jne 0x4411b0
cmp ebx, 0x40
je 0x44102a
add ebx, 1
mov dword [esp + esi*4 + 0x260], edx
mov byte [esp + 0x3d], 1
jmp 0x44102a
test ebp, ebp
je 0x441283
cmp edx, dword [esp + 0x15c]
je 0x44101f
xor esi, esi
jmp 0x44120d
cmp edx, dword [esp + esi*4 + 0x15c]
je 0x44101f
add esi, 1
cmp ebp, esi
jne 0x441200
cmp ebp, 0x40
je 0x44101f
add ebp, 1
mov dword [esp + esi*4 + 0x15c], edx
mov byte [esp + 0x3f], 1
jmp 0x44101f
test ecx, ecx
je 0x44127a
cmp edx, dword [esp + 0x58]
je 0x441013
xor esi, esi
jmp 0x44124d
cmp edx, dword [esp + esi*4 + 0x58]
je 0x441013
add esi, 1
cmp esi, ecx
jne 0x441243
cmp esi, 0x40
je 0x441013
lea ecx, [esi + 1]
mov dword [esp + esi*4 + 0x58], edx
mov byte [esp + 0x3e], 1
jmp 0x441013
xor esi, esi
mov ebx, 1
jmp 0x4411d0
xor esi, esi
mov ecx, 1
jmp 0x441260
xor esi, esi
mov ebp, 1
jmp 0x441220
mov dword [esp], 0x2726
mov ebx, 0xffffffff
call dword [sym.imp.WS2_32.dll_WSASetLastError]
sub esp, 4
jmp 0x440f3c
mov dword [esp + 0x25c], ebx
jmp 0x441040
mov ecx, dword [0x62f14c]
test ecx, ecx
jne 0x4412c7
cmp eax, 0x2714
je 0x441119
add esp, 0x36c
mov ebx, 0xffffffff
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
test ecx, ecx
mov dword [esp + 0x54], ecx
mov edi, dword [esp + 0x158]
jne 0x441070
jmp 0x441064
mov ebp, dword [esp + 0x28]
je 0x441455
xor esi, esi
jmp 0x44132d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x44131b
mov edi, dword [0x62f14c]
test edi, edi
jne 0x4412c7
cmp eax, 0x2714
jne 0x4412c7
mov ebx, dword [esp + 0x25c]
mov edi, dword [esp + 0x158]
mov ecx, dword [esp + 0x54]
test ebx, ebx
lea ebx, [esp + 0x25c]
lea edx, [esp + 0x158]
lea eax, [esp + 0x54]
mov dword [esp + 0x10], ebp
mov dword [esp], 0
cmove ebx, esi
test edi, edi
cmove edx, esi
test ecx, ecx
mov dword [esp + 0xc], ebx
cmove eax, esi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call dword [sym.imp.WS2_32.dll_select]
sub esp, 0x14
cmp eax, 0xffffffff
je 0x441300
test eax, eax
js 0x4412c7
je 0x440f3a
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x38]
xor ebx, ebx
lea ebp, [esp + 0x54]
lea edi, [eax + 6]
lea esi, [eax + ecx + 6]
jmp 0x4413b3
or word [edi], 0x400
add ebx, 1
add edi, 8
cmp esi, edi
je 0x440f3c
mov eax, dword [edi - 6]
xor edx, edx
mov word [edi], dx
cmp eax, 0xffffffff
je 0x4413a8
mov dword [esp + 4], ebp
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
sub esp, 8
test eax, eax
je 0x4413d8
or word [edi], 0x300
lea eax, [esp + 0x158]
mov dword [esp + 4], eax
mov eax, dword [edi - 6]
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
sub esp, 8
test eax, eax
je 0x4413f9
or word [edi], 0x10
lea eax, [esp + 0x25c]
mov dword [esp + 4], eax
mov eax, dword [edi - 6]
mov dword [esp], eax
call sub.WS2_32.dll___WSAFDIsSet
sub esp, 8
test eax, eax
jne 0x4413a0
cmp word [edi], 0
je 0x4413a8
jmp 0x4413a5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x441443
mov ebx, dword [0x62f14c]
test ebx, ebx
jne 0x4412c7
cmp eax, 0x2714
jne 0x4412c7
mov ebx, dword [esp + 0x25c]
mov edi, dword [esp + 0x158]
mov ecx, dword [esp + 0x54]
lea esi, [esp + 0x25c]
xor edx, edx
test ebx, ebx
lea ebx, [esp + 0x158]
lea eax, [esp + 0x54]
mov dword [esp + 0x4c], 0
cmove esi, edx
test edi, edi
mov dword [esp + 0x50], 0
cmove ebx, edx
test ecx, ecx
mov dword [esp + 0x10], ebp
cmove eax, edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [sym.imp.WS2_32.dll_select]
sub esp, 0x14
cmp eax, 0xffffffff
je 0x441420
jmp 0x441373