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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x10186c54], 0
je 0x10069f95
push ebx
push esi
push edi
push ecx
mov dword [esp], 0
mov eax, 0x637c60
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f1f2e4b
mov dword [esp + 0x18], 0x3f21cac0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x43d68000
mov dword [esp + 8], 0x433e0000
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
push 0xf078
call eax
movss xmm0, dword [0x5ef5a1c]
add esp, 0x2c
cvtps2pd xmm0, xmm0
mov eax, 0x4db0c0
mulsd xmm0, qword [0x10135088]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call eax
fadd qword [0x10135390]
mov esi, dword [0xe8c58c]
add esp, 4
mov edi, 0x41fe10
fstp dword [ebp - 0x48]
call edi
push esi
mov edx, 0x420120
mov ecx, eax
call edx
push 0
call edi
mov edx, 0x4200f0
mov ecx, eax
call edx
movss xmm1, dword [ebp - 0x48]
movsd xmm0, qword [0x10135418]
cvtps2pd xmm1, xmm1
subsd xmm0, xmm1
mulsd xmm0, qword [0x10135788]
cvttsd2si eax, xmm0
push eax
push 0x19
push 0xbd
push 0xff
call edi
mov edx, 0x420040
mov ecx, eax
call edx
push 0xac
mov ecx, 0x10150cf0
call fcn.10042d90
mov esi, eax
call edi
push 0
push 3
push 0
push 0xbe
push esi
push 0x1d
push 1
mov ebx, 0x420150
mov ecx, eax
call ebx
movss xmm0, dword [ebp - 0x48]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10135788]
cvttsd2si eax, xmm0
push eax
push 0x19
push 0xbd
push 0xff
call edi
mov ecx, eax
mov eax, 0x420040
call eax
push 0xad
mov ecx, 0x10150cf0
call fcn.10042d90
mov esi, eax
call edi
push 0
push 3
push 0
push 0xbe
push esi
push 0x1d
push 1
mov ecx, eax
call ebx
mov esi, dword [0xe8c588]
call edi
mov ecx, eax
lea eax, [ebx - 0x30]
push esi
call eax
push 0xff
push 0xff
push 0xff
push 0xff
call edi
mov ecx, eax
mov eax, 0x420040
call eax
push 0xae
mov ecx, 0x10150cf0
call fcn.10042d90
mov esi, eax
call edi
push 0
push 1
push 0
push 0xa6
push esi
push 0x3a
push 0x10
mov ecx, eax
call ebx
push 0xaf
mov ecx, 0x10150cf0
call fcn.10042d90
mov esi, eax
call edi
push 0
push 1
push 0
push 0xa6
push esi
push 0x44
push 0x10
mov ecx, eax
call ebx
push 0xb0
mov ecx, 0x10150cf0
call fcn.10042d90
mov esi, eax
call edi
push 0
push 1
push 0
push 0xa6
push esi
push 0x4e
push 0x10
mov ecx, eax
call ebx
push 0xb1
mov ecx, 0x10150cf0
call fcn.10042d90
mov esi, eax
call edi
push 0
push 1
push 0
push 0xa6
push esi
push 0x58
push 0x10
mov ecx, eax
call ebx
xor ebx, ebx
mov dword [ebp - 0x54], ebx
nop word [eax + eax]
mov esi, dword [0x10186c68]
xor edx, edx
nop dword [eax + eax]
movzx eax, byte [edx*8 + 0x10186c70]
cmp eax, esi
jne 0x100698fb
movzx ecx, byte [edx*8 + 0x10186c71]
lea eax, [ebx + 1]
cmp ecx, eax
je 0x10069906
inc edx
cmp edx, 0x19
jl 0x100698e0
jmp 0x10069c56
lea edi, [edx*8 + 0x10186c6c]
mov dword [ebp - 0x50], edi
test edi, edi
je 0x10069c56
push 1
mov eax, 0x635fd0
call eax
mov dword [esp], 0
mov eax, 0x637c60
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
push 1
push 1
sub esp, 0x20
mulss xmm0, dword [0x10135ba8]
mov dword [esp + 0x1c], 0x3f2e147b
mov dword [esp + 0x18], 0x3f0b8522
mov dword [esp + 0x14], 0
movss dword [ebp - 0x4c], xmm0
addss xmm0, dword [0x10135ca0]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x425c0000
mov dword [esp + 8], 0x43260000
movss dword [esp + 4], xmm0
mov dword [esp], 0x41300000
push 0xf079
call eax
mov eax, 0xe8c588
add esp, 0x30
mov esi, dword [eax]
mov eax, 0x41fe10
call eax
mov ecx, eax
mov eax, 0x420120
push esi
call eax
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [0x10135cc0]
push 0x11
push 0x26
cvttss2si eax, xmm0
movss dword [ebp - 0x48], xmm0
push eax
push 0x88
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10069a8e
cmp byte [0x10186c55], 0
jne 0x10069a8e
push 1
mov eax, 0x791070
call eax
add esp, 4
test eax, eax
je 0x10069a8e
cmp byte [0x8793386], 0
je 0x10069a8e
mov eax, 0x83c080
call eax
movss xmm0, dword [ebp - 0x48]
mov eax, 0x637c60
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3e69d18c
mov dword [esp + 0x18], 0x3f36aa76
mov dword [esp + 0x14], 0x3e8963a7
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41880000
mov dword [esp + 8], 0x42180000
movss dword [esp + 4], xmm0
mov dword [esp], 0x43080000
push 0xf066
call eax
lea eax, [ebx + 1]
mov byte [0x10186c55], 1
mov dword [0x10186c58], eax
mov eax, dword [0x10186c68]
mov dword [0x10186c5c], eax
jmp 0x10069aeb
movss xmm0, dword [ebp - 0x48]
mov eax, 0x637c60
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3e69d18c
mov dword [esp + 0x18], 0x3f36aa76
mov dword [esp + 0x14], 0x3ca3d70a
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41880000
mov dword [esp + 8], 0x42180000
movss dword [esp + 4], xmm0
mov dword [esp], 0x43080000
push 0xf066
call eax
add esp, 0x30
mov ebx, 0x41fe10
push 0
call ebx
mov ecx, eax
mov eax, 0x4200f0
call eax
mov eax, dword [ebp - 0x50]
movzx edi, byte [edi]
push 0xff
push 0
movzx eax, word [eax + 2]
push 0xe6
shl edi, 9
push 0xe6
add edi, eax
call ebx
mov ecx, eax
mov eax, 0x420040
call eax
push 0xab
mov ecx, 0x10150cf0
call fcn.10042d90
mov esi, eax
call ebx
movss xmm0, dword [ebp - 0x4c]
mov ecx, eax
addss xmm0, dword [0x10135cd0]
push 0
push 3
push 0
push 0x46
cvttss2si ebx, xmm0
push esi
mov eax, 0x420150
push ebx
push 0x42
call eax
push 0xff
push 0xff
push 0xff
push 0xff
mov eax, 0x41fe10
call eax
mov ecx, eax
mov eax, 0x420040
call eax
imul esi, edi, 0x54
mov edi, 0x41fe10
add esi, dword [0x8128ac0]
call edi
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [0x10135d1c]
push 0
push 1
push 0
push 0x69
cvttss2si ecx, xmm0
push esi
mov esi, 0x420150
push ecx
push 0x45
mov ecx, eax
call esi
mov ecx, dword [ebp - 0x50]
movzx eax, word [ecx + 6]
push eax
lea eax, [ebp - 0x44]
push 0x1012f4dc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
movss xmm0, dword [ebp - 0x4c]
lea eax, [ebp - 0x44]
addss xmm0, dword [0x10135d54]
add esp, 0xc
push 0
push 3
push 0
push 0x64
push eax
cvttss2si eax, xmm0
push eax
push 0x5b
call edi
mov ecx, eax
call esi
push 0xff
push 0x19
push 0xbd
push 0xff
call edi
mov ecx, eax
mov eax, 0x420040
call eax
push 0x464
mov ecx, 0x8128adc
mov eax, 0x402320
call eax
mov esi, eax
call edi
push 0
push 3
push 0
push 0x26
push esi
push ebx
mov ecx, eax
mov eax, 0x420150
push 0x88
call eax
push 0
mov eax, 0x635fd0
call eax
mov ebx, dword [ebp - 0x54]
add esp, 4
inc ebx
mov dword [ebp - 0x54], ebx
cmp ebx, 5
jl 0x100698d0
push dword [0x10186c58]
push dword [0x10186c5c]
call fcn.10069280
movss xmm0, dword [0x10135b90]
xor esi, esi
nop
mov edi, dword [0x10186c68]
xor edx, edx
nop dword [eax + eax]
movzx eax, byte [edx*8 + 0x10186c70]
cmp eax, edi
jne 0x10069cab
movzx ecx, byte [edx*8 + 0x10186c71]
lea eax, [esi + 1]
cmp ecx, eax
je 0x10069cb3
inc edx
cmp edx, 0x19
jl 0x10069c90
jmp 0x10069d06
lea eax, [edx*8 + 0x10186c6c]
test eax, eax
je 0x10069d06
movzx ecx, byte [eax]
sub esp, 8
movzx eax, word [eax + 2]
movaps xmm3, xmm0
movd xmm1, esi
movaps xmm2, xmm0
movss xmm0, dword [0x10135ac4]
xor edx, edx
cvtdq2ps xmm1, xmm1
shl ecx, 9
push 0
add ecx, eax
mulss xmm1, dword [0x10135ba8]
addss xmm1, dword [0x10135c38]
call fcn.100a3d00
movss xmm0, dword [0x10135b90]
add esp, 0xc
inc esi
cmp esi, 5
jl 0x10069c80
push 0xa
push 0xa
push 0x190
push 0x42
mov edi, 0x790b10
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0x10
test al, al
je 0x10069da8
cmp byte [0x8793386], 0
je 0x10069da8
call esi
mov ecx, dword [0x10186c60]
add ecx, 0xc8
cmp eax, ecx
jb 0x10069da8
call esi
cmp byte [0x10186c55], 0
mov dword [0x10186c60], eax
jne 0x10069da8
mov ecx, dword [0x10186c68]
cmp ecx, 1
jle 0x10069d71
lea eax, [ecx - 1]
mov dword [0x10186c68], eax
lea eax, [ecx - 1]
cmovle eax, ecx
cmp eax, 1
jne 0x10069d92
movsd xmm0, qword [0x101352c0]
push ecx
mov dword [esp], 0
push 0
push 0
jmp 0x10069dcf
movsd xmm0, qword [0x10135270]
push ecx
mov dword [esp], 0
push 0
push 0
jmp 0x10069dcf
cmp dword [0x10186c68], 1
jne 0x10069dbb
movsd xmm0, qword [0x101352c0]
jmp 0x10069dc3
movsd xmm0, qword [0x101350f0]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov ebx, 0x637c60
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3e0fdf41
mov dword [esp + 0x18], 0x3e85a1d5
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x10], 0x3cf5c28e
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x41200000
mov dword [esp + 4], 0x43c80000
mov dword [esp], 0x42840000
push 0xf07a
call ebx
add esp, 0x30
push 0xa
push 0xa
push 0x190
push 0x74
call edi
add esp, 0x10
test al, al
je 0x10069e89
cmp byte [0x8793386], 0
je 0x10069e89
call esi
mov ecx, dword [0x10186c60]
add ecx, 0xc8
cmp eax, ecx
jb 0x10069e89
call esi
cmp byte [0x10186c55], 0
mov dword [0x10186c60], eax
jne 0x10069e89
mov ecx, dword [0x10186c68]
cmp ecx, 5
jge 0x10069e74
lea eax, [ecx + 1]
mov dword [0x10186c68], eax
lea eax, [ecx + 1]
cmovge eax, ecx
cmp eax, 5
je 0x10069e92
movsd xmm0, qword [0x10135270]
jmp 0x10069ea4
cmp dword [0x10186c68], 5
jne 0x10069e9c
movsd xmm0, qword [0x101352c0]
jmp 0x10069ea4
movsd xmm0, qword [0x101350f0]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3e0fdf41
mov dword [esp + 0x18], 0x3e85a1d5
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x10], 0x3ea3d709
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x41200000
mov dword [esp + 4], 0x43c80000
mov dword [esp], 0x42e80000
push 0xf07a
call ebx
mov esi, dword [0x10186c68]
add esp, 0x30
xorps xmm0, xmm0
mov word [ebp - 8], 0
mov ecx, 0x8128adc
movq qword [ebp - 0x10], xmm0
mov eax, 0x402320
push 0x49d
call eax
push 5
push esi
push eax
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov ebx, 0x41fe10
push 0
call ebx
mov ecx, eax
mov eax, 0x4200f0
call eax
push 0xff
push 0x19
push 0xbd
push 0xff
call ebx
mov ecx, eax
mov eax, 0x420040
call eax
mov esi, dword [0xe8c588]
call ebx
mov ecx, eax
mov eax, 0x420120
push esi
call eax
push 0
push 3
push 0
push 0x14
lea eax, [ebp - 0x10]
push eax
push 0x190
push 0x56
call ebx
mov ecx, eax
mov eax, 0x420150
call eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d7712
mov esp, ebp
pop ebp
ret