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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x1019a06c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x101e7d15], 0
je 0x1002d6b5
push ebx
push edi
push 9
mov edi, 0x861110
call edi
mov ebx, 0x85ec20
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0xe
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0x41
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0x48
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0x39
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 2
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 6
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0x15
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 3
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0x10
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0x22
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 1
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0x4a
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0x4f
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 4
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
push 0xa
call edi
mov ecx, eax
call ebx
test al, al
jne 0x1002d6ac
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 ecx, dword [0x1030ebf0]
xor ebx, ebx
mov dword [ebp - 0x11c], ebx
test ecx, ecx
je 0x1002cb86
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x1018c768]
subss xmm0, dword [0x1018d524]
cvttss2si ebx, xmm0
mov dword [ebp - 0x11c], ebx
mov eax, dword [0xe61e58]
cmp eax, 0x400
jg 0x1002cbf9
push 0xd
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x1002cbc4
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x1002cbc4
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1018cde0]
jmp 0x1002ce98
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 0x1002ce90
addsd xmm0, qword [0x1018cf78]
jmp 0x1002ce98
cmp eax, 0x500
jne 0x1002cc9e
push 0xd
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x1002cc33
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x1002cc33
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1018cd70]
jmp 0x1002cc69
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 0x1002cc61
addsd xmm0, qword [0x1018cf48]
jmp 0x1002cc69
addsd xmm0, qword [0x1018d028]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1018d6b0]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1018d3a0]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1018d6b8]
jmp 0x1002cec8
cmp eax, 0x5a0
jne 0x1002cd43
push 0xd
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x1002ccd8
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x1002ccd8
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1018ce90]
jmp 0x1002cd0e
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 0x1002cd06
addsd xmm0, qword [0x1018cfc8]
jmp 0x1002cd0e
addsd xmm0, qword [0x1018d068]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1018d234]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1018d2a8]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1018d2d4]
jmp 0x1002cec8
cmp eax, 0x690
je 0x1002cca9
push 0xd
cmp eax, 0x780
jne 0x1002cdf3
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x1002cd88
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x1002cd88
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1018ced0]
jmp 0x1002cdbe
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 0x1002cdb6
addsd xmm0, qword [0x1018d008]
jmp 0x1002cdbe
addsd xmm0, qword [0x1018d0a0]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1018d2d4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1018d1d8]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1018d234]
jmp 0x1002cec8
test ecx, ecx
je 0x1002cb94
call edi
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
je 0x1002ce28
push 0x4d
call edi
mov ecx, eax
call esi
test al, al
je 0x1002ce28
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1018cec0]
jmp 0x1002ce5e
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 0x1002ce56
addsd xmm0, qword [0x1018d000]
jmp 0x1002ce5e
addsd xmm0, qword [0x1018d098]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1018d2e0]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1018d1d8]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1018d248]
jmp 0x1002cec8
addsd xmm0, qword [0x1018d030]
movsd qword [ebp - 0x10c], xmm0
movss xmm0, dword [0x1018d6a8]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x1018d3a0]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [0x1018d3e8]
movsd xmm1, qword [ebp - 0x10c]
sub esp, 0x10
cvtpd2ps xmm1, xmm1
mov esi, 0x790b50
mov dword [0x1019c0c0], 0
mov dword [0x1019c0c4], 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 [0x1019c0bc], xmm1
mov dword [0x1019c0c8], 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 [0x1018d438]
subss xmm0, dword [0x1018d184]
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, 0x1019c0cc
call fcn.1004ebb0
sub esp, 0xc
push 0x7ec5
push ecx
mov ecx, 0x1019c0cc
call fcn.1004ebf0
movsd xmm1, qword [ebp - 0x10c]
mov ecx, 0x1019c0d0
cvtpd2ps xmm0, xmm1
push 0x1d
push 0x24
push 0
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x10c], xmm0
addsd xmm0, qword [0x1018cee8]
subsd xmm0, qword [0x1018cd20]
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
push eax
mov eax, 0x779410
call eax
push 0
mov eax, 0x7798f0
mov ecx, 0x1019c0d0
call eax
mov eax, 0x779860
mov ecx, 0x1019c0d0
call eax
dec al
mov edi, 0x41fe10
neg al
sbb al, al
and byte [0x101e7d15], 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, 0x101ad5f8
call fcn.10045b80
mov esi, eax
call edi
movsd xmm0, qword [ebp - 0x10c]
mov edx, 0x420150
addsd xmm0, qword [0x1018cde0]
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, 0x101ad5f8
call fcn.10045b80
mov esi, eax
call edi
movsd xmm0, qword [ebp - 0x10c]
subsd xmm0, qword [0x1018cc90]
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, 0x101ad5f8
call fcn.10045b80
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, 0x101ad5f8
call fcn.10045b80
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 [0x1019c0b0], 1
movd xmm1, ebx
push 0x17
cvtdq2ps xmm1, xmm1
push 0x14
jne 0x1002d3db
movss xmm0, dword [0x1019c0c0]
addss xmm0, dword [0x1018d348]
cvttss2si eax, xmm0
movss xmm0, dword [0x1019c0bc]
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 0x1002d3ce
cmp byte [0x8793386], 0
je 0x1002d36b
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [0x1019c0b8]
add ecx, 0x12c
cmp eax, ecx
jb 0x1002d36b
movss xmm0, dword [0x1019c0c0]
sub esp, 0x18
addss xmm0, dword [0x1018d348]
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 [0x1019c0bc]
addss xmm0, dword [ebp - 0x110]
mov dword [0x1019c0b0], 0
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7e59
mov eax, 0x790e40
call eax
add esp, 0x1c
call esi
mov dword [0x1019c0b8], eax
jmp 0x1002d519
sub esp, 0x18
mov dword [esp + 0x14], 0x41b80000
movss xmm0, dword [0x1019c0c0]
addss xmm0, dword [0x1018d348]
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 [0x1019c0bc]
addss xmm0, dword [ebp - 0x110]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7e59
jmp 0x1002d50f
sub esp, 0x18
mov dword [esp + 0x14], 0
jmp 0x1002d376
movss xmm0, dword [0x1019c0bc]
cvttss2si eax, dword [0x1019c0c0]
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 0x1002d4b1
cmp byte [0x8793386], 0
je 0x1002d4a4
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [0x1019c0b8]
add ecx, 0x12c
cmp eax, ecx
jb 0x1002d4a4
movss xmm0, dword [0x1019c0c0]
sub esp, 0x18
addss xmm0, dword [0x1018d348]
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 [0x1019c0bc]
addss xmm0, dword [ebp - 0x110]
mov dword [0x1019c0b0], 1
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7e5a
jmp 0x1002d355
sub esp, 0x18
mov dword [esp + 0x14], 0x41b80000
jmp 0x1002d4bc
sub esp, 0x18
mov dword [esp + 0x14], 0
movss xmm0, dword [0x1019c0c0]
addss xmm0, dword [0x1018d348]
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 [0x1019c0bc]
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
mov eax, dword [0x1019c0b0]
lea ecx, [ebx + eax*4]
add ecx, eax
mov ebx, dword [ecx*4 + 0x1019c038]
push ebx
call edx
movss xmm0, dword [0x1019c0bc]
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 [0x1019c0c0]
addss xmm0, dword [ebp - 0x118]
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
cvttsd2si esi, xmm0
call fcn.10131ef0
mov eax, dword [0x1019c0b0]
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx + eax*4]
add ecx, eax
lea eax, [ebp - 0x104]
push dword [ecx*4 + 0x1019c074]
push 0x10186e1c
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, 0x1019c038
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.1002d6d0
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 0x1002d570
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.100e34d0
mov esp, ebp
pop ebp
ret
pop edi
mov byte [0x101e7d15], 0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100e34d0
mov esp, ebp
pop ebp
ret