Function at 0x4c7200
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, edx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x1c], ebx
lea eax, [ebx + ebx*8]
mov dword [esp + 0x20], edi
cmp dword [edi + eax*8 + 0x180], 2
lea esi, [edi + eax*8]
mov dword [esp + 0x18], esi
mov edx, dword [edi]
mov eax, dword [edi + ebx*4 + 0x154]
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], eax
jne 0x4c724f
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x1a0], 0
jne 0x4c7330
mov ecx, dword [edx + 0x220]
mov eax, 0x493e0
mov edx, dword [edx + 0x224]
mov dword [esp + 0x14], eax
xor eax, eax
test ecx, ecx
setg al
test edx, edx
jle 0x4c727f
or eax, 2
sub eax, 1
je 0x4c72a1
sub eax, 1
je 0x4c729b
sub eax, 1
jne 0x4c72a5
cmp ecx, edx
mov eax, ecx
cmovge eax, edx
mov dword [esp + 0x14], eax
jmp 0x4c72a5
mov dword [esp + 0x14], edx
jmp 0x4c72a5
mov dword [esp + 0x14], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov esi, dword [ebx + 0x570]
mov edi, edx
shr edi, 6
imul eax, edi, 0x3e8
sub esi, edi
sub ecx, eax
mov eax, 0x10624dd3
imul ecx, ecx, 0x3e8
sub ecx, dword [ebx + 0x574]
imul ecx
imul eax, esi, 0x3e8
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov ecx, dword [esp + 0x14]
add ecx, eax
je 0x4c751d
test ecx, ecx
js 0x4c751d
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.004c6740
test eax, eax
jne 0x4c7530
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
nop word [eax + eax]
mov eax, dword [esi + 0x1a0]
cmp eax, 1
je 0x4c7349
cmp eax, 2
je 0x4c7349
cmp eax, 3
jne 0x4c747e
mov ecx, dword [edx + 0x220]
xor eax, eax
mov edx, dword [edx + 0x224]
test ecx, ecx
mov ebx, 0x493e0
setg al
test edx, edx
jle 0x4c7368
or eax, 2
sub eax, 1
je 0x4c7384
sub eax, 1
je 0x4c7380
sub eax, 1
jne 0x4c7386
cmp ecx, edx
mov ebx, ecx
cmovge ebx, edx
jmp 0x4c7386
mov ebx, edx
jmp 0x4c7386
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov edi, edx
mov edx, dword [esp + 0x10]
shr edi, 6
imul eax, edi, 0x3e8
mov esi, dword [edx + 0x570]
sub esi, edi
sub ecx, eax
mov eax, 0x10624dd3
imul ecx, ecx, 0x3e8
sub ecx, dword [edx + 0x574]
imul ecx
imul eax, esi, 0x3e8
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
add ebx, eax
je 0x4c7519
test ebx, ebx
js 0x4c7519
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 0x1a0]
cmp edx, 2
je 0x4c73f7
cmp edx, 3
jne 0x4c7432
mov edi, dword [ebp + 8]
xor eax, eax
test edi, edi
cmovne ebx, eax
or eax, 0xffffffff
cmp edx, 3
push ebx
cmove eax, dword [esp + 0x28]
or ecx, 0xffffffff
cmp edx, 2
push eax
cmove ecx, dword [esp + 0x2c]
or edx, 0xffffffff
call fcn.00492e70
add esp, 8
test eax, eax
js 0x4c74f4
je 0x4c74de
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.004c6ac0
test eax, eax
jne 0x4c7530
mov edx, dword [esp + 0x10]
cmp dword [ebp + 8], eax
je 0x4c7330
mov ecx, dword [esi + 0x1a0]
cmp ecx, 1
je 0x4c7530
cmp ecx, 2
je 0x4c7530
cmp ecx, 3
je 0x4c7530
jmp 0x4c7330
cmp eax, 4
jne 0x4c7494
mov edx, ebx
mov ecx, edi
call fcn.004c6f60
test eax, eax
jne 0x4c7530
cmp dword [esi + 0x1a0], 5
jne 0x4c74c4
mov dword [esi + 0x180], 2
mov ecx, 1
mov dword [edi + ebx*4 + 0x16c], fcn.004c78c0
mov dword [edi + ebx*4 + 0x174], 0x4c7540
jmp 0x4c74c6
xor ecx, ecx
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
xor eax, eax
mov dword [esi + 0x1a0], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x4c7519
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, dword [esp + 0x10]
push eax
push str.select_poll_on_SSL_TLS_socket__errno:__d
push ebx
call fcn.004909c0
add esp, 0xc
mov eax, 0x23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x10]
push str.SSL_TLS_connection_timeout
push ebx
call fcn.004909c0
add esp, 8
mov eax, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret