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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
mov ebx, edx
push edi
mov edi, ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edi
lea eax, [ebx + ebx*4]
shl eax, 4
mov ecx, dword [edi]
lea esi, [edi + 0x178]
add esi, eax
mov dword [esp + 0x10], ecx
mov eax, dword [edi + ebx*4 + 0x154]
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], eax
cmp dword [esi + 4], 2
jne 0x47e2f0
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 8], 0
jne 0x47e3c4
mov esi, dword [ecx + 0x208]
xor eax, eax
mov edx, 0x493e0
test esi, esi
mov dword [esp + 0x14], edx
mov edx, 1
cmovg eax, edx
mov edx, dword [ecx + 0x20c]
test edx, edx
jle 0x47e322
or eax, 2
dec eax
je 0x47e33e
dec eax
je 0x47e338
dec eax
jne 0x47e342
cmp esi, edx
mov eax, edx
cmovl eax, esi
mov dword [esp + 0x14], eax
jmp 0x47e342
mov dword [esp + 0x14], edx
jmp 0x47e342
mov dword [esp + 0x14], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [esp + 0x10]
mov esi, eax
mov eax, 0x10624dd3
mul esi
mov eax, 0x10624dd3
mov edi, edx
shr edi, 6
imul ecx, edi, 0x3e8
sub esi, ecx
imul ecx, esi, 0x3e8
mov esi, dword [ebx + 0x508]
sub esi, edi
sub ecx, dword [ebx + 0x50c]
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 0x47e5a3
test ecx, ecx
js 0x47e5a3
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.0047d850
test eax, eax
jne 0x47e5b6
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 8]
cmp eax, 1
je 0x47e3da
cmp eax, 2
je 0x47e3da
cmp eax, 3
jne 0x47e503
mov edx, dword [ecx + 0x208]
xor eax, eax
mov ecx, dword [ecx + 0x20c]
test edx, edx
mov esi, 1
mov ebx, 0x493e0
cmovg eax, esi
test ecx, ecx
jle 0x47e3fe
or eax, 2
dec eax
je 0x47e414
dec eax
je 0x47e410
dec eax
jne 0x47e416
cmp edx, ecx
mov ebx, ecx
cmovl ebx, edx
jmp 0x47e416
mov ebx, ecx
jmp 0x47e416
mov ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov eax, 0x10624dd3
mul esi
mov eax, dword [esp + 0x10]
mov edi, edx
shr edi, 6
imul ecx, edi, 0x3e8
sub esi, ecx
imul ecx, esi, 0x3e8
mov esi, dword [eax + 0x508]
sub esi, edi
sub ecx, dword [eax + 0x50c]
mov eax, 0x10624dd3
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 0x47e59f
test ebx, ebx
js 0x47e59f
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 8]
cmp edx, 2
je 0x47e484
cmp edx, 3
jne 0x47e4ba
or eax, 0xffffffff
cmp edx, 3
cmove eax, dword [esp + 0x24]
or ecx, 0xffffffff
cmp edx, 2
cmove ecx, dword [esp + 0x24]
xor edx, edx
cmp byte [ebp + 8], dl
cmovne ebx, edx
push ebx
push eax
call fcn.0046c000
add esp, 8
test eax, eax
js 0x47e57a
je 0x47e565
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.0047dc10
test eax, eax
jne 0x47e5b6
mov ecx, dword [esp + 0x10]
cmp byte [ebp + 8], al
je 0x47e3c4
mov ecx, dword [esi + 8]
cmp ecx, 1
je 0x47e5b6
cmp ecx, 2
je 0x47e5b6
cmp ecx, 3
je 0x47e5b6
jmp 0x47e3c0
cmp eax, 4
jne 0x47e519
mov edx, ebx
mov ecx, edi
call fcn.0047e130
test eax, eax
jne 0x47e5b6
cmp dword [esi + 8], 5
mov eax, dword [ebp + 0xc]
jne 0x47e552
mov dword [esi + 4], 2
mov dword [edi + ebx*4 + 0x168], 0x47e930
mov dword [edi + ebx*4 + 0x170], 0x47e5c0
mov byte [eax], 1
xor eax, eax
mov dword [esi + 8], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [eax], 0
xor eax, eax
mov dword [esi + 8], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 8], 0
je 0x47e59f
mov eax, dword [ebp + 0xc]
mov byte [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.0046c410
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.0046c410
add esp, 8
mov eax, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret