Function at 0x4ca920
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 0x4ca96f
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 0x4caa50
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 0x4ca99f
or eax, 2
sub eax, 1
je 0x4ca9c1
sub eax, 1
je 0x4ca9bb
sub eax, 1
jne 0x4ca9c5
cmp ecx, edx
mov eax, ecx
cmovge eax, edx
mov dword [esp + 0x14], eax
jmp 0x4ca9c5
mov dword [esp + 0x14], edx
jmp 0x4ca9c5
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 0x4cac3d
test ecx, ecx
js 0x4cac3d
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.004c9e60
test eax, eax
jne 0x4cac50
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
nop word [eax + eax]
mov eax, dword [esi + 0x1a0]
cmp eax, 1
je 0x4caa69
cmp eax, 2
je 0x4caa69
cmp eax, 3
jne 0x4cab9e
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 0x4caa88
or eax, 2
sub eax, 1
je 0x4caaa4
sub eax, 1
je 0x4caaa0
sub eax, 1
jne 0x4caaa6
cmp ecx, edx
mov ebx, ecx
cmovge ebx, edx
jmp 0x4caaa6
mov ebx, edx
jmp 0x4caaa6
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 0x4cac39
test ebx, ebx
js 0x4cac39
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 0x1a0]
cmp edx, 2
je 0x4cab17
cmp edx, 3
jne 0x4cab52
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.004965b0
add esp, 8
test eax, eax
js 0x4cac14
je 0x4cabfe
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.004ca1e0
test eax, eax
jne 0x4cac50
mov edx, dword [esp + 0x10]
cmp dword [ebp + 8], eax
je 0x4caa50
mov ecx, dword [esi + 0x1a0]
cmp ecx, 1
je 0x4cac50
cmp ecx, 2
je 0x4cac50
cmp ecx, 3
je 0x4cac50
jmp 0x4caa50
cmp eax, 4
jne 0x4cabb4
mov edx, ebx
mov ecx, edi
call fcn.004ca680
test eax, eax
jne 0x4cac50
cmp dword [esi + 0x1a0], 5
jne 0x4cabe4
mov dword [esi + 0x180], 2
mov ecx, 1
mov dword [edi + ebx*4 + 0x16c], fcn.004cafe0
mov dword [edi + ebx*4 + 0x174], 0x4cac60
jmp 0x4cabe6
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 0x4cac39
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.00494100
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.00494100
add esp, 8
mov eax, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret