Function at 0x10154070
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017c09e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3a4
mov dword [ebp - 0x3ac], ecx
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], 0xffffffff
jne 0x101540ca
push 0
lea ecx, [ebp - 0x39c]
call fcn.10157d60
push 0x101c1134
lea edx, [ebp - 0x39c]
push edx
call fcn.100bcb39
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x33c], 0
mov eax, dword [ebp + 0xc]
and eax, 1
je 0x1015416f
mov dword [ebp - 0x340], 0
jmp 0x1015410b
mov ecx, dword [ebp - 0x340]
add ecx, 1
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x340]
cmp edx, dword [ebp - 0x22c]
jae 0x10154132
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp + eax*4 - 0x228]
cmp ecx, dword [ebp - 0x120]
jne 0x10154130
jmp 0x10154132
jmp 0x101540fc
mov edx, dword [ebp - 0x340]
cmp edx, dword [ebp - 0x22c]
jne 0x1015416b
cmp dword [ebp - 0x22c], 0x40
jae 0x1015416b
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x120]
mov dword [ebp + eax*4 - 0x228], ecx
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
xor eax, eax
jne 0x101540f0
mov ecx, dword [ebp + 0xc]
and ecx, 2
je 0x101541f6
mov dword [ebp - 0x344], 0
jmp 0x10154192
mov edx, dword [ebp - 0x344]
add edx, 1
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x344]
cmp eax, dword [ebp - 0x11c]
jae 0x101541b9
mov ecx, dword [ebp - 0x344]
mov edx, dword [ebp + ecx*4 - 0x118]
cmp edx, dword [ebp - 0x120]
jne 0x101541b7
jmp 0x101541b9
jmp 0x10154183
mov eax, dword [ebp - 0x344]
cmp eax, dword [ebp - 0x11c]
jne 0x101541f2
cmp dword [ebp - 0x11c], 0x40
jae 0x101541f2
mov ecx, dword [ebp - 0x344]
mov edx, dword [ebp - 0x120]
mov dword [ebp + ecx*4 - 0x118], edx
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x11c], eax
xor ecx, ecx
jne 0x10154177
mov edx, dword [ebp + 0xc]
and edx, 4
je 0x1015427d
mov dword [ebp - 0x348], 0
jmp 0x10154219
mov eax, dword [ebp - 0x348]
add eax, 1
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0x348]
cmp ecx, dword [ebp - 0x33c]
jae 0x10154240
mov edx, dword [ebp - 0x348]
mov eax, dword [ebp + edx*4 - 0x338]
cmp eax, dword [ebp - 0x120]
jne 0x1015423e
jmp 0x10154240
jmp 0x1015420a
mov ecx, dword [ebp - 0x348]
cmp ecx, dword [ebp - 0x33c]
jne 0x10154279
cmp dword [ebp - 0x33c], 0x40
jae 0x10154279
mov edx, dword [ebp - 0x348]
mov eax, dword [ebp - 0x120]
mov dword [ebp + edx*4 - 0x338], eax
mov ecx, dword [ebp - 0x33c]
add ecx, 1
mov dword [ebp - 0x33c], ecx
xor edx, edx
jne 0x101541fe
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x234]
call fcn.10101110
mov dword [ebp - 4], 0
mov ecx, dword [0x1018cf9c]
push ecx
mov edx, dword [0x1018cf98]
push edx
mov eax, dword [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0x234]
push ecx
call fcn.100bda10
mov dword [ebp - 0x350], eax
push 0
push 0xf4240
mov edx, dword [ebp - 0x230]
push edx
mov eax, dword [ebp - 0x234]
push eax
call fcn.100c0cc0
mov dword [ebp - 0x34c], eax
lea ecx, [ebp - 0x35c]
call fcn.100e5bc0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x350]
push ecx
lea edx, [ebp - 0x33c]
push edx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x120]
add edx, 1
push edx
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10154403
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x10154403
lea ecx, [ebp - 0x364]
call fcn.100e5bc0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x364]
sub eax, dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x360]
sbb ecx, dword [ebp - 0x358]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x3a4]
push edx
mov eax, dword [ebp - 0x3a8]
push eax
lea ecx, [ebp - 0x36c]
call fcn.10101030
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x368]
cmp ecx, dword [ebp - 0x230]
jg 0x101543ad
jl 0x101543a1
mov edx, dword [ebp - 0x36c]
cmp edx, dword [ebp - 0x234]
jae 0x101543ad
mov dword [ebp - 0x3b0], 1
jmp 0x101543b7
mov dword [ebp - 0x3b0], 0
movzx eax, byte [ebp - 0x3b0]
test eax, eax
je 0x101543d6
lea ecx, [ebp - 0x36c]
push ecx
lea ecx, [ebp - 0x234]
call fcn.10101330
jmp 0x101543e5
push 0
push 0
lea ecx, [ebp - 0x234]
call fcn.10101160
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x36c]
call fcn.10101130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x364]
call fcn.100e5c20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x35c]
call fcn.100e5c20
cmp dword [ebp - 0x10], 0
jge 0x10154429
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x10154293
cmp dword [ebp - 0x10], 0
jge 0x10154434
call fcn.10155040
xor edx, edx
cmp dword [ebp - 0x10], 0
setg dl
mov byte [ebp - 0x39d], dl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
call fcn.10101130
mov al, byte [ebp - 0x39d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8