Function at 0x1001d911
Capabilities:
Check for time delay via gettickcount
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x328
mov eax, dword [0x10035448]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor esi, esi
mov dword [ebp - 0x31c], esi
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x314], esi
cmp dword [ebp + 0x18], esi
jl 0x1001d951
mov eax, accept
jg 0x1001d94b
cmp dword [ebp + 0x14], eax
jb 0x1001d951
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], esi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp ebx, 0xffffffff
jne 0x1001d975
cmp ecx, ebx
jne 0x1001d975
cmp edx, ebx
jne 0x1001d975
push dword [ebp + 0x14]
call fcn.1001d8e9
pop ecx
jmp 0x1001dc51
cmp dword [ebp + 0x18], esi
jl 0x1001d9a3
jg 0x1001d981
cmp dword [ebp + 0x14], esi
jbe 0x1001d9a3
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x314], eax
call fcn.10026de2
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x318], edx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x31c], eax
xor esi, esi
push edi
or edi, 0xffffffff
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x20c], esi
cmp ebx, 0xffffffff
je 0x1001d9d5
xor esi, esi
inc esi
mov dword [ebp - 0x208], ebx
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x108], esi
mov edi, ebx
cmp ecx, 0xffffffff
je 0x1001da4b
xor eax, eax
test esi, esi
je 0x1001d9ee
cmp dword [ebp + eax*4 - 0x208], ecx
je 0x1001d9ee
inc eax
cmp eax, esi
jb 0x1001d9e0
cmp eax, esi
jne 0x1001da0b
cmp esi, 0x40
jae 0x1001da0b
mov dword [ebp + eax*4 - 0x208], ecx
mov esi, dword [ebp - 0x20c]
inc esi
mov dword [ebp - 0x20c], esi
xor eax, eax
cmp eax, dword [ebp - 0x108]
jae 0x1001da2d
cmp dword [ebp + eax*4 - 0x104], ecx
je 0x1001da27
inc eax
cmp eax, dword [ebp - 0x108]
jb 0x1001da15
cmp eax, dword [ebp - 0x108]
jne 0x1001da45
cmp dword [ebp - 0x108], 0x40
jae 0x1001da45
mov dword [ebp + eax*4 - 0x104], ecx
inc dword [ebp - 0x108]
cmp ecx, edi
jbe 0x1001da4b
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0x310], ecx
cmp edx, 0xffffffff
je 0x1001daa5
inc ecx
xor eax, eax
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x310], ecx
cmp eax, dword [ebp - 0x108]
jae 0x1001da87
cmp dword [ebp + eax*4 - 0x104], edx
je 0x1001da81
inc eax
cmp eax, dword [ebp - 0x108]
jb 0x1001da6f
cmp eax, dword [ebp - 0x108]
jne 0x1001da9f
cmp dword [ebp - 0x108], 0x40
jae 0x1001da9f
mov dword [ebp + eax*4 - 0x104], edx
inc dword [ebp - 0x108]
cmp edx, edi
jbe 0x1001daa5
mov edi, edx
xor eax, eax
cmp dword [ebp + 0x18], eax
jg 0x1001dab3
jl 0x1001dab9
cmp dword [ebp + 0x14], eax
jb 0x1001dab9
lea eax, [ebp - 0x328]
mov dword [ebp - 0x320], eax
inc edi
jmp 0x1001dace
mov esi, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x310]
cmp dword [ebp + 0x18], 0
jl 0x1001db01
jg 0x1001dadc
cmp dword [ebp + 0x14], 0
jbe 0x1001db01
mov eax, dword [ebp - 0x314]
cdq
mov ebx, 0x3e8
idiv ebx
mov ebx, dword [ebp + 8]
imul edx, edx, 0x3e8
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x324], edx
jmp 0x1001db15
mov eax, dword [ebp + 0x14]
or eax, dword [ebp + 0x18]
jne 0x1001db15
and dword [ebp - 0x328], eax
and dword [ebp - 0x324], eax
push dword [ebp - 0x320]
neg ecx
lea eax, [ebp - 0x108]
push eax
sbb ecx, ecx
lea eax, [ebp - 0x310]
and ecx, eax
neg esi
sbb esi, esi
lea eax, [ebp - 0x20c]
push ecx
and esi, eax
push esi
push edi
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x1001dba8
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x1001db62
cmp dword [0x10040030], 0
jne 0x1001dbac
cmp eax, 0x2714
jne 0x1001dbac
cmp dword [ebp + 0x18], 0
jl 0x1001dac2
jg 0x1001db78
cmp dword [ebp + 0x14], 0
jbe 0x1001dac2
push dword [ebp - 0x318]
push dword [ebp - 0x31c]
call fcn.10026de2
push edx
push eax
call fcn.10026df8
mov ecx, dword [ebp + 0x14]
sub ecx, eax
add esp, 0x10
mov dword [ebp - 0x314], ecx
test ecx, ecx
jg 0x1001dac2
xor eax, eax
test eax, eax
jns 0x1001dbb4
or eax, 0xffffffff
jmp 0x1001dc50
jne 0x1001dbbd
xor eax, eax
jmp 0x1001dc50
xor esi, esi
cmp ebx, 0xffffffff
je 0x1001dbea
lea eax, [ebp - 0x20c]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1001dbd6
inc esi
lea eax, [ebp - 0x108]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1001dbea
or esi, 4
cmp dword [ebp + 0xc], 0xffffffff
je 0x1001dc1c
lea eax, [ebp - 0x20c]
push eax
push dword [ebp + 0xc]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1001dc06
or esi, 8
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 0xc]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1001dc1c
or esi, 4
cmp dword [ebp + 0x10], 0xffffffff
je 0x1001dc4e
lea eax, [ebp - 0x310]
push eax
push dword [ebp + 0x10]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1001dc38
or esi, 2
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 0x10]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1001dc4e
or esi, 4
mov eax, esi
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.10033b66
leave
ret