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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x1018b06c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x101d86c5], 0
je 0x10022f55
push ebx
push edi
push 9
mov edi, 0x861110
call edi
mov ebx, 0x85ec20
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0xe
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0x41
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0x48
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0x39
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 2
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 6
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 3
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0x10
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0x22
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 1
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0x4a
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0x4f
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 4
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push 0xa
call edi
mov ecx, eax
call ebx
test al, al
jne 0x10022f4c
push esi
push 1
mov ebx, 0x635fd0
call ebx
push 1
call ebx
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
sub esp, 8
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
mov esi, dword [0xe8c588]
mov ebx, 0x41fe10
call ebx
push esi
mov edx, 0x420120
mov ecx, eax
call edx
push 0xff
push 0xff
push 0xff
push 0xff
call ebx
mov edx, 0x420040
mov ecx, eax
call edx
mov eax, dword [0xe61e58]
push 0xd
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x1017e048]
subss xmm0, dword [0x1017ed3c]
cvttss2si ebx, xmm0
mov dword [ebp - 0x11c], ebx
cmp eax, 0x400
jg 0x100224da
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x1002246f
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x1002246f
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1017e678]
jmp 0x100224a5
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
push 0xd
movsd qword [ebp - 0x10c], xmm0
call edi
mov ecx, eax
call esi
movsd xmm0, qword [ebp - 0x10c]
test al, al
je 0x1002249d
addsd xmm0, qword [0x1017e7f8]
jmp 0x100224a5
addsd xmm0, qword [0x1017e8b8]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1017ee9c]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1017ebe0]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1017ec28]
jmp 0x10022761
cmp eax, 0x500
jne 0x1002257d
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x10022512
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x10022512
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1017e608]
jmp 0x10022548
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
push 0xd
movsd qword [ebp - 0x10c], xmm0
call edi
mov ecx, eax
call esi
movsd xmm0, qword [ebp - 0x10c]
test al, al
je 0x10022540
addsd xmm0, qword [0x1017e7c8]
jmp 0x10022548
addsd xmm0, qword [0x1017e8b0]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1017eea4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1017ebe0]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1017eeac]
jmp 0x10022761
cmp eax, 0x5a0
jne 0x10022620
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x100225b5
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x100225b5
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1017e720]
jmp 0x100225eb
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
push 0xd
movsd qword [ebp - 0x10c], xmm0
call edi
mov ecx, eax
call esi
movsd xmm0, qword [ebp - 0x10c]
test al, al
je 0x100225e3
addsd xmm0, qword [0x1017e850]
jmp 0x100225eb
addsd xmm0, qword [0x1017e8e8]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1017ea88]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1017eaf4]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1017eb20]
jmp 0x10022761
cmp eax, 0x690
je 0x10022588
cmp eax, 0x780
jne 0x100226ce
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x10022663
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x10022663
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1017e758]
jmp 0x10022699
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
push 0xd
movsd qword [ebp - 0x10c], xmm0
call edi
mov ecx, eax
call esi
movsd xmm0, qword [ebp - 0x10c]
test al, al
je 0x10022691
addsd xmm0, qword [0x1017e890]
jmp 0x10022699
addsd xmm0, qword [0x1017e920]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1017eb20]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1017ea38]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1017ea88]
jmp 0x10022761
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x100226fb
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x100226fb
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1017e748]
jmp 0x10022731
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
push 0xd
movsd qword [ebp - 0x10c], xmm0
call edi
mov ecx, eax
call esi
movsd xmm0, qword [ebp - 0x10c]
test al, al
je 0x10022729
addsd xmm0, qword [0x1017e888]
jmp 0x10022731
addsd xmm0, qword [0x1017e918]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1017eb2c]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1017ea38]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1017ea9c]
movsd xmm1, qword [ebp - 0x10c]
sub esp, 0x10
cvtpd2ps xmm1, xmm1
mov esi, 0x790b50
mov dword [0x1018c4a8], 0
mov dword [0x1018c4ac], 0x433e0000
mov dword [esp + 0xc], 0x43d68000
mov dword [esp + 8], 0x433e0000
mov dword [esp + 4], 0
movss dword [ebp - 0x110], xmm0
movss dword [esp], xmm1
push 0x7a5a
movss dword [0x1018c4a4], xmm1
mov dword [0x1018c4b0], 0x43d68000
call esi
movsd xmm1, qword [ebp - 0x10c]
add esp, 4
cvtpd2ps xmm0, xmm1
mov dword [esp + 0xc], 0x43d68000
mov dword [esp + 8], 0x433e0000
mov dword [esp + 4], 0
movss dword [esp], xmm0
push 0x7a7a
call esi
movsd xmm1, qword [ebp - 0x10c]
add esp, 4
cvtpd2ps xmm0, xmm1
mov dword [esp + 0xc], 0x43a00000
mov dword [esp + 8], 0x41a80000
mov dword [esp + 4], 0x42800000
movss dword [esp], xmm0
push 0x7a7b
call esi
movsd xmm1, qword [ebp - 0x10c]
add esp, 4
cvtpd2ps xmm0, xmm1
mov dword [esp + 0xc], 0x43a00000
mov dword [esp + 8], 0x41a80000
mov dword [esp + 4], 0x42800000
addss xmm0, dword [0x1017ec6c]
subss xmm0, dword [0x1017e9ec]
movss dword [esp], xmm0
push 0x7a7c
call esi
movsd xmm1, qword [ebp - 0x10c]
add esp, 4
cvtpd2ps xmm0, xmm1
mov dword [esp + 0xc], 0x42340000
mov dword [esp + 8], 0x433e0000
mov dword [esp + 4], 0x43c00000
movss dword [esp], xmm0
push 0x7a7d
call esi
add esp, 0x14
mov ecx, 0x1018c4b4
call fcn.10041930
sub esp, 0xc
push 0x7ec5
push ecx
mov ecx, 0x1018c4b4
call fcn.10041970
movsd xmm1, qword [ebp - 0x10c]
mov ecx, 0x1018c4b8
cvtpd2ps xmm0, xmm1
push 0x1d
push 0x24
push 0
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x10c], xmm0
addsd xmm0, qword [0x1017e770]
subsd xmm0, qword [0x1017e5b8]
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
push eax
mov eax, 0x779410
call eax
push 0
mov eax, 0x7798f0
mov ecx, 0x1018c4b8
call eax
mov eax, 0x779860
mov ecx, 0x1018c4b8
call eax
dec al
mov edi, 0x41fe10
neg al
sbb al, al
and byte [0x101d86c5], al
mov esi, dword [0xe8c58c]
call edi
mov ecx, eax
mov eax, 0x420120
push esi
call eax
push 0xff
push 0xff
push 0xff
push 0xff
call edi
mov ecx, eax
mov eax, 0x420040
call eax
push 0
push 0
push 0
push 0
call edi
mov edx, 0x4200b0
mov ecx, eax
call edx
push 0x45
mov ecx, 0x1019e5b0
call fcn.10039680
mov esi, eax
call edi
movsd xmm0, qword [ebp - 0x10c]
mov edx, 0x420150
addsd xmm0, qword [0x1017e678]
push 0
push 1
push 0
push 0
cvttsd2si ecx, xmm0
push esi
push 0xf
push ecx
mov ecx, eax
call edx
mov esi, dword [0xe8c588]
call edi
mov ecx, eax
mov eax, 0x420120
push esi
call eax
mov esi, dword [0xe8c588]
call edi
mov ecx, eax
mov eax, 0x420120
push esi
call eax
push 0xff
push 0x77
push 0xdf
push 1
call edi
mov ecx, eax
mov eax, 0x420040
call eax
push 0
push 0
push 0
push 0
call edi
mov ecx, eax
mov eax, 0x4200b0
call eax
push 0x46
mov ecx, 0x1019e5b0
call fcn.10039680
mov esi, eax
call edi
movsd xmm0, qword [ebp - 0x10c]
subsd xmm0, qword [0x1017e528]
push 0
push 3
push 0
push 0xdf
cvttsd2si edi, xmm0
push esi
push 0x41
mov ecx, eax
mov eax, 0x420150
push edi
call eax
push 0x47
mov ecx, 0x1019e5b0
call fcn.10039680
mov esi, eax
mov eax, 0x41fe10
call eax
push 0
push 3
push 0
push 0xdf
push esi
push 0x4b
mov ecx, eax
mov eax, 0x420150
push edi
call eax
mov esi, dword [0xe8c588]
mov eax, 0x41fe10
call eax
mov ecx, eax
mov eax, 0x420120
push esi
call eax
mov esi, dword [0xe8c58c]
mov eax, 0x41fe10
call eax
mov ecx, eax
mov eax, 0x420120
push esi
call eax
push 0xff
push 0x77
push 0xdf
push 1
mov esi, 0x41fe10
call esi
mov ecx, eax
mov eax, 0x420040
call eax
push 0
push 0
push 0
push 0
call esi
mov ecx, eax
mov eax, 0x4200b0
call eax
push 0x48
mov ecx, 0x1019e5b0
call fcn.10039680
mov esi, eax
mov eax, 0x41fe10
call eax
push 0
push 3
push 0
push 0xdf
push esi
push 0x5a
mov ecx, eax
mov eax, 0x420150
push edi
call eax
mov esi, dword [0xe8c588]
mov edi, 0x41fe10
call edi
mov ecx, eax
mov eax, 0x420120
push esi
call eax
cmp dword [0x1018c498], 1
movd xmm1, ebx
push 0x17
cvtdq2ps xmm1, xmm1
push 0x14
jne 0x10022c74
movss xmm0, dword [0x1018c4a8]
addss xmm0, dword [0x1017eb90]
cvttss2si eax, xmm0
movss xmm0, dword [0x1018c4a4]
addss xmm0, dword [ebp - 0x110]
push eax
addss xmm0, xmm1
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10022c67
cmp byte [0x8793386], 0
je 0x10022c04
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [0x1018c4a0]
add ecx, 0x12c
cmp eax, ecx
jb 0x10022c04
movss xmm0, dword [0x1018c4a8]
sub esp, 0x18
addss xmm0, dword [0x1017eb90]
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
mov dword [esp + 0x14], 0x42380000
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41b80000
mov dword [esp + 8], 0x41a00000
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1018c4a4]
addss xmm0, dword [ebp - 0x110]
mov dword [0x1018c498], 0
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7e59
mov eax, 0x790e40
call eax
add esp, 0x1c
call esi
mov dword [0x1018c4a0], eax
jmp 0x10022db2
sub esp, 0x18
mov dword [esp + 0x14], 0x41b80000
movss xmm0, dword [0x1018c4a8]
addss xmm0, dword [0x1017eb90]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41b80000
mov dword [esp + 8], 0x41a00000
movd xmm1, ebx
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1018c4a4]
addss xmm0, dword [ebp - 0x110]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7e59
jmp 0x10022da8
sub esp, 0x18
mov dword [esp + 0x14], 0
jmp 0x10022c0f
movss xmm0, dword [0x1018c4a4]
cvttss2si eax, dword [0x1018c4a8]
addss xmm0, dword [ebp - 0x110]
add eax, 0x73
push eax
addss xmm0, xmm1
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10022d4a
cmp byte [0x8793386], 0
je 0x10022d3d
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [0x1018c4a0]
add ecx, 0x12c
cmp eax, ecx
jb 0x10022d3d
movss xmm0, dword [0x1018c4a8]
sub esp, 0x18
addss xmm0, dword [0x1017eb90]
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
mov dword [esp + 0x14], 0x42380000
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41b80000
mov dword [esp + 8], 0x41a00000
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1018c4a4]
addss xmm0, dword [ebp - 0x110]
mov dword [0x1018c498], 1
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7e5a
jmp 0x10022bee
sub esp, 0x18
mov dword [esp + 0x14], 0x41b80000
jmp 0x10022d55
sub esp, 0x18
mov dword [esp + 0x14], 0
movss xmm0, dword [0x1018c4a8]
addss xmm0, dword [0x1017eb90]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41b80000
mov dword [esp + 8], 0x41a00000
movd xmm1, ebx
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1018c4a4]
addss xmm0, dword [ebp - 0x110]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7e5a
mov eax, 0x790e40
call eax
add esp, 0x1c
mov esi, dword [0xe8c58c]
call edi
mov ecx, eax
mov eax, 0x420120
push esi
call eax
push 0
push 0
push 0
push 0
call edi
mov ecx, eax
mov eax, 0x4200b0
call eax
push 0xff
push 0x19
push 0xbd
push 0xff
call edi
mov ecx, eax
mov eax, 0x420040
call eax
xor ebx, ebx
mov edx, 0x4e10d0
xor esi, esi
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x108], esi
nop dword [eax + eax]
mov eax, dword [0x1018c498]
lea ecx, [ebx + eax*4]
add ecx, eax
mov ebx, dword [ecx*4 + 0x1018c420]
push ebx
call edx
movss xmm0, dword [0x1018c4a4]
lea eax, [ebp - 0x104]
subss xmm0, dword [ebp - 0x114]
movd xmm1, dword [ebp - 0x11c]
cvtdq2ps xmm1, xmm1
push 0x100
push 0
push eax
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
cvttsd2si edi, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1018c4a8]
addss xmm0, dword [ebp - 0x118]
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
cvttsd2si esi, xmm0
call fcn.10123cc0
mov eax, dword [0x1018c498]
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx + eax*4]
add ecx, eax
lea eax, [ebp - 0x104]
push dword [ecx*4 + 0x1018c45c]
push 0x10178dcc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
movd xmm0, esi
lea eax, [ebp - 0x104]
movd xmm3, edi
cvtdq2ps xmm0, xmm0
mov ecx, 0x1018c420
push eax
sub esp, 0xc
cvtdq2ps xmm3, xmm3
mov dword [esp + 8], 0x42200000
mov dword [esp + 4], 0x41a00000
movss dword [esp], xmm0
push ebx
mov ebx, dword [ebp - 0x110]
push ebx
call fcn.10022f70
mov esi, dword [ebp - 0x108]
inc ebx
add esi, 0x28
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x108], esi
mov edx, 0x4e10d0
cmp esi, 0xc8
jl 0x10022e10
mov esi, dword [0xe8c588]
mov eax, 0x41fe10
call eax
mov ecx, eax
mov eax, 0x420120
push esi
call eax
mov eax, 0x635f50
call eax
push 0
mov eax, 0x635fd0
call eax
add esp, 4
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d52b0
mov esp, ebp
pop ebp
ret
pop edi
mov byte [0x101d86c5], 0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d52b0
mov esp, ebp
pop ebp
ret