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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov edi, dword [ebp + 8]
mov eax, dword [0x521014]
xor eax, ebp
mov dword [esp + 0x78], eax
xor eax, eax
dec eax
lea esi, [esp + 0x10]
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x50], xmm0
movdqa xmmword [esi + 0x40], xmm0
movdqa xmmword [esi + 0x30], xmm0
movdqa xmmword [esi + 0x20], xmm0
movdqa xmmword [esi + 0x10], xmm0
movdqa xmmword [esi], xmm0
mov ecx, esi
call fcn.004d3660
mov ecx, esi
push dword [ebp + 0xc]
push edi
call fcn.004d3980
test al, al
je 0x42cc48
mov edi, dword [ebp + 0x20]
test edi, edi
je 0x42cb39
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], 0
jne 0x42cb39
mov eax, dword [edi]
xor esi, esi
mov ecx, edi
push esi
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
push esi
push 0xffffffffffffffff
call dword [eax + 0xc]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x42cb66
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x42cd10
lea ecx, [esp + 0x10]
call fcn.004d3df0
test eax, eax
je 0x42cc88
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [esp + 0x54]
test esi, esi
je 0x42cb4b
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 4]
mov ecx, dword [ebp + 0x20]
test ecx, ecx
je 0x42cbcd
movd xmm0, edi
movq xmm2, qword [0x504c70]
por xmm0, xmm2
subsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movd xmm1, esi
por xmm1, xmm2
subsd xmm1, xmm2
cvtsd2ss xmm1, xmm1
divss xmm0, xmm1
mov eax, dword [ecx]
sub esp, 4
movss dword [esp], xmm0
call dword [eax + 4]
test edi, edi
je 0x42cb4b
sub ebx, dword [esp + 0xc]
mov eax, ebx
sub eax, dword [esp + 8]
cmp eax, 0xea60
jb 0x42cb4b
sub esi, edi
mov eax, esi
mul ebx
xor esi, esi
push esi
push edi
push edx
push eax
call fcn.004b5000
push esi
push 0x3e8
push edx
push eax
call fcn.004b5000
mov dword [esp + 8], ebx
cmp dword [ebp + 0x20], 0
je 0x42cb4b
mov esi, eax
mov eax, ebx
mov ecx, 0x10624dd3
mul ecx
shr edx, 6
add edx, esi
cmp edx, 0x79
mov edi, dword [ebp + 0x20]
jl 0x42cc35
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov eax, dword [edi]
mov ecx, edi
push 1
push esi
call dword [eax + 0xc]
mov dword [esp + 8], ebx
jmp 0x42cb4b
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x42cd10
lea edi, [esp + 0x2c]
mov eax, dword [edi]
mov dword [esi], eax
cmp esi, edi
je 0x42cce4
lea ecx, [esi + 4]
lea eax, [esp + 0x30]
cmp byte [ecx + 0xb], 0
movzx edx, byte [eax + 0xb]
js 0x42ccd1
test dl, dl
js 0x42ccc2
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
jmp 0x42cce4
lea ecx, [esp + 0x10]
push 0
call fcn.00448c60
mov ebx, eax
test al, al
je 0x42cd12
mov esi, dword [ebp + 0x20]
test esi, esi
mov edi, dword [ebp + 0x10]
je 0x42cd3f
mov eax, dword [esi]
mov ecx, esi
push 0x3f800000
call dword [eax + 4]
mov eax, dword [esi]
mov ecx, esi
push 2
push 0
call dword [eax + 0xc]
mov bl, 1
jmp 0x42cd3f
push dword [esp + 0x34]
push dword [esp + 0x34]
call fcn.0046cb90
jmp 0x42cce4
test dl, dl
jns 0x42ccdd
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.0046ca90
cmp esi, edi
je 0x42cd10
add esi, 0x10
lea eax, [esp + 0x3c]
cmp byte [esi + 0xb], 0
movzx edx, byte [eax + 0xb]
mov edi, dword [ebp + 0x10]
js 0x42cd28
test dl, dl
js 0x42cd17
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
movq xmm0, qword [eax]
movq qword [esi], xmm0
jmp 0x42cd3d
xor ebx, ebx
mov edi, dword [ebp + 0x10]
jmp 0x42cd3f
mov ecx, esi
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.0046cb90
jmp 0x42cd3d
test dl, dl
jns 0x42cd34
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ecx, esi
push edx
push eax
call fcn.0046ca90
xor ebx, ebx
mov esi, dword [ebp + 0x14]
test edi, edi
je 0x42cd80
lea eax, [esp + 0x20]
cmp eax, edi
je 0x42cd80
cmp byte [edi + 0xb], 0
movzx edx, byte [esp + 0x2b]
js 0x42cde5
test dl, dl
js 0x42cd71
mov ecx, dword [eax + 8]
mov dword [edi + 8], ecx
movq xmm0, qword [eax]
movq qword [edi], xmm0
jmp 0x42cd80
mov ecx, edi
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.00440160
mov edi, dword [ebp + 0x18]
test esi, esi
je 0x42cdbd
lea eax, [esp + 0x48]
cmp eax, esi
je 0x42cdbd
cmp byte [esi + 0xb], 0
movzx edx, byte [esp + 0x53]
js 0x42cdfc
test dl, dl
js 0x42cdae
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
movq xmm0, qword [eax]
movq qword [esi], xmm0
jmp 0x42cdbd
mov ecx, esi
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.00440160
test edi, edi
je 0x42cdc7
mov eax, dword [esp + 0x54]
mov dword [edi], eax
lea ecx, [esp + 0x10]
call fcn.00448ad0
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.0048b980
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test dl, dl
jns 0x42cdf1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, edi
push edx
push eax
call fcn.004400f0
jmp 0x42cd80
test dl, dl
jns 0x42ce08
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ecx, esi
push edx
push eax
call fcn.004400f0
jmp 0x42cdbd