Function at 0x100851a0
Capabilities:
Log keystrokes via polling

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 0x100cbcaf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x1e8
push esi
mov dword [ebp - 0x1c], 0
cmp byte [0x102b1814], 0
push edi
je 0x100859fc
mov eax, dword [0x102b16b4]
cmp dword [eax], 0
je 0x10086d82
mov eax, dword fs:[0x2c]
mov ecx, dword [0x102b8d40]
mov edi, dword [eax + ecx*4]
mov eax, dword [0x102b739c]
cmp eax, dword [edi + 4]
jg 0x10086d95
mov ecx, dword [0x102b16a4]
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0x24]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [0x102b16b4]
mov dword [ebp - 0x1c], 0x3f800000
mov dword [ebp - 0x14], 0
mov ecx, dword [eax]
call fcn.10030ac0
push dword [0x102b1834]
xorps xmm1, xmm1
lea edx, [ebp - 0x2c]
push dword [0x102b1830]
movss xmm0, dword [eax]
lea ecx, [ebp - 0x14]
divss xmm0, dword [0x100daf70]
lea esi, [ebp - 0x1c]
push dword [0x102b182c]
comiss xmm1, xmm0
push dword [0x102b1828]
movss dword [ebp - 0x2c], xmm0
seta al
test al, al
cmove ecx, edx
comiss xmm0, dword [0x100ce544]
seta al
test al, al
cmove esi, ecx
lea ecx, [ebp - 0x58]
call fcn.1009b0f0
push dword [0x102b1844]
lea ecx, [ebp - 0x98]
push dword [0x102b1840]
movups xmm0, xmmword [eax]
push dword [0x102b183c]
movups xmmword [ebp - 0x40], xmm0
push dword [0x102b1838]
call fcn.1009b0f0
movups xmm3, xmmword [ebp - 0x40]
movss xmm4, dword [esi]
movups xmm2, xmmword [eax]
movaps xmm0, xmm3
psrldq xmm0, 0xc
movd eax, xmm0
movaps xmm0, xmm2
psrldq xmm0, 0xc
movd xmm1, eax
movd eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
movaps xmm0, xmm3
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
cvttss2si esi, xmm1
movd xmm1, eax
movd eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
movaps xmm0, xmm3
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm2
psrldq xmm0, 4
cvttss2si edx, xmm1
movd xmm1, eax
movd eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push esi
push edx
movd eax, xmm3
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
cvttss2si ecx, xmm1
movd xmm1, eax
movd eax, xmm2
cvtdq2ps xmm1, xmm1
push ecx
lea ecx, [ebp - 0x68]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
cvttss2si eax, xmm1
push eax
call fcn.1009b0f0
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
mov eax, dword [0x102b16b4]
mov dword [ebp - 4], 0
mov ecx, dword [eax]
call fcn.10030ac0
movss xmm0, dword [eax]
mov eax, dword [0x102b73a0]
movss dword [ebp - 0x20], xmm0
cmp eax, dword [edi + 4]
jg 0x10086dcb
jmp 0x100853fc
movss xmm0, dword [ebp - 0x20]
cvtps2pd xmm0, xmm0
sub esp, 8
lea eax, [ebp - 0x130]
movsd qword [esp], xmm0
push str._.1f
push eax
call fcn.10086e50
movups xmm0, xmmword [0x102b1868]
add esp, 0x10
lea ecx, [ebp - 0x1f8]
movups xmmword [ebp - 0x40], xmm0
push 1
call fcn.10082300
mov eax, dword [ebp - 0x1e8]
movss xmm0, dword [ebp - 0x20]
push 0
mov byte [ebp - 4], 1
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0x1d4]
and eax, 0xffffefff
or eax, 0x2000
mov dword [ebp + ecx - 0x1d4], eax
xor eax, eax
comiss xmm0, dword [0x100ce534]
seta al
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.1009ddec
lea edx, [ebp - 0x1e8]
push dword [eax + 0xc]
mov ecx, dword [eax]
push dword [eax + 8]
mov eax, dword [ebp - 0x1e8]
mov eax, dword [eax + 4]
add eax, edx
push eax
call ecx
movss xmm0, dword [ebp - 0x20]
lea ecx, [ebp - 0x1e8]
add esp, 0x14
movss dword [esp], xmm0
call fcn.10082750
mov edx, dword [ebp - 0x1a4]
xorps xmm0, xmm0
mov eax, edx
mov byte [ebp - 4], 2
and al, 0x22
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x1c], 2
movq qword [ebp - 0x54], xmm0
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x88], xmm0
mov byte [ebp - 0x88], 0
cmp al, 2
je 0x10085515
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax]
test ecx, ecx
je 0x10085515
mov eax, dword [ebp - 0x1d0]
cmp ecx, dword [ebp - 0x1a8]
cmovb ecx, dword [ebp - 0x1a8]
mov edx, dword [eax]
sub ecx, edx
jmp 0x10085542
test dl, 4
jne 0x1008553c
mov eax, dword [ebp - 0x1c4]
mov esi, dword [eax]
test esi, esi
je 0x1008553c
mov eax, dword [ebp - 0x1d4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax]
add ecx, esi
sub ecx, edx
jmp 0x10085542
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
test edx, edx
je 0x10085553
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.10070aa0
movups xmm0, xmmword [ebp - 0x88]
mov eax, dword [0x102b16b4]
mov dword [ebp - 4], 1
movups xmmword [ebp - 0xd0], xmm0
movq xmm0, qword [ebp - 0x78]
mov ecx, dword [eax]
movq qword [ebp - 0xc0], xmm0
call fcn.1000ef00
test byte [eax], 1
je 0x100856fc
lea ecx, [ebp - 0x130]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085593
sub ecx, edx
lea eax, [ebp - 0x130]
push ecx
push eax
mov ecx, 0x1014c400
call fcn.10070aa0
cmp byte [0x102b1e59], 0
lea ecx, [ebp - 0x98]
jne 0x1008564d
push 0
push 0
push 0
call fcn.1009b0c0
push 0xff
push dword [ebp - 0x38]
lea ecx, [ebp - 0xe0]
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
push dword [ebp - 0x3c]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x40]
call fcn.1009b0f0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x58]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
sub esi, dword [0x102b1888]
mov dword [ebp - 0x2c], eax
inc esi
mov eax, dword [ebp - 0x24]
cdq
sub eax, edx
mov edi, eax
mov eax, esp
push dword [ebp - 0x1c]
sar edi, 1
push 1
movups xmmword [eax], xmm0
sub esp, 0x10
inc edi
movups xmm0, xmmword [ecx]
mov eax, esp
sub esp, 0x18
mov ecx, esp
movups xmmword [eax], xmm0
lea eax, [ebp - 0xd0]
push eax
call fcn.100237e0
push dword [ebp - 0x2c]
jmp 0x100856b5
push dword [ebp - 0x5c]
push 0
push 0
push 0
call fcn.1009b0f0
mov ecx, dword [0x102b7460]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
sub esi, dword [0x102b1888]
mov eax, dword [ecx + 0x38]
inc esi
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
mov edi, eax
mov eax, esp
push dword [0x102b2120]
sar edi, 1
push 1
movups xmmword [eax], xmm0
sub esp, 0x10
inc edi
movups xmm0, xmmword [ebp - 0x68]
mov eax, esp
sub esp, 0x18
mov ecx, esp
movups xmmword [eax], xmm0
lea eax, [ebp - 0xd0]
push eax
call fcn.100237e0
push dword [ebp - 0x14]
mov ecx, dword [0x102b7460]
sub esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1008ed90
mov eax, dword [0x102b16ac]
movss xmm0, dword [eax + 0x10]
addss xmm0, dword [0x100d5448]
cvttss2si eax, xmm0
mov dword [0x102b73a4], eax
jmp 0x100859b0
cmp byte [0x102b1e59], 0
lea ecx, [ebp - 0x98]
jne 0x1008588d
push 0
push 0
push 0
call fcn.1009b0c0
push 0xff
push dword [ebp - 0x38]
lea ecx, [ebp - 0xe0]
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
push dword [ebp - 0x3c]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x40]
call fcn.1009b0f0
mov ecx, dword [0x102b7460]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
sub esi, dword [0x102b1888]
movups xmm0, xmmword [ebp - 0x58]
mov dword [ebp - 0x14], eax
inc esi
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
cdq
sub eax, edx
mov edi, eax
mov eax, esp
push dword [ebp - 0x1c]
sar edi, 1
push 1
movups xmmword [eax], xmm0
inc edi
sub esp, 0x10
movups xmm0, xmmword [ecx]
mov eax, esp
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x74], 0
lea edx, [ecx + 1]
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100857a6
sub ecx, edx
lea eax, [ebp - 0x130]
push ecx
push eax
lea ecx, [ebp - 0x88]
call fcn.100098b0
push 0x100dae20
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.1006c140
push 0x1014c400
push eax
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 4
push eax
call fcn.10081b70
mov ecx, esp
mov byte [ebp - 4], 5
push 0x100dae1c
push eax
push ecx
call fcn.1006c140
mov ecx, dword [0x102b7460]
add esp, 0xc
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x2c]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1008ed90
lea ecx, [ebp - 0x110]
call fcn.10004090
lea ecx, [ebp - 0xf8]
call fcn.10004090
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 1
cmp ecx, 0xf
jbe 0x100859b0
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008587e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086e44
push ecx
push edx
call fcn.1009e622
add esp, 8
jmp 0x100859b0
push dword [ebp - 0x5c]
push 0
push 0
push 0
call fcn.1009b0f0
mov ecx, dword [0x102b7460]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
sub esi, dword [0x102b1888]
mov dword [ebp - 0x1c], eax
inc esi
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
mov dword [ebp - 0x78], 0
mov edi, eax
mov dword [ebp - 0x74], 0
mov eax, esp
sar edi, 1
push dword [0x102b2120]
inc edi
lea ecx, [ebp - 0x130]
push 1
movups xmmword [eax], xmm0
sub esp, 0x10
lea edx, [ecx + 1]
movups xmm0, xmmword [ebp - 0x68]
mov eax, esp
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085902
sub ecx, edx
lea eax, [ebp - 0x130]
push ecx
push eax
lea ecx, [ebp - 0x88]
call fcn.100098b0
push 0x100dae20
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.1006c140
push 0x1014c400
push eax
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 7
push eax
call fcn.10081b70
mov ecx, esp
mov byte [ebp - 4], 8
push 0x100dae1c
push eax
push ecx
call fcn.1006c140
mov ecx, dword [0x102b7460]
add esp, 0xc
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x14]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1008ed90
lea ecx, [ebp - 0x110]
call fcn.10004090
lea ecx, [ebp - 0xf8]
call fcn.10004090
lea ecx, [ebp - 0x88]
call fcn.10004090
lea ecx, [ebp - 0x1f8]
call fcn.10082950
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x100859fc
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100859f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086e49
push ecx
push edx
call fcn.1009e622
add esp, 8
cmp byte [0x102b188c], 0
je 0x100862d8
mov ecx, dword [0x102b16a4]
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, dword [0x102b16b4]
cmp dword [esi], 0
je 0x10086d82
mov ecx, dword [esi]
call fcn.1000f210
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x54], xmm0
movss xmm1, dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x50]
mulss xmm1, xmm1
mov dword [ebp - 0x4c], eax
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10085a69
sqrtsd xmm0, xmm0
jmp 0x10085a6e
call fcn.100a4700
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x1c], xmm0
fld dword [ebp - 0x1c]
fstp dword [esp]
call fcn.100a870d
mov ecx, dword [esi]
add esp, 4
fstp dword [ebp - 0x24]
call fcn.1000f210
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10085ab7
sqrtsd xmm0, xmm0
jmp 0x10085abc
call fcn.100a4700
cvtsd2ss xmm0, xmm0
mov dword [ebp - 0x18], 0x3f800000
mov dword [ebp - 0x1c], 0
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x100ce708]
cvttsd2si eax, xmm0
mov dword [ebp - 0x28], eax
mov eax, dword [0x102b16b4]
mov ecx, dword [eax]
call fcn.1000f210
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10085b14
sqrtsd xmm0, xmm0
jmp 0x10085b19
call fcn.100a4700
cvtsd2ss xmm0, xmm0
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x1c]
lea edi, [ebp - 0x18]
push dword [0x102b1864]
divss xmm0, dword [0x100daf74]
push dword [0x102b1860]
xorps xmm1, xmm1
movss dword [ebp - 0x44], xmm0
comiss xmm1, xmm0
push dword [0x102b185c]
push dword [0x102b1858]
seta al
test al, al
cmove ecx, edx
comiss xmm0, dword [0x100ce544]
seta al
test al, al
cmove edi, ecx
lea ecx, [ebp - 0x98]
call fcn.1009b0f0
push dword [0x102b1854]
lea ecx, [ebp - 0x58]
push dword [0x102b1850]
movups xmm0, xmmword [eax]
push dword [0x102b184c]
movups xmmword [ebp - 0x68], xmm0
push dword [0x102b1848]
call fcn.1009b0f0
movss xmm0, dword [edi]
sub esp, 0x14
mov ecx, esp
movss dword [esp + 0x10], xmm0
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x68]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x40]
push eax
movups xmmword [ecx], xmm0
call fcn.10084900
mov edi, dword [ebp - 0x28]
add esp, 0x28
movss xmm1, dword [0x102b7354]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10085c01
push dword [0x102b1a68]
lea ecx, [ebp - 0x98]
push dword [0x102b1a64]
push dword [0x102b1a60]
call fcn.1009b0c0
jmp 0x10085c48
comiss xmm1, xmm0
jbe 0x10085c1c
mov eax, dword [0x102b1a90]
lea ecx, [ebp - 0x58]
mov edx, dword [0x102b1a94]
mov edi, dword [0x102b1a98]
jmp 0x10085c33
mov eax, dword [0x102b1a50]
lea ecx, [ebp - 0xb0]
mov edx, dword [0x102b1a54]
mov edi, dword [0x102b1a58]
push edi
push edx
push eax
call fcn.1009b0c0
mov edi, dword [ebp - 0x28]
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x68]
movups xmmword [ebp - 0x68], xmm0
movups xmm0, xmmword [eax]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movups xmmword [ebp - 0x68], xmm0
movss xmm0, dword [0x102b7354]
comiss xmm0, xmm1
jbe 0x10085c6d
lea ecx, [ebp - 0xb0]
xor eax, eax
jmp 0x10085c78
lea ecx, [ebp - 0x98]
mov eax, 0xaa
push eax
push 0xff
push 0xff
push 0xff
call fcn.1009b0f0
lea eax, [ebp - 0x110]
push edi
push eax
call fcn.10085150
mov eax, dword [0x102b16ac]
mov dword [ebp - 4], 9
push dword [eax + 0x1c]
lea eax, [ebp - 0xf8]
push eax
call fcn.10085150
add esp, 0x10
mov ecx, dword [0x102b16ac]
mov eax, dword [0x102b7350]
add eax, 5
mov byte [ebp - 4], 0xa
cmp eax, dword [ecx + 0x1c]
jge 0x10085ce6
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [0x102b7354], xmm0
mov eax, dword [ecx + 0x1c]
mov dword [0x102b7350], eax
cmp dword [ecx + 0x1c], 0x7d0
jg 0x10085d08
xor edi, edi
lea ecx, [ebp - 0x110]
push edi
push 0x100d46c0
call fcn.10070aa0
mov dword [0x102b7350], edi
mov eax, dword [0x102b16b4]
mov ecx, dword [eax]
call fcn.1000ef00
test byte [eax], 1
je 0x10085d4b
cmp byte [0x102b7340], 0
je 0x10085d29
mov byte [0x102b7340], 0
push edi
mov ecx, 0x1014c3d0
call fcn.10082530
movzx eax, byte [0x102b7340]
mov ecx, 0x1014c3e8
push eax
call fcn.10082530
jmp 0x10085dd5
cmp byte [0x102b7340], 0
jne 0x10085dd5
cvttss2si eax, dword [ebp - 0x24]
mov byte [0x102b7340], 1
push eax
mov dword [0x102b7344], eax
lea eax, [ebp - 0xa0]
push eax
call fcn.10085150
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xb
push 0x100dae20
push eax
call fcn.10081bd0
push 0x100dae1c
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xc
push eax
call fcn.1006c140
add esp, 0x20
mov ecx, 0x1014c3e8
push eax
call fcn.100824f0
lea ecx, [ebp - 0x88]
call fcn.10004090
lea ecx, [ebp - 0xb8]
call fcn.10004090
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xa
call fcn.10004090
cvttss2si eax, dword [ebp - 0x24]
mov ecx, dword [esi]
mov edi, 0xff
cmp eax, edi
cmovl edi, eax
call fcn.10099bc0
cmp eax, 8
je 0x100862bb
cmp byte [0x102b1e58], 0
jne 0x10085ed7
cmp byte [0x102b180c], 0
je 0x10085e1e
push edi
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
call fcn.1009b0f0
jmp 0x10085e2f
push 0
push 0
push 0
lea ecx, [ebp - 0x98]
call fcn.1009b0c0
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
lea ecx, [ebp - 0xe0]
cmp byte [0x102b180c], 0
mov dword [ebp - 0x18], eax
mov eax, 0xff
cmovne eax, edi
push eax
push dword [ebp - 0x60]
movups xmmword [ebp - 0x58], xmm0
push dword [ebp - 0x64]
push dword [ebp - 0x68]
call fcn.1009b0f0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x58]
mov dword [ebp - 0x44], eax
mov esi, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
cdq
sub eax, edx
sub esi, dword [0x102b1bdc]
mov edi, eax
inc esi
mov eax, esp
sar edi, 1
push dword [ebp - 0x18]
inc edi
push 1
movups xmmword [eax], xmm0
sub esp, 0x10
movups xmm0, xmmword [ecx]
mov eax, esp
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.10085150
sub esp, 0x10
mov byte [ebp - 4], 0xd
mov ecx, esp
push 0x1014c3e8
push eax
push ecx
call fcn.10081b70
add esp, 0xc
push dword [ebp - 0x1c]
jmp 0x10085f5e
push dword [ebp - 0x34]
lea ecx, [ebp - 0xb0]
push 0
push 0
push 0
call fcn.1009b0f0
mov ecx, dword [0x102b7460]
sub esp, 0x10
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x2c]
sub esi, dword [0x102b1bdc]
mov eax, dword [ecx + 0x38]
inc esi
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x14]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
mov edi, eax
mov eax, esp
push dword [0x102b2120]
sar edi, 1
push 1
movups xmmword [eax], xmm0
sub esp, 0x10
inc edi
movups xmm0, xmmword [ebp - 0x40]
mov eax, esp
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.10085150
sub esp, 0x10
mov byte [ebp - 4], 0xe
mov ecx, esp
push 0x1014c3e8
push eax
push ecx
call fcn.10081b70
add esp, 0xc
push dword [ebp - 0x44]
mov ecx, dword [0x102b7460]
sub esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1008ed90
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xa
call fcn.10004090
mov eax, dword [0x102b16b4]
cmp dword [eax], 0
jne 0x10085fd1
lea ecx, [ebp - 0xf8]
mov dword [0x102b7354], 0
call fcn.10004090
lea ecx, [ebp - 0x110]
call fcn.10004090
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [0x102b16a4]
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, dword [0x102b16b4]
mov ecx, dword [esi]
call fcn.1000f210
movq xmm0, qword [eax]
movq qword [ebp - 0x54], xmm0
movss xmm1, dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x50]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10086022
sqrtsd xmm0, xmm0
jmp 0x10086027
call fcn.100a4700
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call fcn.100a870d
mov ecx, dword [esi]
add esp, 4
fstp dword [ebp - 0x24]
call fcn.1000f210
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10086070
sqrtsd xmm0, xmm0
jmp 0x10086075
call fcn.100a4700
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x102b7354]
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x100ce708]
cvttsd2si eax, xmm0
mov dword [ebp - 0x18], eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100860bd
mov eax, dword [0x102b1a60]
lea ecx, [ebp - 0xb0]
mov edx, dword [0x102b1a64]
mov edi, dword [0x102b1a68]
jmp 0x100860f2
comiss xmm1, xmm0
jbe 0x100860db
mov eax, dword [0x102b1a90]
lea ecx, [ebp - 0x98]
mov edx, dword [0x102b1a94]
mov edi, dword [0x102b1a98]
jmp 0x100860f2
mov eax, dword [0x102b1a50]
lea ecx, [ebp - 0xe0]
mov edx, dword [0x102b1a54]
mov edi, dword [0x102b1a58]
push edi
push edx
push eax
call fcn.1009b0c0
mov edi, dword [ebp - 0x18]
movss xmm0, dword [0x102b7354]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x1008611b
lea ecx, [ebp - 0xb0]
xor eax, eax
jmp 0x10086126
lea ecx, [ebp - 0x98]
mov eax, 0xaa
push eax
push 0xff
push 0xff
push 0xff
call fcn.1009b0f0
lea eax, [ebp - 0x88]
push edi
push eax
call fcn.10085150
mov eax, dword [0x102b16ac]
mov byte [ebp - 4], 0xf
push dword [eax + 0x1c]
lea eax, [ebp - 0x12c]
push eax
call fcn.10085150
add esp, 0x10
mov ecx, dword [0x102b16ac]
mov eax, dword [0x102b7350]
add eax, 5
mov byte [ebp - 4], 0x10
cmp eax, dword [ecx + 0x1c]
jge 0x10086191
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [0x102b7354], xmm0
mov eax, dword [ecx + 0x1c]
mov dword [0x102b7350], eax
cmp dword [ecx + 0x1c], 0x7d0
jg 0x100861b3
xor edi, edi
lea ecx, [ebp - 0x88]
push edi
push 0x100d46c0
call fcn.10070aa0
mov dword [0x102b7350], edi
cvttss2si eax, dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.10085150
add esp, 8
mov eax, dword [0x102b16b4]
mov byte [ebp - 4], 0x11
mov ecx, dword [eax]
call fcn.1000ef00
test byte [eax], 1
je 0x1008620c
cmp byte [0x102b7340], 0
je 0x100861ea
mov byte [0x102b7340], 0
push edi
mov ecx, 0x1014c3d0
call fcn.10082530
movzx eax, byte [0x102b7340]
mov ecx, 0x1014c3e8
push eax
call fcn.10082530
jmp 0x10086296
cmp byte [0x102b7340], 0
jne 0x10086296
cvttss2si eax, dword [ebp - 0x24]
mov byte [0x102b7340], 1
push eax
mov dword [0x102b7344], eax
lea eax, [ebp - 0xa0]
push eax
call fcn.10085150
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
push 0x100dae20
push eax
call fcn.10081bd0
push 0x100dae1c
push eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x13
push eax
call fcn.1006c140
add esp, 0x20
mov ecx, 0x1014c3e8
push eax
call fcn.100824f0
lea ecx, [ebp - 0x148]
call fcn.10004090
lea ecx, [ebp - 0xb8]
call fcn.10004090
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x11
call fcn.10004090
mov ecx, dword [esi]
call fcn.10099bc0
lea ecx, [ebp - 0x70]
call fcn.10004090
lea ecx, [ebp - 0x12c]
call fcn.10004090
lea ecx, [ebp - 0x88]
call fcn.10004090
lea ecx, [ebp - 0xf8]
call fcn.10004090
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
call fcn.10004090
cmp byte [0x102b2144], 0
je 0x10086d82
mov ecx, dword [0x102b16a4]
lea edx, [ebp - 0x30]
push edx
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
cmp byte [0x102b1bcf], 0
movd xmm1, dword [ebp - 0x30]
movd xmm0, dword [0x102b1be0]
mov eax, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvttss2si edi, xmm1
je 0x10086468
push dword [0x102b18f8]
call eax
test ax, ax
je 0x10086463
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
call fcn.1009b0f0
cmp byte [0x102b22ab], 0
push 0xff
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
mov dword [ebp - 0x18], eax
movups xmmword [ebp - 0x40], xmm0
je 0x100863c6
movd xmm0, dword [0x102b1aa8]
lea ecx, [ebp - 0x68]
movss xmm3, dword [0x100d341c]
movd xmm1, dword [0x102b1aa4]
movd xmm2, dword [0x102b1aa0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1009b0f0
lea eax, [ebp - 0x68]
jmp 0x100863db
push 0xff
push 0xff
lea ecx, [ebp - 0x98]
call fcn.1009b0c0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
push esi
xorps xmm0, xmm0
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100dae24]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x102b7460]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.1008ed90
add edi, dword [0x102b1bd8]
mov eax, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp byte [0x102b1bd5], 0
je 0x100865b3
push dword [0x102b1b94]
call eax
test ax, ax
je 0x100865b3
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
call fcn.1009b0f0
cmp byte [0x102b22a8], 0
push 0xff
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
mov dword [ebp - 0x18], eax
movups xmmword [ebp - 0x40], xmm0
je 0x10086516
movd xmm0, dword [0x102b1aa8]
lea ecx, [ebp - 0x68]
movss xmm3, dword [0x100d341c]
movd xmm1, dword [0x102b1aa4]
movd xmm2, dword [0x102b1aa0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1009b0f0
lea eax, [ebp - 0x68]
jmp 0x1008652b
push 0xff
push 0xff
lea ecx, [ebp - 0x98]
call fcn.1009b0c0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
push esi
xorps xmm0, xmm0
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100dae28]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x102b7460]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.1008ed90
add edi, dword [0x102b1bd8]
cmp byte [0x102b1bd4], 0
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
je 0x1008670a
push dword [0x102b1900]
call esi
test ax, ax
je 0x1008670a
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
call fcn.1009b0f0
cmp byte [0x102b22aa], 0
push 0xff
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
mov dword [ebp - 0x18], eax
movups xmmword [ebp - 0x40], xmm0
je 0x10086667
movd xmm0, dword [0x102b1aa8]
lea ecx, [ebp - 0x68]
movss xmm3, dword [0x100d341c]
movd xmm1, dword [0x102b1aa4]
movd xmm2, dword [0x102b1aa0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1009b0f0
lea eax, [ebp - 0x68]
jmp 0x1008667c
push 0xff
push 0xff
lea ecx, [ebp - 0x98]
call fcn.1009b0c0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
push esi
xorps xmm0, xmm0
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100cf7b8]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x102b7460]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.1008ed90
add edi, dword [0x102b1bd8]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp byte [0x102b1bcd], 0
je 0x10086855
push dword [0x102b18b4]
call esi
test ax, ax
je 0x10086855
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
call fcn.1009b0f0
cmp byte [0x102b22ae], 0
push 0xff
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
mov dword [ebp - 0x18], eax
movups xmmword [ebp - 0x40], xmm0
je 0x100867b8
movd xmm0, dword [0x102b1aa8]
lea ecx, [ebp - 0x68]
movss xmm3, dword [0x100d341c]
movd xmm1, dword [0x102b1aa4]
movd xmm2, dword [0x102b1aa0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1009b0f0
lea eax, [ebp - 0x68]
jmp 0x100867cd
push 0xff
push 0xff
lea ecx, [ebp - 0x98]
call fcn.1009b0c0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
push esi
xorps xmm0, xmm0
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100cee28]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x102b7460]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.1008ed90
add edi, dword [0x102b1bd8]
cmp byte [0x102b1bcc], 0
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
je 0x100869ac
push dword [0x102b1b8c]
call esi
test ax, ax
je 0x100869ac
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
call fcn.1009b0f0
cmp byte [0x102b22a9], 0
push 0xff
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
mov dword [ebp - 0x18], eax
movups xmmword [ebp - 0x40], xmm0
je 0x10086909
movd xmm0, dword [0x102b1aa8]
lea ecx, [ebp - 0x68]
movss xmm3, dword [0x100d341c]
movd xmm1, dword [0x102b1aa4]
movd xmm2, dword [0x102b1aa0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1009b0f0
lea eax, [ebp - 0x68]
jmp 0x1008691e
push 0xff
push 0xff
lea ecx, [ebp - 0x98]
call fcn.1009b0c0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
push esi
xorps xmm0, xmm0
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100dae2c]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x102b7460]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.1008ed90
add edi, dword [0x102b1bd8]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp byte [0x102b1bce], 0
je 0x10086af7
push dword [0x102b1b6c]
call esi
test ax, ax
je 0x10086af7
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
call fcn.1009b0f0
cmp byte [0x102b22ad], 0
push 0xff
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
mov dword [ebp - 0x18], eax
movups xmmword [ebp - 0x40], xmm0
je 0x10086a5a
movd xmm0, dword [0x102b1aa8]
lea ecx, [ebp - 0x68]
movss xmm3, dword [0x100d341c]
movd xmm1, dword [0x102b1aa4]
movd xmm2, dword [0x102b1aa0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1009b0f0
lea eax, [ebp - 0x68]
jmp 0x10086a6f
push 0xff
push 0xff
lea ecx, [ebp - 0x98]
call fcn.1009b0c0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
push esi
xorps xmm0, xmm0
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100cee18]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x102b7460]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.1008ed90
add edi, dword [0x102b1bd8]
cmp byte [0x102b1bd2], 0
je 0x10086c3e
cmp byte [0x102b1b46], 0
je 0x10086c3e
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
call fcn.1009b0f0
cmp byte [0x102b22ac], 0
push 0xff
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
mov dword [ebp - 0x18], eax
movups xmmword [ebp - 0x40], xmm0
je 0x10086ba1
movd xmm0, dword [0x102b1aa8]
lea ecx, [ebp - 0x68]
movss xmm3, dword [0x100d341c]
movd xmm1, dword [0x102b1aa4]
movd xmm2, dword [0x102b1aa0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1009b0f0
lea eax, [ebp - 0x68]
jmp 0x10086bb6
push 0xff
push 0xff
lea ecx, [ebp - 0x98]
call fcn.1009b0c0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
push esi
xorps xmm0, xmm0
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100dae30]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x102b7460]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.1008ed90
add edi, dword [0x102b1bd8]
cmp byte [0x102b1bd3], 0
je 0x10086d82
cmp byte [0x102b1b46], 0
je 0x10086d82
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xf0]
call fcn.1009b0f0
cmp byte [0x102b22ac], 0
push 0xff
movups xmm0, xmmword [eax]
mov eax, dword [0x102b2120]
mov dword [ebp - 0x18], eax
movups xmmword [ebp - 0x68], xmm0
je 0x10086cee
movd xmm0, dword [0x102b1aa8]
lea ecx, [ebp - 0xe0]
movss xmm3, dword [0x100d341c]
movd xmm1, dword [0x102b1aa4]
movd xmm2, dword [0x102b1aa0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1009b0f0
lea eax, [ebp - 0xe0]
jmp 0x10086d00
push 0xff
push 0xff
lea ecx, [ebp - 0x80]
call fcn.1009b0c0
mov ecx, dword [0x102b7460]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x68]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
push esi
xorps xmm0, xmm0
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100dae34]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x102b7460]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.1008ed90
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x102b739c
call fcn.1009e9c6
add esp, 4
cmp dword [0x102b739c], 0xffffffff
jne 0x10085216
push 0x100cd880
call fcn.1009e935
push 0x102b739c
call fcn.1009e975
add esp, 8
jmp 0x10085216
push 0x102b73a0
call fcn.1009e9c6
add esp, 4
cmp dword [0x102b73a0], 0xffffffff
jne 0x100853f7
movd xmm0, dword [0x102b1868]
movss xmm1, dword [0x100d281c]
cvtdq2ps xmm0, xmm0
push 0x102b73a0
mulss xmm0, xmm1
movss dword [0x1014c418], xmm0
movd xmm0, dword [0x102b186c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [0x1014c41c], xmm0
movd xmm0, dword [0x102b1870]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [0x1014c420], xmm0
call fcn.1009e975
add esp, 4
jmp 0x100853f7
call fcn.100a3e9f
call fcn.100a3e9f
int3