Function at 0x43d690
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3a8
push esi
push edi
lea edi, [ebp - 0x3a8]
mov ecx, 0xea
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x4cfaa8]
xor eax, ebp
mov dword [ebp - 4], eax
xorps xmm0, xmm0
movlpd qword [ebp - 0x354], xmm0
mov dword [ebp - 0x34c], 0
mov byte [ebp - 0x359], 1
mov dword [ebp - 0x364], 0
cmp dword [ebp + 8], 0
je 0x43d723
mov dword [ebp - 0x360], 0
jmp 0x43d6fe
mov eax, dword [ebp - 0x360]
add eax, 1
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x360]
cmp ecx, dword [ebp + 0xc]
jae 0x43d723
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp + 8]
cmp dword [eax + edx*8], 0xffffffff
je 0x43d721
mov byte [ebp - 0x359], 0
jmp 0x43d723
jmp 0x43d6ef
movzx ecx, byte [ebp - 0x359]
test ecx, ecx
je 0x43d74b
mov edx, dword [ebp + 0x10]
push edx
call fcn.0043de50
add esp, 4
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x36c]
jmp 0x43dda4
cmp dword [ebp + 0x10], 0
jle 0x43d78c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x364], eax
lea ecx, [ebp - 0x388]
push ecx
call fcn.0042b600
add esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x354], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x350], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x34c], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x340], 0xffffffff
mov dword [ebp - 0x360], 0
jmp 0x43d7cf
mov ecx, dword [ebp - 0x360]
add ecx, 1
mov dword [ebp - 0x360], ecx
mov edx, dword [ebp - 0x360]
cmp edx, dword [ebp + 0xc]
jae 0x43da3f
xor eax, eax
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov word [edx + ecx*8 + 6], ax
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
cmp dword [ecx + eax*8], 0xffffffff
jne 0x43d7ff
jmp 0x43d7c0
xor edx, edx
jne 0x43d7ff
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
movsx edx, word [ecx + eax*8 + 4]
and edx, 0x710
je 0x43da3a
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax*8]
cmp edx, dword [ebp - 0x340]
jbe 0x43d843
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax*8]
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
movsx edx, word [ecx + eax*8 + 4]
and edx, 0x300
je 0x43d8ec
mov dword [ebp - 0x370], 0
jmp 0x43d878
mov eax, dword [ebp - 0x370]
add eax, 1
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x370]
cmp ecx, dword [ebp - 0x120]
jae 0x43d8a5
mov edx, dword [ebp - 0x370]
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + edx*4 - 0x11c]
cmp edx, dword [ecx + eax*8]
jne 0x43d8a3
jmp 0x43d8a5
jmp 0x43d869
mov eax, dword [ebp - 0x370]
cmp eax, dword [ebp - 0x120]
jne 0x43d8e4
cmp dword [ebp - 0x120], 0x40
jae 0x43d8e4
mov ecx, dword [ebp - 0x370]
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp + 8]
mov edx, dword [eax + edx*8]
mov dword [ebp + ecx*4 - 0x11c], edx
mov eax, dword [ebp - 0x120]
add eax, 1
mov dword [ebp - 0x120], eax
xor ecx, ecx
jne 0x43d85d
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp + 8]
movsx ecx, word [eax + edx*8 + 4]
and ecx, 0x10
je 0x43d992
mov dword [ebp - 0x374], 0
jmp 0x43d91e
mov edx, dword [ebp - 0x374]
add edx, 1
mov dword [ebp - 0x374], edx
mov eax, dword [ebp - 0x374]
cmp eax, dword [ebp - 0x22c]
jae 0x43d94b
mov ecx, dword [ebp - 0x374]
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + ecx*4 - 0x228]
cmp ecx, dword [eax + edx*8]
jne 0x43d949
jmp 0x43d94b
jmp 0x43d90f
mov edx, dword [ebp - 0x374]
cmp edx, dword [ebp - 0x22c]
jne 0x43d98a
cmp dword [ebp - 0x22c], 0x40
jae 0x43d98a
mov eax, dword [ebp - 0x374]
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + ecx*8]
mov dword [ebp + eax*4 - 0x228], ecx
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
xor eax, eax
jne 0x43d903
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
movsx eax, word [edx + ecx*8 + 4]
and eax, 0x600
je 0x43da3a
mov dword [ebp - 0x378], 0
jmp 0x43d9c6
mov ecx, dword [ebp - 0x378]
add ecx, 1
mov dword [ebp - 0x378], ecx
mov edx, dword [ebp - 0x378]
cmp edx, dword [ebp - 0x338]
jae 0x43d9f3
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + eax*4 - 0x334]
cmp eax, dword [edx + ecx*8]
jne 0x43d9f1
jmp 0x43d9f3
jmp 0x43d9b7
mov ecx, dword [ebp - 0x378]
cmp ecx, dword [ebp - 0x338]
jne 0x43da32
cmp dword [ebp - 0x338], 0x40
jae 0x43da32
mov edx, dword [ebp - 0x378]
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*8]
mov dword [ebp + edx*4 - 0x334], eax
mov ecx, dword [ebp - 0x338]
add ecx, 1
mov dword [ebp - 0x338], ecx
xor edx, edx
jne 0x43d9ab
jmp 0x43d7c0
cmp dword [ebp - 0x120], 0
jne 0x43da77
cmp dword [ebp - 0x22c], 0
jne 0x43da77
cmp dword [ebp - 0x338], 0
jne 0x43da77
mov eax, dword [ebp + 0x10]
push eax
call fcn.0043de50
add esp, 4
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x36c]
jmp 0x43dda4
cmp dword [ebp + 0x10], 0
jge 0x43da89
mov dword [ebp - 0x39c], 0
jmp 0x43da92
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x39c], ecx
mov edx, dword [ebp - 0x39c]
mov dword [ebp - 0x18], edx
cmp dword [ebp + 0x10], 0
jle 0x43dacb
mov eax, dword [ebp - 0x364]
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x364]
cdq
mov ecx, 0x3e8
idiv ecx
imul edx, edx, 0x3e8
mov dword [ebp - 0xc], edx
jmp 0x43dadf
cmp dword [ebp + 0x10], 0
jne 0x43dadf
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0x338], 0
je 0x43daf6
lea eax, [ebp - 0x338]
mov dword [ebp - 0x3a0], eax
jmp 0x43db00
mov dword [ebp - 0x3a0], 0
cmp dword [ebp - 0x22c], 0
je 0x43db17
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x3a4], ecx
jmp 0x43db21
mov dword [ebp - 0x3a4], 0
cmp dword [ebp - 0x120], 0
je 0x43db38
lea edx, [ebp - 0x120]
mov dword [ebp - 0x3a8], edx
jmp 0x43db42
mov dword [ebp - 0x3a8], 0
mov esi, esp
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x3a0]
push ecx
mov edx, dword [ebp - 0x3a4]
push edx
mov eax, dword [ebp - 0x3a8]
push eax
mov ecx, dword [ebp - 0x340]
add ecx, 1
push ecx
call dword [sym.imp.WS2_32.dll_select]
cmp esi, esp
call fcn.004a9923
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], 0xffffffff
je 0x43db88
jmp 0x43dc4a
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.004a9923
mov dword [ebp - 0x368], eax
cmp dword [ebp - 0x368], 0
je 0x43dbc0
cmp dword [0x4d1e34], 0
jne 0x43dbbb
cmp dword [ebp - 0x368], 0x2714
je 0x43dbc0
jmp 0x43dc4a
cmp dword [ebp + 0x10], 0
jle 0x43dc3d
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x354]
mov dword [edx], eax
mov ecx, dword [ebp - 0x350]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x34c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x348]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x398]
push edx
call fcn.0042b600
add esp, 0xfffffff4
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.0042b6e0
add esp, 0x20
mov ecx, dword [ebp + 0x10]
sub ecx, eax
mov dword [ebp - 0x364], ecx
cmp dword [ebp - 0x364], 0
jg 0x43dc3d
mov dword [ebp - 0x36c], 0
jmp 0x43dc4a
cmp dword [ebp - 0x36c], 0xffffffff
je 0x43da9b
cmp dword [ebp - 0x36c], 0
jge 0x43dc5b
or eax, 0xffffffff
jmp 0x43dda4
cmp dword [ebp - 0x36c], 0
jne 0x43dc6b
xor eax, eax
jmp 0x43dda4
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x360], 0
jmp 0x43dc90
mov edx, dword [ebp - 0x360]
add edx, 1
mov dword [ebp - 0x360], edx
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp + 0xc]
jae 0x43dd9e
xor ecx, ecx
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp + 8]
mov word [eax + edx*8 + 6], cx
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
cmp dword [edx + ecx*8], 0xffffffff
jne 0x43dcc0
jmp 0x43dc81
lea eax, [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43dcfe
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
movsx eax, word [edx + ecx*8 + 6]
or eax, 0x300
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov word [edx + ecx*8 + 6], ax
lea eax, [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43dd3a
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
movsx eax, word [edx + ecx*8 + 6]
or eax, 0x10
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov word [edx + ecx*8 + 6], ax
lea eax, [ebp - 0x338]
push eax
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43dd78
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
movsx eax, word [edx + ecx*8 + 6]
or eax, 0x400
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov word [edx + ecx*8 + 6], ax
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
movsx edx, word [ecx + eax*8 + 6]
test edx, edx
je 0x43dd99
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
jmp 0x43dc81
mov eax, dword [ebp - 0x36c]
push edx
mov ecx, ebp
push eax
lea edx, [0x43ddd4]
call fcn.004a98cf
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a93ad
add esp, 0x3a8
cmp ebp, esp
call fcn.004a9923
mov esp, ebp
pop ebp
ret