Function at 0x452a40
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 0x452a90
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 0x452b64
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 0x452ac2
or eax, 2
dec eax
je 0x452ade
dec eax
je 0x452ad8
dec eax
jne 0x452ae2
cmp esi, edx
mov eax, edx
cmovl eax, esi
mov dword [esp + 0x14], eax
jmp 0x452ae2
mov dword [esp + 0x14], edx
jmp 0x452ae2
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 0x452d43
test ecx, ecx
js 0x452d43
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.00451ff0
test eax, eax
jne 0x452d56
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 8]
cmp eax, 1
je 0x452b7a
cmp eax, 2
je 0x452b7a
cmp eax, 3
jne 0x452ca3
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 0x452b9e
or eax, 2
dec eax
je 0x452bb4
dec eax
je 0x452bb0
dec eax
jne 0x452bb6
cmp edx, ecx
mov ebx, ecx
cmovl ebx, edx
jmp 0x452bb6
mov ebx, ecx
jmp 0x452bb6
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 0x452d3f
test ebx, ebx
js 0x452d3f
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 8]
cmp edx, 2
je 0x452c24
cmp edx, 3
jne 0x452c5a
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.004402b0
add esp, 8
test eax, eax
js 0x452d1a
je 0x452d05
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.004523b0
test eax, eax
jne 0x452d56
mov ecx, dword [esp + 0x10]
cmp byte [ebp + 8], al
je 0x452b64
mov ecx, dword [esi + 8]
cmp ecx, 1
je 0x452d56
cmp ecx, 2
je 0x452d56
cmp ecx, 3
je 0x452d56
jmp 0x452b60
cmp eax, 4
jne 0x452cb9
mov edx, ebx
mov ecx, edi
call fcn.004528d0
test eax, eax
jne 0x452d56
cmp dword [esi + 8], 5
mov eax, dword [ebp + 0xc]
jne 0x452cf2
mov dword [esi + 4], 2
mov dword [edi + ebx*4 + 0x168], 0x4530d0
mov dword [edi + ebx*4 + 0x170], 0x452d60
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 0x452d3f
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.00440670
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.00440670
add esp, 8
mov eax, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret