Function at 0x42e7b0
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 [0x520014]
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.004d6800
mov ecx, esi
push dword [ebp + 0xc]
push edi
call fcn.004d6b20
test al, al
je 0x42e997
mov edi, dword [ebp + 0x20]
test edi, edi
je 0x42e855
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], 0
jne 0x42e855
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
xor edi, edi
mov ecx, dword [ebp + 0x20]
push edi
call esi
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [section..00cfg]
mov ecx, dword [ebp + 0x20]
push edi
mov edi, dword [ebp + 0x20]
push 0xffffffffffffffff
call esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x42e882
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x42ea76
lea ecx, [esp + 0x10]
call fcn.004d6f90
test eax, eax
je 0x42e9db
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [esp + 0x54]
test esi, esi
je 0x42e867
mov ecx, eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 4]
test edi, edi
je 0x42e901
movd xmm0, ebx
movq xmm1, qword [0x503c70]
por xmm0, xmm1
subsd xmm0, xmm1
xorps xmm4, xmm4
cvtsd2ss xmm4, xmm0
movd xmm0, esi
por xmm0, xmm1
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
divss xmm4, xmm0
mov eax, dword [edi]
mov edi, dword [eax + 4]
mov dword [esp + 0xc], ecx
mov ecx, edi
call dword [section..00cfg]
sub esp, 4
movss dword [esp], xmm4
mov ecx, dword [ebp + 0x20]
call edi
mov ecx, dword [esp + 0xc]
mov edi, dword [ebp + 0x20]
test ebx, ebx
je 0x42e867
sub ecx, dword [esp + 8]
mov eax, ecx
sub eax, dword [esp + 4]
cmp eax, 0xea60
jb 0x42e867
sub esi, ebx
mov eax, esi
mul ecx
xor esi, esi
push esi
push ebx
push edx
push eax
mov ebx, ecx
call fcn.004b8720
push esi
push 0x3e8
push edx
push eax
call fcn.004b8720
mov dword [esp + 4], ebx
test edi, edi
je 0x42e867
mov ecx, ebx
mov esi, eax
mov eax, ebx
mov ecx, 0x10624dd3
mul ecx
shr edx, 6
add edx, esi
cmp edx, 0x79
jl 0x42e976
mov eax, dword [edi]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [section..00cfg]
mov ecx, dword [ebp + 0x20]
call edi
mov edi, dword [ebp + 0x20]
mov eax, dword [edi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, dword [ebp + 0x20]
push 1
push esi
call edi
mov edi, dword [ebp + 0x20]
mov dword [esp + 4], ebx
jmp 0x42e867
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x42ea76
lea edi, [esp + 0x2c]
mov eax, dword [edi]
mov dword [esi], eax
cmp esi, edi
je 0x42ea3a
lea ecx, [esi + 4]
lea eax, [esp + 0x30]
cmp byte [ecx + 0xb], 0
movzx edx, byte [eax + 0xb]
js 0x42eb25
test dl, dl
js 0x42ea2d
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
jmp 0x42ea3a
lea ecx, [esp + 0x10]
push 0
call fcn.004d7210
mov ebx, eax
test edi, edi
je 0x42ea78
test bl, bl
mov ecx, dword [ebp + 0x10]
je 0x42ea7b
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 0x3f800000
call esi
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 2
push 0
call esi
mov ecx, dword [ebp + 0x10]
mov bl, 1
jmp 0x42ea7b
push dword [esp + 0x34]
push dword [esp + 0x34]
call fcn.0046b010
cmp esi, edi
je 0x42ea76
add esi, 0x10
lea eax, [esp + 0x3c]
cmp byte [esi + 0xb], 0
movzx edx, byte [eax + 0xb]
js 0x42eb3d
test dl, dl
js 0x42ea67
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
movq xmm0, qword [eax]
movq qword [esi], xmm0
jmp 0x42ea76
mov ecx, esi
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.0046b010
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
test ecx, ecx
je 0x42eabc
lea eax, [esp + 0x20]
cmp eax, ecx
je 0x42eabc
cmp byte [ecx + 0xb], 0
movzx edx, byte [esp + 0x2b]
js 0x42eb57
test dl, dl
jns 0x42eaac
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.004431b0
jmp 0x42eabc
mov edx, ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
movq xmm0, qword [eax]
movq qword [edx], xmm0
mov edi, dword [ebp + 0x18]
test esi, esi
je 0x42eafd
lea eax, [esp + 0x48]
cmp eax, esi
je 0x42eafd
cmp byte [esi + 0xb], 0
movzx edx, byte [esp + 0x53]
js 0x42eb6f
test dl, dl
jns 0x42eaef
mov ecx, esi
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004431b0
jmp 0x42eafd
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
movq xmm0, qword [eax]
movq qword [esi], xmm0
test edi, edi
je 0x42eb07
mov eax, dword [esp + 0x54]
mov dword [edi], eax
lea ecx, [esp + 0x10]
call fcn.0044bc10
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.0048f468
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test dl, dl
jns 0x42eb31
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.0046af20
jmp 0x42ea3a
test dl, dl
jns 0x42eb49
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ecx, esi
push edx
push eax
call fcn.0046af20
jmp 0x42ea76
test dl, dl
jns 0x42eb63
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push edx
push eax
call fcn.004430b0
jmp 0x42eabc
test dl, dl
jns 0x42eb7b
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ecx, esi
push edx
push eax
call fcn.004430b0
jmp 0x42eafd