Function at 0x10002ef0
Capabilities:
Get socket status

Disassembly:
mov eax, 0x603c
call fcn.10066330
mov eax, dword [0x1013dd8c]
xor eax, esp
mov dword [esp + 0x6034], eax
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], 0
mov ebp, 1
mov dword [esp + 0x1c], 0
cmp byte [edi + 0xc0], 0
jne 0x10003250
xor ebx, ebx
mov dword [esp + 0x28], 0
test dword [edi + 0xdc], 0x2000
mov dword [esp + 0x4038], 0
mov dword [esp + 0x2030], 0
mov dword [esp + 0x14], 0xffffffff
je 0x10002f79
call fcn.100026a0
cmp eax, ebp
jne 0x10002f79
test byte [edi + 0xdc], 4
mov eax, ebx
cmove ebp, eax
test dword [edi + 0xdc], 4
jne 0x10003020
push ecx
lea eax, [esp + 0x18]
mov ecx, edi
push eax
lea eax, [esp + 0x2038]
push eax
lea eax, [esp + 0x4044]
push eax
lea edx, [esp + 0x38]
call fcn.100016a0
add esp, 0x10
test eax, eax
jne 0x10002fc4
push str.Could_not_obtain_daemon_fdsets
push edi
call fcn.100085c0
add esp, 8
mov ebx, 1
mov ecx, dword [edi + 0xb8]
cmp ecx, 0xffffffff
je 0x100030af
push ecx
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x30]
call fcn.100082b0
add esp, 8
test eax, eax
jne 0x100030af
mov eax, dword [edi + 0xb0]
cmp eax, 0xffffffff
je 0x100030af
cmp byte [edi + 0xc1], 0
jne 0x100030af
mov edx, dword [esp + 0x28]
xor ecx, ecx
test edx, edx
je 0x10003080
cmp dword [esp + ecx*4 + 0x2c], eax
je 0x10003060
inc ecx
cmp ecx, edx
jb 0x10003013
jmp 0x10003080
mov ecx, dword [edi + 0xb0]
cmp ecx, 0xffffffff
je 0x10002fc4
cmp byte [edi + 0xc1], bl
jne 0x10002fc4
push ecx
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x30]
call fcn.100082b0
add esp, 8
test eax, eax
jne 0x10002fc4
push str.Could_not_add_listen_socket_to_fdset
push edi
call fcn.100085c0
add esp, 8
jmp 0x10003250
lea eax, [edx - 1]
cmp ecx, eax
jae 0x1000307b
mov eax, dword [esp + ecx*4 + 0x30]
mov dword [esp + ecx*4 + 0x2c], eax
inc ecx
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
cmp ecx, eax
jb 0x10003067
dec edx
mov dword [esp + 0x28], edx
push ecx
mov ecx, dword [edi + 0xb8]
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x30]
call fcn.100082b0
add esp, 8
test eax, eax
jne 0x100030af
push str.Could_not_add_control_inter_thread_communication_channel_FD_to_fdset
push edi
call fcn.100085c0
add esp, 8
mov ebx, 1
mov edx, dword [edi + 0xb0]
cmp edx, 0xffffffff
je 0x10003116
cmp dword [edi + 0xb8], 0xffffffff
je 0x10003116
mov eax, dword [edi + 0xc8]
cmp eax, dword [edi + 0xcc]
je 0x100030da
cmp byte [edi + 0xc2], 0
je 0x10003116
xor ecx, ecx
cmp dword [esp + 0x28], ecx
jbe 0x10003116
cmp dword [esp + ecx*4 + 0x2c], edx
je 0x100030f1
inc ecx
cmp ecx, dword [esp + 0x28]
jb 0x100030e2
jmp 0x10003116
mov eax, dword [esp + 0x28]
dec eax
cmp ecx, eax
jae 0x10003112
nop word [eax + eax]
mov eax, dword [esp + ecx*4 + 0x30]
mov dword [esp + ecx*4 + 0x2c], eax
inc ecx
mov eax, dword [esp + 0x28]
dec eax
cmp ecx, eax
jb 0x10003100
dec dword [esp + 0x28]
xor eax, eax
xor esi, esi
cmp ebx, 1
cmovne eax, ebp
test eax, eax
jne 0x1000312e
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], esi
jmp 0x10003188
test dword [edi + 0xdc], 4
jne 0x1000318c
lea edx, [esp + 0x20]
mov ecx, edi
call fcn.10002c60
cmp eax, 1
jne 0x1000318c
mov esi, dword [esp + 0x20]
push 0
push 0x3e8
push dword [esp + 0x2c]
push esi
call fcn.100de880
imul ecx, eax, 0x3e8
sub esi, ecx
imul ecx, esi, 0x3e8
mov dword [esp + 0x1c], ecx
test edx, edx
jne 0x10003180
mov dword [esp + 0x18], eax
cmp eax, 0x7fffffff
jbe 0x10003188
mov dword [esp + 0x18], getpeername
lea esi, [esp + 0x18]
cmp dword [esp + 0x28], 0
jne 0x100031d4
cmp dword [esp + 0x4038], 0
jne 0x100031d4
cmp dword [esp + 0x2030], 0
jne 0x100031d4
test esi, esi
jne 0x100031af
xor eax, eax
jmp 0x100031f2
mov eax, 0x10624dd3
imul dword [esi + 4]
imul eax, dword [esi], 0x3e8
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x100031f2
push esi
lea eax, [esp + 0x2034]
push eax
lea eax, [esp + 0x4040]
push eax
lea eax, [esp + 0x34]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
cmp byte [edi + 0xc0], 0
jne 0x10003250
test eax, eax
jns 0x1000322d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x10003215
xor eax, eax
test ebx, ebx
sete al
jmp 0x10003252
mov ecx, eax
call fcn.10007c10
push eax
push str.select_failed:__s_n
push edi
call fcn.100085c0
add esp, 0xc
jmp 0x10003250
lea eax, [esp + 0x2030]
mov ecx, edi
push eax
lea eax, [esp + 0x403c]
push eax
lea edx, [esp + 0x30]
call fcn.10002df0
add esp, 8
cmp eax, 1
je 0x1000320c
xor eax, eax
mov ecx, dword [esp + 0x6044]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10065961
add esp, 0x603c
ret