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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10148
call fcn.00528110
mov eax, dword [0x5c5ebc]
xor eax, ebp
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x10148], ecx
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x110], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x10128], 0
push 0x10000
push 0
lea eax, [ebp - 0x10127]
push eax
call fcn.005281f0
add esp, 0xc
mov dword [ebp - 0x10c], 0x10000
mov ecx, dword [ebp + 8]
cmp dword [ecx], 2
jne 0x4c8708
mov edx, dword [ebp - 0x10148]
cmp dword [edx + 0x210], 0
je 0x4c8708
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10130], 0
jmp 0x4c828b
mov eax, dword [ebp - 0x10130]
add eax, 1
mov dword [ebp - 0x10130], eax
mov ecx, dword [ebp - 0x10130]
cmp ecx, dword [ebp - 0x108]
jae 0x4c82af
mov edx, dword [ebp - 0x10130]
mov eax, dword [ebp + edx*4 - 0x104]
cmp eax, dword [ebp + 0xc]
jne 0x4c82ad
jmp 0x4c82af
jmp 0x4c827c
mov ecx, dword [ebp - 0x10130]
cmp ecx, dword [ebp - 0x108]
jne 0x4c82e5
cmp dword [ebp - 0x108], 0x40
jae 0x4c82e5
mov edx, dword [ebp - 0x10130]
mov eax, dword [ebp + 0xc]
mov dword [ebp + edx*4 - 0x104], eax
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
xor edx, edx
jne 0x4c8270
mov dword [ebp - 0x10134], 0
jmp 0x4c8304
mov eax, dword [ebp - 0x10134]
add eax, 1
mov dword [ebp - 0x10134], eax
mov ecx, dword [ebp - 0x10134]
cmp ecx, dword [ebp - 0x108]
jae 0x4c8328
mov edx, dword [ebp - 0x10134]
mov eax, dword [ebp + edx*4 - 0x104]
cmp eax, dword [ebp + 0x10]
jne 0x4c8326
jmp 0x4c8328
jmp 0x4c82f5
mov ecx, dword [ebp - 0x10134]
cmp ecx, dword [ebp - 0x108]
jne 0x4c835e
cmp dword [ebp - 0x108], 0x40
jae 0x4c835e
mov edx, dword [ebp - 0x10134]
mov eax, dword [ebp + 0x10]
mov dword [ebp + edx*4 - 0x104], eax
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
xor edx, edx
jne 0x4c82e9
lea eax, [ebp - 0x114]
push eax
push 0
push 0
lea ecx, [ebp - 0x108]
push ecx
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x1012c], eax
cmp dword [ebp - 0x1012c], 0
jne 0x4c83c1
cmp dword [0x5fa5b4], 0
jg 0x4c8399
jmp 0x4c8247
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x118]
mov edx, dword [0x5fa5b4]
imul edx, edx, 0x3e8
cmp eax, edx
jbe 0x4c83bc
xor eax, eax
jmp 0x4c870d
jmp 0x4c8247
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x1012c], 0
jge 0x4c83e0
mov eax, 0xa
jmp 0x4c870d
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4c8573
mov dword [ebp - 0x10c], 0x10000
push 0
lea edx, [ebp - 0x10c]
push edx
lea eax, [ebp - 0x10128]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x10148]
call fcn.004c7cd0
test eax, eax
jne 0x4c8532
mov dword [ebp - 0x1013c], 0
mov dword [ebp - 0x10138], 4
lea edx, [ebp - 0x10138]
push edx
lea eax, [ebp - 0x1013c]
push eax
push 0x1008
push 0xffff
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.WS2_32.dll_getsockopt]
cmp dword [ebp - 0x1013c], 2
jne 0x4c846f
xor eax, eax
jmp 0x4c870d
push 1
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [ebp + 8]
cmp dword [eax], 2
jne 0x4c851f
mov ecx, dword [ebp - 0x10148]
cmp dword [ecx + 0x210], 0
je 0x4c851f
mov dword [ebp - 0x10c], 0x10000
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x10148]
call fcn.004c7850
test eax, eax
jne 0x4c84b9
jmp 0x4c851f
push 0
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x10128]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x10148]
call fcn.004c7cd0
test eax, eax
jne 0x4c84de
jmp 0x4c851f
cmp dword [0x5fa5b0], 0
je 0x4c84fd
push 1
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [0x5fa5b0]
add esp, 0xc
mov edx, dword [ebp - 0x10c]
push edx
lea eax, [ebp - 0x10128]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x10148]
call fcn.004c7f70
jmp 0x4c847b
push 1
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.WS2_32.dll_shutdown]
xor eax, eax
jmp 0x4c870d
cmp dword [0x5fa5b0], 0
je 0x4c8551
push 1
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [0x5fa5b0]
add esp, 0xc
mov edx, dword [ebp - 0x10c]
push edx
lea eax, [ebp - 0x10128]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x10148]
call fcn.004c7f70
jmp 0x4c8247
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 0x10]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4c8703
mov dword [ebp - 0x10c], 0x10000
push 0
lea ecx, [ebp - 0x10c]
push ecx
lea edx, [ebp - 0x10128]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x10148]
call fcn.004c7cd0
test eax, eax
jne 0x4c86c2
mov dword [ebp - 0x10144], 0
mov dword [ebp - 0x10140], 4
lea ecx, [ebp - 0x10140]
push ecx
lea edx, [ebp - 0x10144]
push edx
push 0x1008
push 0xffff
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.WS2_32.dll_getsockopt]
cmp dword [ebp - 0x10144], 2
jne 0x4c8602
xor eax, eax
jmp 0x4c870d
push 1
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.WS2_32.dll_shutdown]
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x4c86b2
mov eax, dword [ebp - 0x10148]
cmp dword [eax + 0x210], 0
je 0x4c86b2
mov dword [ebp - 0x10c], 0x10000
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x10148]
call fcn.004c7850
test eax, eax
jne 0x4c864c
jmp 0x4c86b2
push 0
lea edx, [ebp - 0x10c]
push edx
lea eax, [ebp - 0x10128]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x10148]
call fcn.004c7cd0
test eax, eax
jne 0x4c8671
jmp 0x4c86b2
cmp dword [0x5fa5b0], 0
je 0x4c8690
push 1
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [0x5fa5b0]
add esp, 0xc
mov ecx, dword [ebp - 0x10c]
push ecx
lea edx, [ebp - 0x10128]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x10148]
call fcn.004c7f70
jmp 0x4c860e
push 1
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.WS2_32.dll_shutdown]
xor eax, eax
jmp 0x4c870d
cmp dword [0x5fa5b0], 0
je 0x4c86e1
push 0
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [0x5fa5b0]
add esp, 0xc
mov ecx, dword [ebp - 0x10c]
push ecx
lea edx, [ebp - 0x10128]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x10148]
call fcn.004c7f70
jmp 0x4c8247
jmp 0x4c8247
mov eax, 0x10
mov ecx, dword [ebp - 0x11c]
xor ecx, ebp
call fcn.00527aad
mov esp, ebp
pop ebp
ret 0xc