Function at 0x10011089
Capabilities:
Get socket status
Read file on windows
Read pipe
Receive data
Receive data on socket

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x324
and dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x186a0
and dword [esp + 0x220], 0
and dword [esp + 0x11c], 0
and dword [esp + 0x18], 0
mov esi, ecx
xor eax, eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp], 0
mov edi, dword [ecx + 4]
xor ecx, ecx
mov dword [esp + 8], edi
cmp ebp, edi
je 0x100111b8
mov edx, dword [esi]
mov edx, dword [edx + ebp*4]
cmp dword [edx + 0x30], 0
je 0x100111b2
cmp dword [edx + 8], 3
je 0x100111b2
mov dword [esp + 0xc], ebx
xor ebx, ebx
cmp eax, ebx
je 0x10011106
mov edi, dword [esp + ebx*4 + 0x224]
cmp edi, dword [edx]
je 0x10011108
inc ebx
jmp 0x100110f4
mov ebx, eax
cmp ebx, eax
jne 0x10011129
cmp eax, 0x3f
ja 0x10011129
mov edi, dword [edx]
mov dword [esp + eax*4 + 0x224], edi
mov eax, dword [esp + 0x220]
inc eax
mov dword [esp + 0x220], eax
cmp dword [edx + 0x2c], 0
jne 0x10011174
xor ebx, ebx
cmp dword [esp], ebx
je 0x10011144
mov edi, dword [esp + ebx*4 + 0x120]
cmp edi, dword [edx]
je 0x1001114b
inc ebx
jmp 0x10011131
mov edi, dword [esp]
mov ebx, edi
jmp 0x1001114e
mov edi, dword [esp]
cmp ebx, edi
jne 0x10011174
mov ebx, edi
cmp edi, 0x3f
ja 0x10011174
mov edi, dword [edx]
mov dword [esp + ebx*4 + 0x120], edi
mov edi, dword [esp + 0x11c]
inc edi
mov dword [esp], edi
mov dword [esp + 0x11c], edi
xor ebx, ebx
cmp ecx, ebx
je 0x10011185
mov edi, dword [esp + ebx*4 + 0x1c]
cmp edi, dword [edx]
je 0x10011187
inc ebx
jmp 0x10011176
mov ebx, ecx
cmp ebx, ecx
jne 0x100111a9
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp ecx, 0x3f
ja 0x100111b1
mov edx, dword [edx]
mov dword [esp + ecx*4 + 0x1c], edx
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
jmp 0x100111b1
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
inc ebx
inc ebp
jmp 0x100110cd
test ebx, ebx
je 0x1001141b
mov eax, dword [esi + 0x10]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x18]
lea edi, [esp + 0x11c]
lea ebx, [esp + 0x220]
inc eax
push ecx
push edx
push edi
push ebx
push eax
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x10011423
mov ebp, dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
xor ebx, ebx
lea edi, [esp + 4]
mov dword [esp], eax
mov eax, dword [esi + 4]
cmp ebx, eax
jae 0x100112cd
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
cmp dword [eax + 0x30], 0
je 0x100112c7
cmp dword [eax + 8], 3
jne 0x100112c7
push 0
push edi
push 0
push 0
push 0
push dword [eax + 4]
call ebp
test eax, eax
je 0x10011249
cmp dword [esp + 4], 0
je 0x100112c7
mov ecx, esi
mov edx, ebx
call fcn.1001143b
jmp 0x100112c7
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
mov ebp, dword [eax]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esi]
cmp eax, 0x6d
mov ecx, dword [ecx + ebx*4]
jne 0x1001127e
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x100112a9
push dword [ecx + 0x34]
push ebp
push esi
call eax
add esp, 0xc
mov ecx, esi
mov edx, ebp
push eax
call fcn.100117e1
pop eax
jmp 0x100112c1
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x100112b4
mov ecx, dword [ecx]
call fcn.1001185f
mov ecx, dword [esi]
mov ecx, dword [ecx + ebx*4]
push dword [ecx + 0x34]
push eax
push ebp
push esi
call edi
add esp, 0x10
mov ecx, esi
mov edx, ebp
push eax
call fcn.100117e1
pop eax
jmp 0x100112bd
mov ecx, esi
mov edx, ebp
call fcn.1001107b
jmp 0x100112c1
mov ecx, esi
mov edx, ebp
call fcn.1001107b
lea edi, [esp + 4]
mov ebp, dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
inc ebx
jmp 0x100111fd
cmp dword [esp], 0
je 0x100113dd
xor edi, edi
cmp edi, eax
jae 0x10011410
mov eax, dword [esi]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0x30], 0
je 0x10011333
lea ecx, [esp + 0x220]
push ecx
push dword [eax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x10011333
mov eax, dword [esi]
mov ecx, dword [eax + edi*4]
cmp dword [ecx + 8], 2
jne 0x1001132a
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x10011333
mov ebx, dword [ecx]
push dword [ecx + 0x34]
push ebx
push esi
call eax
add esp, 0xc
mov ecx, esi
mov edx, ebx
push eax
call fcn.100117e1
pop eax
jmp 0x10011333
mov ecx, esi
mov edx, edi
call fcn.1001143b
mov eax, dword [esi]
mov ecx, dword [eax + edi*4]
cmp dword [ecx + 0x30], 0
je 0x10011380
lea eax, [esp + 0x11c]
push eax
push dword [ecx]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
mov eax, dword [esi]
je 0x10011380
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x10011379
mov ebx, dword [ecx]
push dword [ecx + 0x34]
push ebx
push esi
call edx
add esp, 0xc
mov ecx, esi
mov edx, ebx
push eax
call fcn.100117e1
pop eax
mov eax, dword [esi]
mov ecx, dword [eax + edi*4]
mov dword [ecx + 0x2c], 1
mov eax, dword [eax + edi*4]
cmp dword [eax + 0x30], 0
je 0x100113d4
lea ecx, [esp + 0x18]
push ecx
push dword [eax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x100113d4
mov eax, dword [esi]
mov eax, dword [eax + edi*4]
mov ebp, dword [eax + 0x18]
mov ebx, dword [eax]
test ebp, ebp
je 0x100113cb
mov ecx, ebx
call fcn.1001185f
mov ecx, dword [esi]
mov ecx, dword [ecx + edi*4]
push dword [ecx + 0x34]
push eax
push ebx
push esi
call ebp
add esp, 0x10
mov ecx, esi
mov edx, ebx
push eax
call fcn.100117e1
pop eax
jmp 0x100113d4
mov ecx, esi
mov edx, ebx
call fcn.1001107b
mov eax, dword [esi + 4]
inc edi
jmp 0x100112d9
mov ecx, dword [esi + 0xc]
push 0x32
pop ebx
mov eax, ecx
xor edx, edx
add ecx, 0x64
div ebx
mov edi, eax
mov eax, ecx
xor edx, edx
div ebx
cmp edi, eax
je 0x1001140d
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1001140d
push dword [esi + 0x18]
push esi
call eax
pop ecx
pop edx
mov ecx, dword [esi + 0xc]
add ecx, 0x64
mov dword [esi + 0xc], ecx
add esp, 0x324
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x20
push 0x10017c40
call fcn.100129b9
add esp, 0xc
mov ecx, eax
call fcn.10011c96