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

Disassembly:
sub esp, 0x31c
push ebx
mov ebx, dword [esp + 0x324]
push ebp
mov ebp, dword [esp + 0x32c]
push esi
xor esi, esi
push edi
xor edi, edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
cmp ebx, 0xffffffff
jne 0x1003d200
cmp ebp, ebx
jne 0x1003d200
cmp dword [esp + 0x338], ebx
jne 0x1003d200
mov eax, dword [esp + 0x33c]
cmp eax, esi
je 0x1003d1f3
jge 0x1003d1ec
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x31c
ret
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x31c
ret
mov eax, dword [esp + 0x33c]
cmp eax, esi
jle 0x1003d21a
mov edi, eax
call fcn.10029ee0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
xor ecx, ecx
xor edx, edx
or esi, 0xffffffff
mov dword [esp + 0x20], ecx
mov dword [esp + 0x124], edx
cmp ebx, 0xffffffff
je 0x1003d250
mov edx, 1
mov ecx, edx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x124], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ecx
mov esi, ebx
cmp ebp, 0xffffffff
je 0x1003d2b7
xor eax, eax
test edx, edx
jbe 0x1003d26e
jmp 0x1003d260
cmp dword [esp + eax*4 + 0x128], ebp
je 0x1003d26e
inc eax
cmp eax, edx
jb 0x1003d260
cmp eax, edx
jne 0x1003d285
cmp edx, 0x40
jae 0x1003d285
mov dword [esp + eax*4 + 0x128], ebp
inc dword [esp + 0x124]
xor eax, eax
test ecx, ecx
jbe 0x1003d29b
jmp 0x1003d290
cmp dword [esp + eax*4 + 0x24], ebp
je 0x1003d29b
inc eax
cmp eax, ecx
jb 0x1003d290
cmp eax, ecx
jne 0x1003d2b1
cmp ecx, 0x40
jae 0x1003d2b1
mov dword [esp + eax*4 + 0x24], ebp
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ebp, esi
jbe 0x1003d2b7
mov esi, ebp
mov edx, dword [esp + 0x338]
xor eax, eax
mov dword [esp + 0x228], eax
cmp edx, 0xffffffff
je 0x1003d304
mov dword [esp + 0x22c], edx
mov dword [esp + 0x228], 1
test ecx, ecx
jbe 0x1003d2ed
cmp dword [esp + eax*4 + 0x24], edx
je 0x1003d2ed
inc eax
cmp eax, ecx
jb 0x1003d2e2
cmp eax, ecx
jne 0x1003d2fe
cmp ecx, 0x40
jae 0x1003d2fe
mov dword [esp + eax*4 + 0x24], edx
inc dword [esp + 0x20]
cmp edx, esi
jbe 0x1003d304
mov esi, edx
xor ebx, ebx
cmp dword [esp + 0x33c], ebx
lea eax, [esp + 0x18]
setl bl
lea ebp, [esi + 1]
dec ebx
and ebx, eax
lea ebx, [ebx]
mov eax, dword [esp + 0x33c]
xor ecx, ecx
cmp eax, ecx
jle 0x1003d354
mov eax, 0x10624dd3
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0x3e8
mov ecx, edi
sub ecx, eax
imul ecx, ecx, 0x3e8
jmp 0x1003d35a
jne 0x1003d35e
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
push ebx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x230]
push eax
lea ecx, [esp + 0x130]
push ecx
push ebp
call dword [sym.imp.WS2_32.dll_select]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1003d3d4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x1003d393
cmp eax, 0x2714
jne 0x1003d3d4
cmp dword [esp + 0x33c], 0
jle 0x1003d320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.10029ee0
push edx
push eax
call fcn.10029f10
mov edi, dword [esp + 0x34c]
sub edi, eax
add esp, 0x10
test edi, edi
jg 0x1003d320
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x31c
ret
test esi, esi
jl 0x1003d1de
je 0x1003d1f3
mov edi, dword [esp + 0x330]
xor esi, esi
cmp edi, 0xffffffff
je 0x1003d419
lea ecx, [esp + 0x124]
push ecx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1003d407
mov esi, 1
lea edx, [esp + 0x20]
push edx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1003d419
or esi, 4
mov edi, dword [esp + 0x334]
cmp edi, 0xffffffff
je 0x1003d44c
lea eax, [esp + 0x124]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1003d43a
or esi, 8
lea ecx, [esp + 0x20]
push ecx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1003d44c
or esi, 4
mov edi, dword [esp + 0x338]
cmp edi, 0xffffffff
je 0x1003d47f
lea edx, [esp + 0x228]
push edx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1003d46d
or esi, 2
lea eax, [esp + 0x20]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1003d47f
or esi, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x31c
ret