Function at 0x1001b570
Capabilities:
Create thread
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005a42c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3c0
mov eax, dword [0x1006d040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x364], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x1cc], 0
push 0x19
lea ecx, [ebp - 0x380]
movq qword [ebp - 0x1d4], xmm0
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x37c], 0
mov dword [ebp - 0x378], 0
call fcn.1002b050
mov esi, dword [ebp - 0x380]
mov eax, 0x19
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
add esi, 0x18
sub eax, 1
jne 0x1001b602
push ecx
mov edx, esi
mov ecx, esi
call fcn.10028100
add esp, 4
mov dword [ebp - 0x37c], esi
mov dword [ebp - 4], 0
push 0x78
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0
call fcn.100388e5
mov esi, eax
add esp, 4
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x1d4], esi
mov dword [ebp - 0x1d0], esi
mov dword [ebp - 0x1d8], eax
lea ecx, [esi + 0x78]
mov dword [ebp - 0x1cc], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x200], 0
movq qword [ebp - 0x208], xmm0
mov dword [ebp - 0x208], esi
mov dword [ebp - 0x204], esi
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 2
mov edi, 0xa
lea eax, [ebp - 0x380]
mov edx, esi
push eax
call fcn.10032640
add esi, 0xc
add esp, 4
mov dword [ebp - 0x204], esi
sub edi, 1
jne 0x1001b6b6
mov dword [ebp - 0x1d0], esi
lea ecx, [ebp - 0x380]
mov byte [ebp - 4], 4
call fcn.100229d0
lea edx, [ebp - 0x1d4]
call fcn.1001b280
mov eax, dword [0xb93530]
cmp eax, 0x100000
jbe 0x1001d731
cmp dword [eax + 0x4810], edi
je 0x1001d731
mov esi, dword [ebp - 0x364]
cmp dword [0x1006f680], edi
jne 0x1001b72b
push 0x1006f680
push esi
call dword [sym.imp.d3dx9_43.dll_D3DXCreateSprite]
cmp dword [0x1006f610], 0
mov edi, dword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileA]
jne 0x1001b748
push 0x1006f610
push dword [0x1006f694]
push esi
call edi
cmp dword [0x1006f6b0], 0
jne 0x1001b75f
push 0x1006f6b0
push dword [0x1006f6b8]
push esi
call edi
cmp dword [0x1006f604], 0
jne 0x1001b775
push 0x1006f604
push str.DataThemeDevsRussianDungeon_ballon_dungeon.dds
push esi
call edi
cmp dword [0x1006f6a4], 0
jne 0x1001b7a4
push 0x1006f6a4
push str.Roboto
push 0
push 4
push 0
push 1
push 0
push 1
push 0x2bc
push 0
push 0x10
push esi
call dword [sym.imp.d3dx9_43.dll_D3DXCreateFontA]
mov edx, dword [0x1006f680]
push 0x10
push edx
mov eax, dword [edx]
call dword [eax + 0x20]
push 0x1006f6d0
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0x1006f6d0
push ecx
mov ecx, esi
call fcn.100068c0
add esp, 4
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov al, byte [0x1006f5fb]
or ecx, 0xffffffff
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, al
mov edx, 0x80ffffff
cmovne ecx, edx
mov dword [ebp - 0x374], ecx
je 0x1001d65e
mov esi, dword [0x1006f628]
mov edi, dword [0x1006f6cc]
movq xmm4, qword [0x1006f728]
movd xmm3, dword [0x1006f6d0]
mov ecx, dword [0x1006f730]
lea eax, [esi - 0x142]
movd xmm1, eax
lea eax, [edi - 0x13b]
cvtdq2ps xmm1, xmm1
movq qword [ebp - 0x1e4], xmm4
addss xmm1, dword [ebp - 0x1e4]
movd xmm0, eax
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm0, xmm0
comiss xmm3, xmm1
addss xmm0, dword [ebp - 0x1e0]
jbe 0x1001b895
addss xmm1, dword [0x10066f40]
movss xmm2, dword [0x10066ec4]
subss xmm1, xmm2
comiss xmm1, xmm3
jbe 0x1001b895
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001b895
addss xmm0, dword [0x10066f3c]
subss xmm0, xmm2
comiss xmm0, xmm1
jbe 0x1001b895
mov byte [0x1006f65f], 1
movups xmm1, xmmword [0x10064c24]
mov dword [ebp - 0x1b0], ecx
movq qword [ebp - 0x1b8], xmm4
movaps xmm0, xmm1
movd ecx, xmm1
psrldq xmm0, 8
movd eax, xmm0
movups xmmword [ebp - 0x218], xmm1
push 0xffffffffffffffff
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
sub esi, eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x1b8]
movss dword [ebp - 0x1b8], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f680]
cdq
sub eax, edx
lea edx, [ebp - 0x1b8]
sar eax, 1
sub edi, eax
push edx
push 0
lea edx, [ebp - 0x218]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x1b4]
push ecx
movss dword [ebp - 0x1b4], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064d54]
mov eax, dword [0x10064f10]
movq xmm0, qword [0x10064f08]
movq qword [ebp - 0x1b8], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x1b0], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x218], xmm1
push 0xffffffffffffffff
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x1b8]
movss dword [ebp - 0x1b8], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
lea edx, [ebp - 0x1b8]
sar eax, 1
sub ecx, eax
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x1b4], xmm0
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x218]
push edx
push dword [0x1006f610]
push ecx
call dword [eax + 0x24]
cmp byte [0x1006f5fa], 0
jne 0x1001ba73
push 4
call fcn.100388e5
add esp, 4
mov dword [ebp - 0x1d8], eax
mov dword [eax], 0x1001b150
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 5
push ecx
push 0
push eax
push 0x100325e0
push 0
push 0
call fcn.10045978
add esp, 0x18
mov dword [ebp - 0x1b4], eax
test eax, eax
je 0x1001d761
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1b0]
test ecx, ecx
je 0x1001d75a
push ecx
push eax
call fcn.10038564
add esp, 8
test eax, eax
jne 0x1001d75a
mov byte [0x1006f5fa], 1
mov byte [ebp - 4], 4
mov edx, 0x1006db14
lea ecx, [ebp - 0x360]
call fcn.10019f70
mov edx, 0x1006dacc
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x348]
call fcn.10019f70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x3c0]
mov edx, dword [0x1006f5fc]
call fcn.10025180
mov byte [ebp - 4], 9
mov ecx, dword [0x1006f684]
mov edi, ecx
lea edx, [edi + 2]
nop dword [eax + eax]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x1001bac0
mov esi, dword [ebp - 0x3b0]
sub edi, edx
mov eax, dword [ebp - 0x3ac]
sar edi, 1
sub eax, esi
mov dword [ebp - 0x370], esi
cmp edi, eax
ja 0x1001bba5
cmp dword [ebp - 0x3ac], 7
lea eax, [esi + edi]
lea edx, [ebp - 0x3c0]
mov dword [ebp - 0x3b0], eax
cmova edx, dword [ebp - 0x3c0]
lea eax, [ecx + edi*2]
mov dword [ebp - 0x368], edx
cmp eax, edx
jbe 0x1001bb38
lea eax, [edx + esi*2]
cmp ecx, eax
ja 0x1001bb38
cmp edx, ecx
ja 0x1001bb2a
xor esi, esi
mov dword [ebp - 0x364], esi
jmp 0x1001bb40
mov esi, edx
sub esi, ecx
sar esi, 1
mov dword [ebp - 0x364], esi
jmp 0x1001bb40
mov esi, edi
mov dword [ebp - 0x364], edi
mov eax, dword [ebp - 0x370]
lea ecx, [edx + edi*2]
lea eax, [eax*2 + 2]
push eax
push edx
push ecx
call fcn.1003a010
add esp, 0xc
add esi, esi
push esi
push dword [0x1006f684]
push dword [ebp - 0x368]
call fcn.1003a010
mov edx, dword [ebp - 0x364]
add esp, 0xc
mov ecx, dword [ebp - 0x368]
mov eax, edi
sub eax, edx
add ecx, esi
add eax, eax
push eax
lea eax, [edx + edi]
mov edx, dword [0x1006f684]
lea eax, [edx + eax*2]
push eax
push ecx
call fcn.1003a010
add esp, 0xc
lea eax, [ebp - 0x3c0]
jmp 0x1001bbc1
push edi
push ecx
push ecx
mov byte [ebp - 0x370], 0
lea ecx, [ebp - 0x3c0]
push dword [ebp - 0x370]
push edi
call fcn.10032120
mov dword [ebp - 0x1ec], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1fc], xmm0
mov dword [ebp - 0x1e8], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1fc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1ec], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1fc]
cmp dword [ebp - 0x1e8], 7
movups xmm0, xmmword [0x10064d10]
cmova ecx, dword [ebp - 0x1fc]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.100069a0
mov byte [ebp - 4], 9
add esp, 0x10
mov ecx, dword [ebp - 0x1e8]
cmp ecx, 7
jbe 0x1001bc7c
mov edx, dword [ebp - 0x1fc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001bc72
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d772
push ecx
push edx
call fcn.10038915
add esp, 8
xor eax, eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x3ac]
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 7
mov word [ebp - 0x1fc], ax
cmp ecx, 7
jbe 0x1001bcdd
mov edx, dword [ebp - 0x3c0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001bcd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d772
push ecx
push edx
call fcn.10038915
add esp, 8
lea eax, [ebp - 0x360]
mov edx, 0x1006dafc
push eax
lea ecx, [ebp - 0x230]
call fcn.10026080
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xb
cmp dword [ecx + 0x14], 7
jbe 0x1001bd05
mov ecx, dword [ecx]
movups xmm0, xmmword [0x10064c34]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.100069a0
mov byte [ebp - 4], 8
add esp, 0x10
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x1001bd60
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001bd56
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d777
push ecx
push edx
call fcn.10038915
add esp, 8
lea eax, [ebp - 0x348]
mov edx, 0x1006dae4
push eax
lea ecx, [ebp - 0x230]
call fcn.10026080
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xc
cmp dword [ecx + 0x14], 7
jbe 0x1001bd88
mov ecx, dword [ecx]
movups xmm0, xmmword [0x10064de8]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.100069a0
mov byte [ebp - 4], 8
add esp, 0x10
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x1001bde3
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001bdd9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d77c
push ecx
push edx
call fcn.10038915
add esp, 8
mov eax, dword [0x1006f628]
add eax, 0xffffff10
mov dword [ebp - 0x370], eax
mov eax, dword [0x1006f6cc]
add eax, 0xffffff06
xor edi, edi
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x364], edi
mov eax, 0x66666667
movss xmm3, dword [0x10066ec0]
imul edi
mov ecx, edi
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
lea eax, [esi + esi*4]
sub ecx, eax
imul eax, ecx, 0x63
imul ecx, esi, 0x63
add eax, dword [ebp - 0x370]
add ecx, dword [ebp - 0x3a8]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x36c], eax
add eax, 0x5a
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x210], eax
lea eax, [ecx + 0x5a]
mov dword [ebp - 0x1ac], ecx
mov ecx, edi
add ecx, ecx
mov dword [ebp - 0x20c], eax
cmp byte [edi + 0x1006f6d8], 0
movups xmm0, xmmword [ebp - 0x218]
movups xmmword [ebp + ecx*8 - 0x1a8], xmm0
je 0x1001bf2e
movd xmm2, dword [ebp + ecx*8 - 0x1a0]
lea edx, [ebp - 0x330]
movd xmm0, dword [ebp + ecx*8 - 0x1a8]
movd xmm1, dword [ebp + ecx*8 - 0x19c]
cvtdq2ps xmm2, xmm2
push 0xffffffffffffffff
push edx
push 0
lea edx, [ebp - 0x1c8]
mov dword [ebp - 0x3c4], 0x3f000000
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x3c4]
push edx
mov dword [ebp - 0x328], eax
push dword [0x1006f610]
addss xmm2, xmm0
movd xmm0, dword [ebp + ecx*8 - 0x1a4]
mov ecx, dword [0x1006f680]
cvtdq2ps xmm1, xmm1
push ecx
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm3
addss xmm1, xmm0
movups xmm0, xmmword [0x10064cac]
subss xmm2, dword [0x10066eec]
movups xmmword [ebp - 0x1c8], xmm0
mulss xmm1, xmm3
subss xmm1, dword [0x10066ef0]
unpcklps xmm2, xmm1
movq qword [ebp - 0x330], xmm2
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x1001c80d
mov eax, dword [0x1006f5fc]
cmp eax, 9
ja 0x1001c80d
mov ecx, dword [ebp - 0x1d4]
lea esi, [eax + eax*2]
mov eax, dword [ecx + esi*4]
mov ecx, dword [ecx + esi*4 + 4]
sub ecx, eax
mov dword [ebp - 0x368], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x1001c80d
xorps xmm0, xmm0
mov dword [ebp - 0x1ec], 0
xor eax, eax
mov dword [ebp - 0x1e8], 7
movups xmmword [ebp - 0x1fc], xmm0
mov word [ebp - 0x1fc], ax
lea eax, [edi + edi*2]
mov byte [ebp - 4], 0xd
shl eax, 3
mov dword [ebp - 0x3a4], eax
add eax, dword [ebp - 0x368]
cmp dword [eax + 0x14], 0xf
jbe 0x1001bfb2
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ecx, ecx
mov dword [ebp - 0x39c], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10038923
mov ecx, dword [ebp - 0x1d4]
add esp, 4
mov dword [ebp - 0x368], eax
mov ecx, dword [ecx + esi*4]
add ecx, dword [ebp - 0x3a4]
cmp dword [ecx + 0x14], 0xf
jbe 0x1001c002
mov ecx, dword [ecx]
push dword [ebp - 0x39c]
push eax
push 0xffffffffffffffff
push ecx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, dword [ebp - 0x368]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001c024
mov eax, dword [ebp - 0x1e8]
sub ecx, esi
sar ecx, 1
cmp ecx, eax
ja 0x1001c06f
lea esi, [ecx + ecx]
mov dword [ebp - 0x1ec], ecx
cmp eax, 7
lea edi, [ebp - 0x1fc]
push esi
cmova edi, dword [ebp - 0x1fc]
push edx
push edi
call fcn.1003a010
add esp, 0xc
xor eax, eax
mov word [esi + edi], ax
mov edi, dword [ebp - 0x364]
jmp 0x1001c089
push edx
mov byte [ebp - 0x3a0], 0
push dword [ebp - 0x3a0]
push ecx
lea ecx, [ebp - 0x1fc]
call fcn.10026fb0
cmp dword [ebp - 0x1e8], 7
lea esi, [ebp - 0x1c8]
mov ecx, dword [0x1006f6a4]
lea edx, [ebp - 0x1fc]
movups xmm0, xmmword [ebp - 0x218]
cmova edx, dword [ebp - 0x1fc]
push 0xffffffffffffffff
push 0x15
push esi
push 0xffffffffffffffff
push edx
push dword [0x1006f680]
movups xmmword [ebp - 0x1c8], xmm0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x3c]
movd xmm2, dword [0x1006f6d0]
mov eax, edi
add eax, eax
cvtdq2ps xmm2, xmm2
movd xmm0, dword [ebp + eax*8 - 0x1a8]
mov eax, edi
cvtdq2ps xmm0, xmm0
add eax, eax
movd xmm3, dword [ebp + eax*8 - 0x1a4]
comiss xmm2, xmm0
cvtdq2ps xmm3, xmm3
jbe 0x1001c193
movd xmm1, dword [ebp - 0x210]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movd xmm0, dword [ebp - 0x36c]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm1, xmm2
jbe 0x1001c193
movd xmm2, dword [0x1006f6d4]
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm3
jbe 0x1001c193
movd xmm1, dword [ebp - 0x20c]
movd xmm0, dword [ebp - 0x1ac]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
addss xmm1, xmm3
subss xmm1, xmm0
comiss xmm1, xmm2
jbe 0x1001c199
push 1
call esi
test ax, ax
je 0x1001c199
cmp dword [0x1006f5fc], 0
je 0x1001c199
cmp byte [0x1006f5f9], 0
jne 0x1001c1a6
mov edx, dword [0x107cfdc]
lea ecx, [edi + 1]
mov dword [0x1006dac8], ecx
mov byte [0x1006f5f9], 1
call fcn.100192d0
jmp 0x1001c199
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp byte [0x1006f5f9], 0
je 0x1001c7bb
cmp dword [0x1006dac8], 0xffffffff
je 0x1001c303
push 1
call esi
mov ecx, 0x8001
test cx, ax
je 0x1001c303
mov eax, dword [0x1006f628]
movq xmm0, qword [0x10064f74]
add eax, 0xffffffe0
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x2dc], xmm0
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, dword [0x1006f6cc]
add eax, 0xfffffff5
cvtdq2ps xmm1, xmm1
movd xmm0, eax
addss xmm1, dword [ebp - 0x2dc]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm1
addss xmm0, dword [ebp - 0x2d8]
movss dword [ebp - 0x2dc], xmm1
movss dword [ebp - 0x2d8], xmm0
jbe 0x1001c303
addss xmm1, dword [0x10066f08]
subss xmm1, dword [0x10066ecc]
comiss xmm1, xmm2
jbe 0x1001c303
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001c303
addss xmm0, dword [0x10066f70]
subss xmm0, dword [0x10066f6c]
comiss xmm0, xmm1
jbe 0x1001c303
mov edx, dword [0x1006dac8]
mov ecx, dword [0x107cfdc]
call fcn.100074f0
push 4
call fcn.100388e5
add esp, 4
mov dword [ebp - 0x1ac], eax
mov dword [eax], 0x1001b1f0
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0xe
push ecx
push 0
push eax
push 0x100325e0
push 0
push 0
call fcn.10045978
add esp, 0x18
mov dword [ebp - 0x240], eax
test eax, eax
je 0x1001d781
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x23c]
test ecx, ecx
je 0x1001d75a
push ecx
push eax
call fcn.10038564
add esp, 8
test eax, eax
jne 0x1001d75a
xorps xmm0, xmm0
mov byte [0x1006f5f9], al
movlpd qword [ebp - 0x240], xmm0
mov dword [0x1006dac8], 0xffffffff
mov byte [ebp - 4], 0xd
push 1
call esi
mov esi, dword [0x1006f628]
mov ecx, 0x8001
mov edi, dword [0x1006f6cc]
test cx, ax
je 0x1001c3c0
movq xmm0, qword [0x10064ef0]
lea eax, [esi - 0x20]
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x2e8], xmm0
movd xmm1, eax
lea eax, [edi - 0xb]
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
addss xmm1, dword [ebp - 0x2e8]
addss xmm0, dword [ebp - 0x2e4]
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x2e8], xmm1
comiss xmm2, xmm1
movss dword [ebp - 0x2e4], xmm0
jbe 0x1001c3c0
addss xmm1, dword [0x10066f14]
subss xmm1, dword [0x10066f0c]
comiss xmm1, xmm2
jbe 0x1001c3c0
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001c3c0
addss xmm0, dword [0x10066f70]
subss xmm0, dword [0x10066f6c]
comiss xmm0, xmm1
jbe 0x1001c3c0
mov byte [0x1006f5f9], 0
mov dword [0x1006dac8], 0xffffffff
movups xmm1, xmmword [0x10064d84]
mov eax, dword [0x10064ebc]
movq xmm0, qword [0x10064eb4]
movq qword [ebp - 0x270], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x268], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
push 0xffffffffffffffff
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
sub esi, eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x270]
movss dword [ebp - 0x270], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f680]
cdq
sub eax, edx
lea edx, [ebp - 0x270]
sar eax, 1
sub edi, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x26c]
push ecx
movss dword [ebp - 0x26c], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064da8]
mov eax, dword [0x10064f7c]
movq xmm0, qword [0x10064f74]
movq qword [ebp - 0x27c], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x274], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x27c], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x278]
movss dword [ebp - 0x278], xmm0
mov eax, dword [ecx]
push 0xffffffffffffffff
lea edx, [ebp - 0x27c]
push edx
push 0
lea edx, [ebp - 0x1c8]
push edx
push dword [0x1006f610]
push ecx
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064b80]
mov eax, dword [0x10064ef8]
movq xmm0, qword [0x10064ef0]
movq qword [ebp - 0x288], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x280], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
push 0xffffffffffffffff
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x288]
movss dword [ebp - 0x288], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
lea edx, [ebp - 0x288]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x284]
push ecx
movss dword [ebp - 0x284], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
mov esi, dword [0x1006f5ec]
lea ecx, [ebp - 0x398]
mov edx, dword [0x1006f6c4]
mov dword [ebp - 0x1ac], esi
call fcn.10025180
mov edi, esi
mov byte [ebp - 4], 0x10
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x1001c614
mov edx, dword [ebp - 0x384]
sub edi, ecx
mov ecx, dword [ebp - 0x388]
mov eax, edx
sar edi, 1
sub eax, ecx
mov dword [ebp - 0x36c], ecx
cmp edi, eax
ja 0x1001c682
lea eax, [ecx + edi]
cmp edx, 7
mov dword [ebp - 0x388], eax
lea esi, [ebp - 0x398]
cmova esi, dword [ebp - 0x398]
lea eax, [edi + edi]
push eax
push dword [ebp - 0x1ac]
lea ecx, [esi + ecx*2]
push ecx
call fcn.1003a010
mov eax, dword [ebp - 0x36c]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
lea eax, [ebp - 0x398]
jmp 0x1001c69d
push edi
push esi
mov byte [ebp - 0x1d8], 0
lea ecx, [ebp - 0x398]
push dword [ebp - 0x1d8]
push edi
call fcn.100270e0
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x384]
cmp ecx, 7
jbe 0x1001c729
mov edx, dword [ebp - 0x398]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001c71f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d772
push ecx
push edx
call fcn.10038915
add esp, 8
movups xmm0, xmmword [0x10064ba0]
xor eax, eax
mov dword [ebp - 0x388], 0
cmp dword [ebp - 0x21c], 7
lea ecx, [ebp - 0x230]
mov word [ebp - 0x398], ax
cmova ecx, dword [ebp - 0x230]
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x384], 7
movups xmmword [eax], xmm0
call fcn.100069a0
mov byte [ebp - 4], 0xd
add esp, 0x10
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x1001c7b5
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001c7ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d772
push ecx
push edx
call fcn.10038915
add esp, 8
mov edi, dword [ebp - 0x364]
push dword [ebp - 0x368]
call fcn.100388e0
mov byte [ebp - 4], 8
add esp, 4
mov ecx, dword [ebp - 0x1e8]
cmp ecx, 7
jbe 0x1001c80d
mov edx, dword [ebp - 0x1fc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001c803
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d772
push ecx
push edx
call fcn.10038915
add esp, 8
call fcn.10008860
test al, al
je 0x1001caa5
cmp dword [0x1006f5fc], 2
je 0x1001c8f2
movups xmm1, xmmword [0x10064df8]
mov eax, dword [0x10064e5c]
movq xmm0, qword [0x10064e54]
movq qword [ebp - 0x294], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x28c], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
push 0xffffffffffffffff
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x294], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
lea edx, [ebp - 0x294]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x290]
push ecx
movss dword [ebp - 0x290], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
cmp dword [0x1006f5fc], 2
jne 0x1001c9ca
cmp dword [0x1006f6f8], 3
jg 0x1001c9bd
movups xmm1, xmmword [0x10064bc0]
mov eax, dword [0x10064e44]
movq xmm0, qword [0x10064e3c]
movq qword [ebp - 0x2a0], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x298], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
push 0xffffffffffffffff
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x2a0], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
lea edx, [ebp - 0x2a0]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x29c]
push ecx
movss dword [ebp - 0x29c], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
cmp dword [0x1006f5fc], 2
je 0x1001d4c4
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 1
call esi
mov ecx, 0x8001
test cx, ax
je 0x1001ca98
mov eax, dword [0x1006f628]
movq xmm0, qword [0x10064e54]
add eax, 0xffffffe3
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x2f4], xmm0
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, dword [0x1006f6cc]
add eax, 0xffffffe2
cvtdq2ps xmm1, xmm1
movd xmm0, eax
addss xmm1, dword [ebp - 0x2f4]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm1
addss xmm0, dword [ebp - 0x2f0]
movss dword [ebp - 0x2f4], xmm1
movss dword [ebp - 0x2f0], xmm0
jbe 0x1001ca98
addss xmm1, dword [0x10066f64]
subss xmm1, dword [0x10066f50]
comiss xmm1, xmm2
jbe 0x1001ca98
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001ca98
addss xmm0, dword [0x10066f18]
subss xmm0, dword [0x10066f10]
comiss xmm0, xmm1
jbe 0x1001ca98
cmp byte [0x1006f65d], 0
jne 0x1001ca98
cmp byte [0x1006f5f8], 0
mov byte [0x1006f65d], 1
sete byte [0x1006f5f8]
cmp dword [0x1006f5fc], 2
je 0x1001d4ca
cmp byte [0x1006f65d], 0
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
je 0x1001cfa4
push 1
call esi
mov ecx, 0x8001
test cx, ax
je 0x1001cbe9
mov eax, dword [0x1006f628]
movq xmm0, qword [0x10064f74]
add eax, 0xffffffe0
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x30c], xmm0
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, dword [0x1006f6cc]
add eax, 0xfffffff5
cvtdq2ps xmm1, xmm1
movd xmm0, eax
addss xmm1, dword [ebp - 0x30c]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm1
addss xmm0, dword [ebp - 0x308]
movss dword [ebp - 0x30c], xmm1
movss dword [ebp - 0x308], xmm0
jbe 0x1001cbe9
addss xmm1, dword [0x10066f08]
subss xmm1, dword [0x10066ecc]
comiss xmm1, xmm2
jbe 0x1001cbe9
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001cbe9
addss xmm0, dword [0x10066f70]
subss xmm0, dword [0x10066f6c]
comiss xmm0, xmm1
jbe 0x1001cbe9
push 4
call fcn.100388e5
add esp, 4
mov dword [ebp - 0x1ac], eax
mov dword [eax], 0x1001b1a0
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x13
push ecx
push 0
push eax
push 0x100325e0
push 0
push 0
call fcn.10045978
add esp, 0x18
mov dword [ebp - 0x238], eax
test eax, eax
je 0x1001d792
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x1001d75a
push ecx
push eax
call fcn.10038564
add esp, 8
test eax, eax
jne 0x1001d75a
xorps xmm0, xmm0
mov byte [0x1006f65d], al
movlpd qword [ebp - 0x238], xmm0
mov byte [ebp - 4], 8
push 1
call esi
mov edx, dword [0x1006f6cc]
mov ecx, 0x8001
test cx, ax
mov dword [ebp - 0x36c], edx
mov ecx, dword [0x1006f628]
mov dword [ebp - 0x1ac], ecx
je 0x1001cca8
movq xmm0, qword [0x10064ef0]
lea eax, [ecx - 0x20]
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x318], xmm0
movd xmm1, eax
lea eax, [edx - 0xb]
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
addss xmm1, dword [ebp - 0x318]
addss xmm0, dword [ebp - 0x314]
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x318], xmm1
comiss xmm2, xmm1
movss dword [ebp - 0x314], xmm0
jbe 0x1001cca8
addss xmm1, dword [0x10066f14]
subss xmm1, dword [0x10066f0c]
comiss xmm1, xmm2
jbe 0x1001cca8
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001cca8
addss xmm0, dword [0x10066f70]
subss xmm0, dword [0x10066f6c]
comiss xmm0, xmm1
jbe 0x1001cca8
mov byte [0x1006f65d], 0
movups xmm1, xmmword [0x10064cdc]
mov eax, dword [0x10064ebc]
movq xmm0, qword [0x10064eb4]
movq qword [ebp - 0x2ac], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x2a4], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
push 0xffffffffffffffff
sub eax, ecx
mov ecx, dword [ebp - 0x1ac]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x2ac]
movss dword [ebp - 0x2ac], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [ebp - 0x36c]
cdq
sub eax, edx
lea edx, [ebp - 0x2ac]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x2a8]
push ecx
movss dword [ebp - 0x2a8], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064da8]
mov eax, dword [0x10064f7c]
movq xmm0, qword [0x10064f74]
movq qword [ebp - 0x2b8], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x2b0], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x2b8], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x2b4]
movss dword [ebp - 0x2b4], xmm0
mov ecx, dword [0x1006f680]
lea edx, [ebp - 0x2b8]
push 0xffffffffffffffff
push edx
push 0
mov eax, dword [ecx]
lea edx, [ebp - 0x1c8]
push edx
push dword [0x1006f610]
push ecx
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064b80]
mov eax, dword [0x10064ef8]
movq xmm0, qword [0x10064ef0]
movq qword [ebp - 0x2c4], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x2bc], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
push 0xffffffffffffffff
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x2c4], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
lea edx, [ebp - 0x2c4]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x2c0]
push ecx
movss dword [ebp - 0x2c0], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064df8]
mov eax, dword [0x10064e5c]
movq xmm0, qword [0x10064e54]
movq qword [ebp - 0x2d0], xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
mov dword [ebp - 0x2c8], eax
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x2d0]
movss dword [ebp - 0x2d0], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
push dword [ebp - 0x374]
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
lea edx, [ebp - 0x2d0]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x2cc]
push ecx
movss dword [ebp - 0x2cc], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
cmp byte [0x1006f65e], 0
je 0x1001d49d
push 1
call esi
mov ecx, 0x8001
test cx, ax
je 0x1001d0e2
mov eax, dword [0x1006f628]
movq xmm0, qword [0x10064f74]
add eax, 0xffffffe0
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x324], xmm0
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, dword [0x1006f6cc]
add eax, 0xfffffff5
cvtdq2ps xmm1, xmm1
movd xmm0, eax
addss xmm1, dword [ebp - 0x324]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm1
addss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x324], xmm1
movss dword [ebp - 0x320], xmm0
jbe 0x1001d0e2
addss xmm1, dword [0x10066f08]
subss xmm1, dword [0x10066ecc]
comiss xmm1, xmm2
jbe 0x1001d0e2
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001d0e2
addss xmm0, dword [0x10066f70]
subss xmm0, dword [0x10066f6c]
comiss xmm0, xmm1
jbe 0x1001d0e2
push 4
call fcn.100388e5
add esp, 4
mov dword [ebp - 0x1ac], eax
mov dword [eax], 0x1001b230
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0x15
push ecx
push 0
push eax
push 0x100325e0
push 0
push 0
call fcn.10045978
add esp, 0x18
mov dword [ebp - 0x1b4], eax
test eax, eax
je 0x1001d761
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x1b0]
test ecx, ecx
je 0x1001d75a
push ecx
push eax
call fcn.10038564
add esp, 8
test eax, eax
jne 0x1001d75a
xorps xmm0, xmm0
mov byte [0x1006f65e], al
movlpd qword [ebp - 0x1b4], xmm0
mov byte [ebp - 4], 8
push 1
call esi
mov edx, dword [0x1006f6cc]
mov ecx, 0x8001
test cx, ax
mov dword [ebp - 0x36c], edx
mov ecx, dword [0x1006f628]
mov dword [ebp - 0x1ac], ecx
je 0x1001d1a1
movq xmm0, qword [0x10064ef0]
lea eax, [ecx - 0x20]
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x1e4], xmm0
movd xmm1, eax
lea eax, [edx - 0xb]
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
addss xmm1, dword [ebp - 0x1e4]
addss xmm0, dword [ebp - 0x1e0]
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x1e4], xmm1
comiss xmm2, xmm1
movss dword [ebp - 0x1e0], xmm0
jbe 0x1001d1a1
addss xmm1, dword [0x10066f14]
subss xmm1, dword [0x10066f0c]
comiss xmm1, xmm2
jbe 0x1001d1a1
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001d1a1
addss xmm0, dword [0x10066f70]
subss xmm0, dword [0x10066f6c]
comiss xmm0, xmm1
jbe 0x1001d1a1
mov byte [0x1006f65e], 0
movups xmm1, xmmword [0x10064c7c]
mov eax, dword [0x10064ebc]
movq xmm0, qword [0x10064eb4]
movq qword [ebp - 0x24c], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x244], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
push 0xffffffffffffffff
sub eax, ecx
mov ecx, dword [ebp - 0x1ac]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x24c]
movss dword [ebp - 0x24c], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [ebp - 0x36c]
cdq
sub eax, edx
lea edx, [ebp - 0x24c]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x248]
push ecx
movss dword [ebp - 0x248], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064da8]
mov eax, dword [0x10064f7c]
movq xmm0, qword [0x10064f74]
movq qword [ebp - 0x258], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x250], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x258]
movss dword [ebp - 0x258], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x254]
movss dword [ebp - 0x254], xmm0
mov ecx, dword [0x1006f680]
lea edx, [ebp - 0x258]
push 0xffffffffffffffff
push edx
push 0
mov eax, dword [ecx]
lea edx, [ebp - 0x1c8]
push edx
push dword [0x1006f610]
push ecx
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064b80]
mov eax, dword [0x10064ef8]
movq xmm0, qword [0x10064ef0]
movq qword [ebp - 0x264], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x25c], eax
psrldq xmm0, 8
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
push 0xffffffffffffffff
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x264]
movss dword [ebp - 0x264], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
lea edx, [ebp - 0x264]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x260]
push ecx
movss dword [ebp - 0x260], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
movups xmm1, xmmword [0x10064bc0]
mov eax, dword [0x10064e44]
movq xmm0, qword [0x10064e3c]
movq qword [ebp - 0x208], xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
mov dword [ebp - 0x200], eax
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x1c8], xmm1
sub eax, ecx
mov ecx, dword [0x1006f628]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x208]
movss dword [ebp - 0x208], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 4
push dword [ebp - 0x374]
movd ecx, xmm1
sub eax, ecx
mov ecx, dword [0x1006f6cc]
cdq
sub eax, edx
lea edx, [ebp - 0x208]
sar eax, 1
sub ecx, eax
push edx
push 0
lea edx, [ebp - 0x1c8]
movd xmm0, ecx
mov ecx, dword [0x1006f680]
cvtdq2ps xmm0, xmm0
push edx
push dword [0x1006f610]
addss xmm0, dword [ebp - 0x204]
push ecx
movss dword [ebp - 0x204], xmm0
mov eax, dword [ecx]
call dword [eax + 0x24]
inc edi
mov dword [ebp - 0x364], edi
cmp edi, 0x19
jl 0x1001be0b
cmp dword [0x1006f5fc], 1
jne 0x1001d5b8
call fcn.10008c80
jmp 0x1001d5d6
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp dword [0x1006f6f8], 3
jg 0x1001caa5
push 1
call esi
mov ecx, 0x8001
test cx, ax
je 0x1001caa5
mov eax, dword [0x1006f628]
movq xmm0, qword [0x10064e3c]
add eax, 0xffffffe4
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x300], xmm0
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, dword [0x1006f6cc]
add eax, 0xffffffe2
cvtdq2ps xmm1, xmm1
movd xmm0, eax
addss xmm1, dword [ebp - 0x300]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm1
addss xmm0, dword [ebp - 0x2fc]
movss dword [ebp - 0x300], xmm1
movss dword [ebp - 0x2fc], xmm0
jbe 0x1001caa5
addss xmm1, dword [0x10066f60]
subss xmm1, dword [0x10066f50]
comiss xmm1, xmm2
jbe 0x1001caa5
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001caa5
addss xmm0, dword [0x10066f2c]
subss xmm0, dword [0x10066f28]
comiss xmm0, xmm1
jbe 0x1001caa5
cmp byte [0x1006f65d], 0
jne 0x1001cab8
cmp byte [0x1006f5f8], 0
mov byte [0x1006f65e], 1
sete byte [0x1006f5f8]
jmp 0x1001cfb1
cmp dword [0x1006f5fc], 2
jne 0x1001d5c8
call fcn.1000e220
jmp 0x1001d5d6
cmp dword [0x1006f5fc], 3
jne 0x1001d5d6
call fcn.100137d0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x334]
cmp ecx, 7
jbe 0x1001d61a
mov edx, dword [ebp - 0x348]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001d610
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d7a3
push ecx
push edx
call fcn.10038915
add esp, 8
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x34c]
cmp ecx, 7
jbe 0x1001d65e
mov edx, dword [ebp - 0x360]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001d654
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d7a3
push ecx
push edx
call fcn.10038915
add esp, 8
push 1
call esi
test ax, ax
jns 0x1001d6f3
mov eax, dword [0x1006f628]
movq xmm0, qword [0x10064f08]
add eax, 0xfffffff6
movd xmm2, dword [0x1006f6d0]
movq qword [ebp - 0x1e4], xmm0
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, dword [0x1006f6cc]
add eax, 0xfffffff8
cvtdq2ps xmm1, xmm1
movd xmm0, eax
addss xmm1, dword [ebp - 0x1e4]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm1
addss xmm0, dword [ebp - 0x1e0]
jbe 0x1001d6f3
addss xmm1, dword [0x10066f58]
subss xmm1, dword [0x10066f4c]
comiss xmm1, xmm2
jbe 0x1001d6f3
movd xmm1, dword [0x1006f6d4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1001d6f3
addss xmm0, dword [0x10066f04]
subss xmm0, dword [0x10066f00]
comiss xmm0, xmm1
ja 0x1001d6fc
push 0x1b
call esi
test ax, ax
jns 0x1001d726
mov byte [0x1006f5fb], 0
mov byte [0x1006f5fa], 0
mov byte [0x1006f5f8], 0
mov byte [0x1006f65d], 0
mov byte [0x1006f5f9], 0
mov byte [0x1006f65e], 0
mov eax, dword [0x1006f680]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea ecx, [ebp - 0x1d4]
call fcn.10022600
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100388d2
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 1
call fcn.10037a36
push 6
mov dword [ebp - 0x1b0], 0
call fcn.10037a36
call fcn.10046ec7
call fcn.10046ec7
call fcn.10046ec7
push 6
mov dword [ebp - 0x23c], 0
call fcn.10037a36
push 6
mov dword [ebp - 0x234], 0
call fcn.10037a36
call fcn.10046ec7
int3