Function at 0x42a0f0
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 [0x4c83a4]
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 0x42a183
mov dword [ebp - 0x360], 0
jmp 0x42a15e
mov eax, dword [ebp - 0x360]
add eax, 1
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x360]
cmp ecx, dword [ebp + 0xc]
jae 0x42a183
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp + 8]
cmp dword [eax + edx*8], 0xffffffff
je 0x42a181
mov byte [ebp - 0x359], 0
jmp 0x42a183
jmp 0x42a14f
movzx ecx, byte [ebp - 0x359]
test ecx, ecx
je 0x42a1ab
mov edx, dword [ebp + 0x10]
push edx
call fcn.0042a8b0
add esp, 4
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x368]
jmp 0x42a804
cmp dword [ebp + 0x10], 0
jle 0x42a1ec
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x364], eax
lea ecx, [ebp - 0x388]
push ecx
call fcn.004350c0
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 0x42a22f
mov ecx, dword [ebp - 0x360]
add ecx, 1
mov dword [ebp - 0x360], ecx
mov edx, dword [ebp - 0x360]
cmp edx, dword [ebp + 0xc]
jae 0x42a49f
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 0x42a25f
jmp 0x42a220
xor edx, edx
jne 0x42a25f
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
movsx edx, word [ecx + eax*8 + 4]
and edx, 0x710
je 0x42a49a
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax*8]
cmp edx, dword [ebp - 0x340]
jbe 0x42a2a3
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 0x42a34c
mov dword [ebp - 0x36c], 0
jmp 0x42a2d8
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x36c]
cmp ecx, dword [ebp - 0x120]
jae 0x42a305
mov edx, dword [ebp - 0x36c]
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + edx*4 - 0x11c]
cmp edx, dword [ecx + eax*8]
jne 0x42a303
jmp 0x42a305
jmp 0x42a2c9
mov eax, dword [ebp - 0x36c]
cmp eax, dword [ebp - 0x120]
jne 0x42a344
cmp dword [ebp - 0x120], 0x40
jae 0x42a344
mov ecx, dword [ebp - 0x36c]
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 0x42a2bd
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp + 8]
movsx ecx, word [eax + edx*8 + 4]
and ecx, 0x10
je 0x42a3f2
mov dword [ebp - 0x370], 0
jmp 0x42a37e
mov edx, dword [ebp - 0x370]
add edx, 1
mov dword [ebp - 0x370], edx
mov eax, dword [ebp - 0x370]
cmp eax, dword [ebp - 0x22c]
jae 0x42a3ab
mov ecx, dword [ebp - 0x370]
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + ecx*4 - 0x228]
cmp ecx, dword [eax + edx*8]
jne 0x42a3a9
jmp 0x42a3ab
jmp 0x42a36f
mov edx, dword [ebp - 0x370]
cmp edx, dword [ebp - 0x22c]
jne 0x42a3ea
cmp dword [ebp - 0x22c], 0x40
jae 0x42a3ea
mov eax, dword [ebp - 0x370]
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 0x42a363
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
movsx eax, word [edx + ecx*8 + 4]
and eax, 0x600
je 0x42a49a
mov dword [ebp - 0x374], 0
jmp 0x42a426
mov ecx, dword [ebp - 0x374]
add ecx, 1
mov dword [ebp - 0x374], ecx
mov edx, dword [ebp - 0x374]
cmp edx, dword [ebp - 0x338]
jae 0x42a453
mov eax, dword [ebp - 0x374]
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + eax*4 - 0x334]
cmp eax, dword [edx + ecx*8]
jne 0x42a451
jmp 0x42a453
jmp 0x42a417
mov ecx, dword [ebp - 0x374]
cmp ecx, dword [ebp - 0x338]
jne 0x42a492
cmp dword [ebp - 0x338], 0x40
jae 0x42a492
mov edx, dword [ebp - 0x374]
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 0x42a40b
jmp 0x42a220
cmp dword [ebp - 0x120], 0
jne 0x42a4d7
cmp dword [ebp - 0x22c], 0
jne 0x42a4d7
cmp dword [ebp - 0x338], 0
jne 0x42a4d7
mov eax, dword [ebp + 0x10]
push eax
call fcn.0042a8b0
add esp, 4
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x368]
jmp 0x42a804
cmp dword [ebp + 0x10], 0
jge 0x42a4e9
mov dword [ebp - 0x39c], 0
jmp 0x42a4f2
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 0x42a52b
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 0x42a53f
cmp dword [ebp + 0x10], 0
jne 0x42a53f
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0x338], 0
je 0x42a556
lea eax, [ebp - 0x338]
mov dword [ebp - 0x3a0], eax
jmp 0x42a560
mov dword [ebp - 0x3a0], 0
cmp dword [ebp - 0x22c], 0
je 0x42a577
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x3a4], ecx
jmp 0x42a581
mov dword [ebp - 0x3a4], 0
cmp dword [ebp - 0x120], 0
je 0x42a598
lea edx, [ebp - 0x120]
mov dword [ebp - 0x3a8], edx
jmp 0x42a5a2
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.00485c0f
mov dword [ebp - 0x368], eax
cmp dword [ebp - 0x368], 0xffffffff
je 0x42a5e8
jmp 0x42a6aa
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.00485c0f
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0
je 0x42a620
cmp dword [0x4c9528], 0
jne 0x42a61b
cmp dword [ebp - 0x378], 0x2714
je 0x42a620
jmp 0x42a6aa
cmp dword [ebp + 0x10], 0
jle 0x42a69d
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.004350c0
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.00435210
add esp, 0x20
mov ecx, dword [ebp + 0x10]
sub ecx, eax
mov dword [ebp - 0x364], ecx
cmp dword [ebp - 0x364], 0
jg 0x42a69d
mov dword [ebp - 0x368], 0
jmp 0x42a6aa
cmp dword [ebp - 0x368], 0xffffffff
je 0x42a4fb
cmp dword [ebp - 0x368], 0
jge 0x42a6bb
or eax, 0xffffffff
jmp 0x42a804
cmp dword [ebp - 0x368], 0
jne 0x42a6cb
xor eax, eax
jmp 0x42a804
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x360], 0
jmp 0x42a6f0
mov edx, dword [ebp - 0x360]
add edx, 1
mov dword [ebp - 0x360], edx
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp + 0xc]
jae 0x42a7fe
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 0x42a720
jmp 0x42a6e1
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 0x42a75e
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 0x42a79a
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 0x42a7d8
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 0x42a7f9
mov eax, dword [ebp - 0x368]
add eax, 1
mov dword [ebp - 0x368], eax
jmp 0x42a6e1
mov eax, dword [ebp - 0x368]
push edx
mov ecx, ebp
push eax
lea edx, [0x42a834]
call fcn.00485bbb
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004854a8
add esp, 0x3a8
cmp ebp, esp
call fcn.00485c0f
mov esp, ebp
pop ebp
ret