Function at 0x43e1a0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x32c
mov eax, dword [0x639440]
xor eax, esp
mov dword [esp + 0x328], eax
push ebx
mov ebx, dword [esp + 0x334]
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x43e1dc
mov ecx, dword [esp + 0x338]
xor eax, eax
test ecx, ecx
je 0x43e1dc
cmp dword [ebx + eax*8], 0xffffffff
jne 0x43e22a
inc eax
cmp eax, ecx
jb 0x43e1d1
mov ecx, dword [esp + 0x33c]
mov eax, ecx
mov edx, dword [esp + 0x340]
or eax, edx
je 0x43e55c
test edx, edx
jg 0x43e548
jl 0x43e206
test ecx, ecx
jae 0x43e53d
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.0046c2a8
add esp, 0x32c
ret
push ebp
push esi
xor edx, edx
lea eax, [ebx + 4]
push edi
xor edi, edi
mov dword [esp + 0x234], edx
xor esi, esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x130], esi
or ebp, 0xffffffff
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
xor ecx, ecx
mov dword [esp + 0x20], ebp
mov word [eax + 2], cx
mov ecx, dword [eax - 4]
cmp ecx, 0xffffffff
je 0x43e341
jae 0x43e395
movzx eax, word [eax]
mov ebx, eax
mov dword [esp + 0x18], ebx
mov ebx, ebp
test eax, 0x710
je 0x43e33d
cmp ecx, ebx
mov ebp, ecx
cmovbe ebp, ebx
test eax, 0x300
je 0x43e2c1
xor eax, eax
test edi, edi
je 0x43e2ab
nop dword [eax]
cmp dword [esp + eax*4 + 0x30], ecx
je 0x43e2ab
inc eax
cmp eax, edi
jb 0x43e2a0
cmp eax, edi
jne 0x43e2c1
cmp edi, 0x40
jae 0x43e2c1
mov dword [esp + eax*4 + 0x30], ecx
mov edi, dword [esp + 0x2c]
inc edi
mov dword [esp + 0x2c], edi
mov ebx, dword [esp + 0x18]
test bl, 0x10
je 0x43e2fd
xor eax, eax
test esi, esi
je 0x43e2de
cmp dword [esp + eax*4 + 0x134], ecx
je 0x43e2de
inc eax
cmp eax, esi
jb 0x43e2d0
cmp eax, esi
jne 0x43e2fd
cmp esi, 0x40
jae 0x43e2fd
mov dword [esp + eax*4 + 0x134], ecx
mov esi, dword [esp + 0x130]
inc esi
mov dword [esp + 0x130], esi
test ebx, 0x600
je 0x43e33d
xor eax, eax
test edx, edx
je 0x43e31e
nop dword [eax + eax]
cmp dword [esp + eax*4 + 0x238], ecx
je 0x43e31e
inc eax
cmp eax, edx
jb 0x43e310
cmp eax, edx
jne 0x43e33d
cmp edx, 0x40
jae 0x43e33d
mov dword [esp + eax*4 + 0x238], ecx
mov edx, dword [esp + 0x234]
inc edx
mov dword [esp + 0x234], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add eax, 8
mov ebx, dword [esp + 0x344]
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
cmp ecx, ebx
jb 0x43e253
test edi, edi
jne 0x43e3fc
test esi, esi
jne 0x43e3fc
test edx, edx
jne 0x43e3fc
mov ecx, dword [esp + 0x348]
mov eax, ecx
mov edx, dword [esp + 0x34c]
or eax, edx
mov dword [esp + 0x1c], edx
jne 0x43e3bc
jmp 0x43e458
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.0046c2a8
add esp, 0x32c
ret
test edx, edx
jg 0x43e3e4
jl 0x43e3c6
test ecx, ecx
jae 0x43e3d9
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or esi, 0xffffffff
jmp 0x43e458
test edx, edx
jl 0x43e3f1
jg 0x43e3e4
cmp ecx, 0xffffffff
jb 0x43e3f1
mov ecx, 0xfffffffe
mov dword [esp + 0x1c], 0
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
jmp 0x43e458
push dword [esp + 0x34c]
lea eax, [esp + 0x1c]
push dword [esp + 0x34c]
push eax
call fcn.004614e0
add esp, 0xc
lea esi, [esp + 0x234]
lea ecx, [esp + 0x130]
push eax
xor eax, eax
cmp dword [esp + 0x238], eax
cmove esi, eax
cmp dword [esp + 0x134], eax
push esi
cmove ecx, eax
xor edi, edi
cmp dword [esp + 0x34], edi
lea eax, [esp + 0x34]
push ecx
cmove eax, edi
push eax
lea eax, [ebp + 1]
push eax
call dword [sym.imp.WS2_32.dll_select]
mov esi, eax
test esi, esi
jg 0x43e478
cmp esi, 0xffffffff
jne 0x43e471
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
xor ecx, ecx
cmp eax, 0x2714
cmove esi, ecx
mov eax, esi
jmp 0x43e3a3
mov esi, dword [esp + 0x24]
xor edi, edi
add esi, 6
mov ebp, 0x200
xor eax, eax
mov word [esi], ax
mov eax, dword [esi - 6]
cmp eax, 0xffffffff
je 0x43e52a
lea ecx, [esp + 0x2c]
push ecx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43e4d0
movzx ecx, word [esi - 2]
test ecx, 0x100
je 0x43e4ba
mov eax, 0x100
or word [esi], ax
movzx eax, word [esi]
movzx eax, ax
test ecx, 0x300
je 0x43e4d0
or eax, 0x300
mov word [esi], ax
lea eax, [esp + 0x130]
push eax
push dword [esi - 6]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43e4ee
test byte [esi - 2], 0x10
je 0x43e4ee
or word [esi], 0x10
lea eax, [esp + 0x234]
push eax
push dword [esi - 6]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43e523
movzx ecx, word [esi - 2]
test ebp, ecx
je 0x43e50d
or word [esi], bp
movzx eax, word [esi]
movzx eax, ax
test ecx, 0x400
je 0x43e523
or eax, 0x400
mov word [esi], ax
cmp word [esi], 0
je 0x43e52a
inc edi
add esi, 8
sub ebx, 1
jne 0x43e486
mov eax, edi
jmp 0x43e3a3
test edx, edx
jl 0x43e555
jg 0x43e548
cmp ecx, 0xffffffff
jb 0x43e555
mov ecx, 0xfffffffe
mov dword [esp + 0x1c], 0
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x32c]
xor eax, eax
pop ebx
xor ecx, esp
call fcn.0046c2a8
add esp, 0x32c
ret