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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
mov eax, dword [0x100ef018]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0xe609e8], 5
jne 0x100ac454
cmp dword [0x107dce90], 1
jne 0x100ac454
cmp dword [0x107dce7c], 0
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x100ac05a
xorps xmm0, xmm0
movss dword [ebp - 0x168], xmm0
jmp 0x100ac0ab
call esi
sub eax, dword [0x107dce84]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100e7c60]
mov eax, dword [0x107dce7c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
mulss xmm1, dword [0x100e75d0]
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x100e7c60]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x168], xmm1
push edi
sub esp, 0x10
mov edi, 0x790b50
mov dword [esp + 0xc], 0x41900000
mov dword [esp + 8], 0x43200000
mov dword [esp + 4], 0x42c80000
mov dword [esp], 0x43700000
push 0x7a65
call edi
movss xmm0, dword [0x100e75d0]
add esp, 4
minss xmm0, dword [ebp - 0x168]
mov dword [esp + 0xc], 0x41000000
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0x42d20000
mov dword [esp], 0x43750000
push 0x7a66
call edi
mov eax, dword [0x107dce8c]
add esp, 0x14
pop edi
cmp eax, 3
ja case.default.0x100ac11f
jmp dword [eax*4 + 0x100ac464]
push 1
jmp 0x100ac134
push 2
jmp 0x100ac134
push 3
jmp 0x100ac134
push 4
mov ecx, 0x101a8848
call fcn.1003fea0
push eax
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 3
push 0
push 0xffffffffffffffff
push 0
push 0xa0
push 0x69
lea eax, [ebp - 0x104]
push 0xf0
push eax
mov eax, 0x7d04d0
call eax
add esp, 0x28
call esi
sub eax, dword [0x107dce84]
cmp eax, dword [0x107dce7c]
jbe 0x100ac1d2
mov dword [0x107dce90], 2
mov dword [0x107dce8c], 0
call esi
mov dword [0x107dce88], eax
call esi
mov dword [0x107dce84], eax
mov ecx, 0x8793750
mov eax, 0x63a180
mov dword [0x107dce80], 0
mov dword [0x107dce7c], 0
call eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret
call esi
sub eax, dword [0x107dce88]
cmp eax, dword [0x107dce80]
jb 0x100ac453
mov eax, dword [0x107dce8c]
sub eax, 0
je 0x100ac3f3
sub eax, 1
jne 0x100ac44c
mov eax, dword [0x107dce78]
test eax, eax
jne 0x100ac44c
push 0x5e
push eax
lea eax, [ebp - 0x163]
mov dword [0x107dce78], 1
push eax
call fcn.100b99d0
movzx eax, byte [0x107dcec0]
add esp, 0xc
xor al, 0xfc
mov dword [ebp - 0x164], 0x1f15fc3
mov byte [ebp - 0x160], al
movzx eax, byte [0x107dcec1]
xor al, 0xcf
mov byte [ebp - 0x15f], al
movzx eax, byte [0x107dcec2]
xor al, 0xab
mov byte [ebp - 0x15e], al
movzx eax, byte [0x107dcec3]
xor al, 0xfc
mov byte [ebp - 0x15d], al
movzx eax, byte [0x107dcec4]
xor al, 0xcf
mov byte [ebp - 0x15c], al
movzx eax, byte [0x107dcec5]
xor al, 0xab
mov byte [ebp - 0x15b], al
movzx eax, byte [0x107dcec6]
xor al, 0xfc
mov byte [ebp - 0x15a], al
movzx eax, byte [0x107dcec7]
xor al, 0xcf
mov byte [ebp - 0x159], al
movzx eax, byte [0x107dcec8]
xor al, 0xab
mov byte [ebp - 0x158], al
movzx eax, byte [0x107dcec9]
xor al, 0xfc
mov byte [ebp - 0x157], al
movzx eax, byte [0x107dceb4]
xor al, 0xfc
mov byte [ebp - 0x156], al
movzx eax, byte [0x107dceb5]
xor al, 0xcf
mov byte [ebp - 0x155], al
movzx eax, byte [0x107dceb6]
xor al, 0xab
mov byte [ebp - 0x154], al
movzx eax, byte [0x107dceb7]
xor al, 0xfc
mov byte [ebp - 0x153], al
movzx eax, byte [0x107dceb8]
xor al, 0xcf
mov byte [ebp - 0x152], al
movzx eax, byte [0x107dceb9]
xor al, 0xab
mov byte [ebp - 0x151], al
movzx eax, byte [0x107dceba]
xor al, 0xfc
mov byte [ebp - 0x150], al
movzx eax, byte [0x107dcebb]
xor al, 0xcf
mov byte [ebp - 0x14f], al
movzx eax, byte [0x107dcebc]
xor al, 0xab
mov byte [ebp - 0x14e], al
movzx eax, byte [0x107dcebd]
xor al, 0xfc
mov byte [ebp - 0x14d], al
call esi
mov dword [ebp - 0x142], eax
movzx eax, byte [0xe61f68]
dec al
mov byte [ebp - 0x13e], al
movzx eax, byte [0xe61f69]
sub al, 2
mov byte [ebp - 0x13d], al
movzx eax, byte [0xe61f6a]
sub al, 3
mov byte [ebp - 0x13c], al
movzx eax, byte [0xe61f6b]
sub al, 4
mov byte [ebp - 0x13b], al
movzx eax, byte [0xe61f6c]
sub al, 5
mov byte [ebp - 0x13a], al
mov eax, 0xe61f70
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x139], xmm0
call fcn.100b57f0
mov edx, 0x5f
lea ecx, [ebp - 0x164]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x129], xmm0
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x109], eax
movups xmmword [ebp - 0x119], xmm0
call fcn.100aba10
jmp 0x100ac44c
movzx eax, word [0x107dcecc]
push eax
push 0x107dced0
call fcn.100ac620
add esp, 8
test eax, eax
je 0x100ac44c
mov dword [0x8793704], 1
mov dword [0x107dce90], 1
mov dword [0x107dce8c], 1
call esi
mov dword [0x107dce88], eax
call esi
mov dword [0x107dce84], eax
mov dword [0x107dce80], 0x2710
mov dword [0x107dce7c], 0x7530
call esi
mov dword [0x107dce88], eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret