Function at 0x18001ee20
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x80]
sub rsp, 0x180
cmp byte [0x1800a9b8c], 0
mov r12, rdx
movabs rdx, 0x7fffffff0000
mov rdi, rcx
je 0x18001ee74
add rcx, 0x690
cmp rcx, 0x40000
jbe 0x18001ee67
lea rax, [rcx + 4]
cmp rax, rdx
jae 0x18001ee67
mov eax, dword [rcx]
jmp 0x18001ee69
xor eax, eax
shr eax, 4
test al, 1
jne 0x18001ff32
test rdi, rdi
je 0x18001ff32
mov rax, qword gs:[0x58]
mov ecx, dword [0x1800a95a4]
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], rsi
mov edx, 4
mov rsi, qword [rax + rcx*8]
movaps xmmword [rsp + 0x110], xmm11
xorps xmm11, xmm11
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0
mov eax, dword [rsi + rdx]
cmp dword [0x1800aa72c], eax
mov ebx, edx
jle 0x18001ef07
lea rcx, [0x1800aa72c]
call fcn.18007e230
cmp dword [0x1800aa72c], 0xffffffff
jne 0x18001ef07
mov ecx, 0xc4cdd477
call fcn.180007230
lea rcx, [0x1800aa72c]
mov qword [0x1800aa730], rax
call fcn.18007e1c4
mov rdx, qword [0x1800aa730]
add rdx, rdi
call fcn.180041750
lea rdx, [rbp + 0xb0]
mov rcx, qword [rax]
mov rax, qword [rcx + 0xa8]
lea rcx, [rsp + 0x40]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.18000f030
test al, al
je 0x18001ff19
mov eax, dword [rsi + rbx]
cmp dword [0x1800aa72c], eax
jle 0x18001ef87
lea rcx, [0x1800aa72c]
call fcn.18007e230
cmp dword [0x1800aa72c], 0xffffffff
jne 0x18001ef87
mov ecx, 0xc4cdd477
call fcn.180007230
lea rcx, [0x1800aa72c]
mov qword [0x1800aa730], rax
call fcn.18007e1c4
mov rdx, qword [0x1800aa730]
add rdx, rdi
call fcn.180041750
lea rdx, [rbp + 0xb8]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x88]
lea rcx, [rsp + 0x40]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.18000f030
test al, al
je 0x18001ff19
movaps xmmword [rsp + 0x160], xmm6
movss xmm6, dword [rbp + 0xb4]
movaps xmmword [rsp + 0x150], xmm7
movss xmm7, dword [rbp + 0xb0]
ucomiss xmm7, xmm11
jne 0x18001effa
ucomiss xmm6, xmm11
je 0x18001ff09
mov rcx, rdi
mov qword [rbp - 0x80], 0
call fcn.18000df00
mov rdx, rax
call fcn.180041750
lea rdx, [rbp - 0x80]
mov rcx, qword [rax]
mov rax, qword [rcx]
lea rcx, [rsp + 0x40]
movss xmm1, dword [rax + 4]
addss xmm1, dword [0x1800887c8]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x48], xmm2
movss dword [rsp + 0x44], xmm1
call fcn.18000f030
test al, al
je 0x18001ff09
mov qword [rsp + 0x178], r14
mov rcx, rdi
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x130], xmm9
movaps xmmword [rsp + 0x120], xmm10
movss xmm10, dword [rbp + 0xbc]
movaps xmmword [rsp + 0x100], xmm12
addss xmm10, xmm6
movss xmm12, dword [rbp - 0x7c]
movaps xmmword [rsp + 0xf0], xmm13
movss xmm13, dword [0x180088824]
movaps xmmword [rsp + 0xe0], xmm14
movss xmm14, dword [rbp + 0xb8]
addss xmm14, xmm7
mulss xmm10, xmm13
subss xmm12, xmm10
mulss xmm14, xmm13
movaps xmm0, xmm12
movaps xmm8, xmm12
mulss xmm0, dword [0x1800887e4]
mulss xmm8, xmm13
subss xmm14, xmm0
call fcn.18000df00
mov rdx, rax
call fcn.180041750
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x88]
mov rcx, rdi
call fcn.18000df00
mov rdx, rax
call fcn.180041750
xor r14d, r14d
lea rdx, [rbp + 0xb0]
mov qword [rbp + 0xb0], r14
mov qword [rbp + 0xb8], r14
mov rcx, qword [rax]
mov rax, qword [rcx + 0xa8]
lea rcx, [rsp + 0x40]
movsd xmm7, qword [rax]
movss xmm9, dword [rax + 8]
movaps xmm6, xmm7
addss xmm9, dword [rbx + 8]
movsd qword [rsp + 0x40], xmm7
addss xmm7, dword [rbx]
shufps xmm6, xmm6, 0x55
addss xmm6, dword [rbx + 4]
mulss xmm9, xmm13
mulss xmm7, xmm13
mulss xmm6, xmm13
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x48], xmm9
movaps xmm0, xmm6
addss xmm0, dword [0x180088c2c]
movss dword [rsp + 0x44], xmm0
call fcn.18000f030
test al, al
je 0x18001fecb
lea rdx, [rbp + 0xb8]
movss dword [rsp + 0x40], xmm7
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x44], xmm6
movss dword [rsp + 0x48], xmm9
call fcn.18000f030
test al, al
je 0x18001fecb
cmp byte [0x1800a9b8e], r14b
mov qword [rsp + 0x170], r15
movaps xmmword [rsp + 0xd0], xmm15
je 0x18001f228
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
test ecx, ecx
jle 0x18001f228
movaps xmm0, xmmword [0x180089030]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x50]
movss dword [rbp - 0x50], xmm8
lea rcx, [rsp + 0x40]
movss dword [rbp - 0x4c], xmm12
movups xmmword [rsp + 0x50], xmm0
movss dword [rsp + 0x40], xmm14
movss dword [rsp + 0x44], xmm10
call fcn.180010f40
mov ecx, dword [0x1800aa084]
movss xmm7, dword [0x180088970]
test ecx, ecx
je 0x18001f320
sub ecx, 1
je 0x18001f2df
sub ecx, 1
je 0x18001f2b6
cmp ecx, 1
je 0x18001f271
mov dword [0x1800a91d0], 0x3f800000
mov dword [0x1800aa098], r14d
mov dword [0x1800930a4], 0x3f800000
jmp 0x18001f348
movss xmm1, dword [0x1800930a4]
movss xmm0, dword [0x1800aa098]
addss xmm1, dword [0x18008873c]
addss xmm0, dword [0x180088e00]
comiss xmm1, xmm7
movss dword [0x1800930a4], xmm1
movss dword [0x1800aa098], xmm0
jb 0x18001f348
mov dword [0x1800aa084], r14d
jmp 0x18001f348
movss xmm0, dword [0x1800a91d0]
addss xmm0, dword [0x18008873c]
comiss xmm0, xmm7
movss dword [0x1800a91d0], xmm0
jb 0x18001f348
mov dword [0x1800aa084], 3
jmp 0x18001f348
movss xmm1, dword [0x1800aa098]
movss xmm0, dword [0x1800930a4]
addss xmm1, dword [0x18008873c]
addss xmm0, dword [0x180088e00]
comiss xmm1, xmm7
movss dword [0x1800aa098], xmm1
movss dword [0x1800930a4], xmm0
jb 0x18001f348
mov dword [0x1800aa084], 2
jmp 0x18001f348
movss xmm0, dword [0x1800a91d0]
addss xmm0, dword [0x180088e00]
comiss xmm0, xmm11
movss dword [0x1800a91d0], xmm0
ja 0x18001f348
mov dword [0x1800aa084], 1
cmp byte [0x1800a9cb6], r14b
movss xmm15, dword [rbp + 0xb4]
movss xmm9, dword [rbp + 0xb0]
je 0x18001f425
mov ecx, dword [0x180098ab0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001f425
call fcn.18000ebb0
mov edx, dword [0x1800aa6a8]
mov rbx, rax
test edx, edx
je 0x18001f3a2
sub edx, 1
je 0x18001f3a2
cmp edx, 1
je 0x18001f3a2
movss xmm6, dword [rbp + 0xb0]
jmp 0x18001f3ab
call qword [0x1800aa6a0]
movaps xmm6, xmm0
mov rcx, rbx
call fcn.18000e9d0
movss xmm1, dword [0x1800aa098]
lea rdx, [rsp + 0x50]
movss xmm0, dword [0x1800a91d0]
lea rcx, [rbp + 0xb0]
movss dword [rsp + 0x54], xmm1
movaps xmm3, xmm7
subss xmm6, dword [rax]
movaps xmm1, xmm15
movss dword [rsp + 0x50], xmm0
subss xmm1, dword [0x180088c90]
movss xmm0, dword [0x1800930a4]
movss dword [rsp + 0x58], xmm0
mulss xmm6, dword [0x180088c80]
mov dword [rsp + 0x5c], 0x437f0000
movss dword [rbp + 0xb0], xmm9
movss dword [rbp + 0xb4], xmm1
movaps xmm2, xmm6
call fcn.180010dc0
cmp byte [0x1800a9b8f], r14b
je 0x18001f51c
mov eax, dword [0x1800a9be8]
test eax, eax
jne 0x18001f4cc
movaps xmm0, xmmword [0x1800890a0]
lea r8, [rsp + 0x50]
movss xmm3, dword [0x180088c50]
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x40]
movss dword [rbp + 0xb0], xmm8
movups xmmword [rsp + 0x50], xmm0
movss dword [rbp + 0xb4], xmm12
movss dword [rsp + 0x40], xmm14
movss dword [rsp + 0x44], xmm10
call fcn.180010eb0
movss xmm3, dword [0x180088af0]
lea rdx, [rbp + 0xb0]
mov r8, r12
movss dword [rbp + 0xb0], xmm8
lea rcx, [rsp + 0x40]
movss dword [rbp + 0xb4], xmm12
movss dword [rsp + 0x40], xmm14
movss dword [rsp + 0x44], xmm10
call fcn.180010eb0
mov eax, dword [0x1800a9be8]
cmp eax, 1
jne 0x18001f500
movups xmm0, xmmword [r12]
lea rax, [rsp + 0x50]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm3, xmm12
movaps xmm0, xmm14
mov qword [rsp + 0x20], rax
movaps xmm2, xmm8
movaps xmm1, xmm10
call fcn.18001da00
mov eax, dword [0x1800a9be8]
cmp eax, 2
jne 0x18001f51c
movups xmm0, xmmword [r12]
lea rdx, [rsp + 0x50]
mov rcx, rdi
movaps xmmword [rsp + 0x50], xmm0
call fcn.18001e530
cmp byte [0x1800a9b8d], r14b
mov rsi, 0xffffffffffffffff
je 0x18001f58e
mov rcx, rdi
call fcn.18000dd70
mov qword [rsp + 0x50], rax
mov rcx, rsi
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x18001f540
movups xmm1, xmmword [r12]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x58], rcx
lea rdx, [rsp + 0x40]
movaps xmm0, xmmword [rsp + 0x50]
mov r8b, 1
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm15
movq rcx, xmm0
movaps xmmword [rsp + 0x40], xmm1
mov qword [rsp + 0x20], rax
call fcn.180042db0
mov r14d, 0xf
cmp byte [0x1800a9b3f], 0
movabs rbx, 0x7912b15933f0f9ca
movss xmm9, dword [rbp + 0xbc]
movabs r15, 0xb0fd9e0c14f07c6d
movss xmm7, dword [rbp + 0xb8]
movaps xmm15, xmmword [rsp + 0xd0]
je 0x18001f719
mov rcx, rdi
call fcn.18000d5a0
comiss xmm11, dword [rax]
jae 0x18001f719
mov rcx, rdi
call fcn.18000e8d0
test rax, rax
je 0x18001f719
lea rdx, [rax + 0x30]
cmp rdx, 0x40000
jbe 0x18001f610
lea rcx, [rdx + 4]
movabs r8, 0x7fffffff0000
cmp rcx, r8
jae 0x18001f610
mov ecx, dword [rdx]
jmp 0x18001f612
xor ecx, ecx
mov dword [rbp + 0xb0], ecx
mov rcx, rax
call fcn.18000dc40
mov qword [rbp + 0xb8], rax
lea rcx, [rsp + 0x60]
movabs rax, 0x8ae72306a560b34e
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x60], rax
movabs rax, 0xcd1c442f4a988cb8
mov qword [rsp + 0x68], rax
movabs rax, 0x8abc2326a513b36b
movdqa xmm0, xmmword [rsp + 0x60]
mov qword [rbp - 0x70], rax
movabs rax, 0xcd41444b4abd8cc0
mov qword [rbp - 0x68], rax
lea rax, [rsp + 0x60]
xorps xmm0, xmmword [rbp - 0x70]
mov qword [rsp + 0x78], rbx
movdqa xmm1, xmmword [rsp + 0x70]
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], rbx
xorps xmm1, xmmword [rbp - 0x60]
mov qword [rsp + 0x50], rax
mov rax, rsi
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rsp + 0x70], xmm1
inc rax
cmp word [rcx + rax*2], 0
jne 0x18001f6a5
movups xmm1, xmmword [r12]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0xb0]
movaps xmm0, xmmword [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xb8]
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm0, xmm7
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
movd xmm2, r14d
cvtdq2ps xmm2, xmm2
mov qword [rsp + 0x20], rax
movaps xmmword [rsp + 0x40], xmm1
addss xmm2, xmm9
addss xmm2, dword [0x180088c90]
unpcklps xmm0, xmm2
movq rcx, xmm0
call fcn.180043d80
add r14d, 0xf
cmp byte [0x1800a9b7f], 0
je 0x18001f8d4
mov rcx, rdi
call fcn.18000d5a0
mov r8d, 0x2f
lea rdx, [rsp + 0x40]
cvttss2si ecx, dword [rax]
mov dword [rbp + 0xb0], ecx
mov rcx, rdi
call fcn.18000e520
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
call fcn.18000ebb0
mov r8d, 0x2f
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.18000e520
mov qword [rsp + 0x70], r15
lea rcx, [rbp - 0x70]
movsd xmm0, qword [rax]
movss xmm1, dword [rax + 8]
movaps xmm2, xmm0
movaps xmm3, xmm0
movsd qword [rsp + 0x50], xmm0
shufps xmm3, xmm3, 0x55
subss xmm2, xmm6
movaps xmm0, xmm6
movsd qword [rsp + 0x50], xmm6
shufps xmm0, xmm0, 0x55
movabs rax, 0x8a8e2308a536b330
subss xmm3, xmm0
mov qword [rbp - 0x70], rax
movd xmm0, ebx
movabs rax, 0xcd6144164af08ca6
subss xmm1, xmm0
mov qword [rbp - 0x68], rax
xorps xmm0, xmm0
mulss xmm2, xmm2
movabs rax, 0xb0b59e6814d57c36
mov qword [rbp - 0x60], rax
movabs rax, 0x7912b15933adf99a
mov qword [rbp - 0x58], rax
movabs rax, 0x8abc2326a513b36b
mulss xmm1, xmm1
mov qword [rsp + 0x60], rax
movabs rax, 0xcd41444b4abd8cc0
mulss xmm3, xmm3
mov qword [rsp + 0x68], rax
movabs rax, 0x7912b15933f0f9ca
mov qword [rsp + 0x78], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x50], rax
mov rax, rsi
addss xmm3, xmm2
addss xmm3, xmm1
movdqa xmm1, xmmword [rbp - 0x60]
xorps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x60], xmm1
sqrtss xmm0, xmm3
movss dword [rbp + 0xb8], xmm0
movdqa xmm0, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x70], xmm0
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x18001f860
movups xmm1, xmmword [r12]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0xb0]
movaps xmm0, xmmword [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xb8]
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm0, xmm7
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
movd xmm2, r14d
cvtdq2ps xmm2, xmm2
mov qword [rsp + 0x20], rax
movaps xmmword [rsp + 0x60], xmm1
addss xmm2, xmm9
addss xmm2, dword [0x180088c90]
unpcklps xmm0, xmm2
movq rcx, xmm0
call fcn.1800440c0
add r14d, 0xf
cmp byte [0x1800a9b3a], 0
je 0x18001fcfa
mov rcx, rdi
call fcn.18000d5a0
cmp dword [0x1800a9bf4], 0
cvttss2si r15d, dword [rax]
mov dword [rbp + 0xb0], r15d
jne 0x18001fae9
mov rcx, rdi
call fcn.18000df00
mov rdx, rax
call fcn.180041750
mov rcx, qword [rax]
mov rax, qword [rcx]
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
call fcn.18000ebb0
mov r8d, 0x2f
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18000e520
movsd xmm0, qword [rax]
movss xmm1, dword [rax + 8]
movaps xmm2, xmm0
movaps xmm3, xmm0
movsd qword [rsp + 0x40], xmm0
shufps xmm3, xmm3, 0x55
subss xmm2, xmm6
movaps xmm0, xmm6
movsd qword [rsp + 0x40], xmm6
shufps xmm0, xmm0, 0x55
subss xmm3, xmm0
movd xmm0, ebx
subss xmm1, xmm0
xorps xmm0, xmm0
mulss xmm2, xmm2
mulss xmm3, xmm3
mulss xmm1, xmm1
addss xmm3, xmm2
addss xmm3, xmm1
sqrtss xmm0, xmm3
cvttss2si eax, xmm0
cmp eax, 0xc9
jge 0x18001fae9
movaps xmm0, xmmword [0x1800890a0]
addss xmm8, xmm14
lea r8, [rsp + 0x60]
movss dword [rbp + 0xbc], xmm12
lea rdx, [rbp + 0xb8]
movss dword [rsp + 0x44], xmm10
lea rcx, [rsp + 0x40]
mov dword [rbp + 0xb8], 0x40000000
movups xmmword [rsp + 0x60], xmm0
subss xmm8, dword [0x180088c88]
movss dword [rsp + 0x40], xmm8
call fcn.180010f40
movaps xmm0, xmmword [0x180089080]
lea r8, [rsp + 0x60]
movd xmm6, r15d
lea rdx, [rbp + 0xb8]
cvtdq2ps xmm6, xmm6
lea rcx, [rsp + 0x40]
mov dword [rbp + 0xb8], 0x40000000
movss dword [rsp + 0x40], xmm8
mulss xmm6, dword [0x180088754]
movss dword [rsp + 0x44], xmm10
movups xmmword [rsp + 0x60], xmm0
mulss xmm6, xmm12
movss dword [rbp + 0xbc], xmm6
call fcn.180010f40
movabs rax, 0x8abc2326a577b34e
movabs rcx, 0x8abc2326a513b36b
mov qword [rsp + 0x50], rax
movabs rax, 0xcd41444b4abd8cc0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rcx
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rsp + 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
inc rsi
cmp word [rax + rsi*2], 0
jne 0x18001fa91
movaps xmm1, xmmword [0x180089410]
addss xmm6, xmm10
mov qword [rsp + 0x48], rsi
lea rax, [rbp + 0xb0]
movaps xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm0, xmm8
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
unpcklps xmm0, xmm6
movq rcx, xmm0
movdqa xmmword [rsp + 0x40], xmm1
mov qword [rsp + 0x20], rax
call fcn.180043a60
cmp dword [0x1800a9bf4], 1
jne 0x18001fcfa
mov rcx, rdi
call fcn.18000d5a0
movss xmm10, dword [0x180088840]
movss xmm6, dword [0x180088c68]
movss xmm8, dword [0x180088cd0]
cvttss2si ecx, dword [rax]
cmp ecx, 0x21
jg 0x18001fb8d
movaps xmm0, xmmword [0x180089060]
lea r8, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
lea rdx, [rbp + 0xb0]
mov dword [rbp + 0xb4], 0x40c00000
movd xmm2, r14d
lea rcx, [rbp + 0xb8]
cvtdq2ps xmm2, xmm2
movd xmm1, r15d
movaps xmm0, xmm7
addss xmm2, xmm9
cvtdq2ps xmm1, xmm1
addss xmm2, xmm6
subss xmm0, xmm8
mulss xmm1, xmm10
movss dword [rbp + 0xbc], xmm2
movss dword [rbp + 0xb0], xmm1
movss dword [rbp + 0xb8], xmm0
call fcn.180010f40
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
cmp ecx, 0x22
jl 0x18001fc1b
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
cmp ecx, 0x42
jg 0x18001fc1b
movaps xmm0, xmmword [0x180089070]
lea r8, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
lea rdx, [rbp + 0xb0]
mov dword [rbp + 0xb4], 0x40c00000
movd xmm2, r14d
lea rcx, [rbp + 0xb8]
cvtdq2ps xmm2, xmm2
movd xmm1, r15d
movaps xmm0, xmm7
addss xmm2, xmm9
cvtdq2ps xmm1, xmm1
addss xmm2, xmm6
subss xmm0, xmm8
mulss xmm1, xmm10
movss dword [rbp + 0xbc], xmm2
movss dword [rbp + 0xb0], xmm1
movss dword [rbp + 0xb8], xmm0
call fcn.180010f40
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
cmp ecx, 0x43
jl 0x18001fc98
movaps xmm0, xmmword [0x180089080]
lea r8, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
lea rdx, [rbp + 0xb0]
mov dword [rbp + 0xb4], 0x40c00000
movd xmm2, r14d
lea rcx, [rbp + 0xb8]
cvtdq2ps xmm2, xmm2
movd xmm1, r15d
movaps xmm0, xmm7
addss xmm2, xmm9
cvtdq2ps xmm1, xmm1
addss xmm2, xmm6
subss xmm0, xmm8
mulss xmm1, xmm10
movss dword [rbp + 0xbc], xmm2
movss dword [rbp + 0xb0], xmm1
movss dword [rbp + 0xb8], xmm0
call fcn.180010f40
movaps xmm0, xmmword [0x1800890a0]
subss xmm7, xmm8
movd xmm1, r14d
lea r8, [rsp + 0x60]
cvtdq2ps xmm1, xmm1
mov dword [rbp + 0xb0], 0x42700000
lea rdx, [rbp + 0xb0]
mov dword [rbp + 0xb4], 0x40c00000
lea rcx, [rbp + 0xb8]
movaps xmm3, xmm13
movss dword [rbp + 0xb8], xmm7
addss xmm1, xmm9
movups xmmword [rsp + 0x60], xmm0
addss xmm1, xmm6
movss dword [rbp + 0xbc], xmm1
call fcn.180010eb0
cmp byte [0x1800a9b7c], 0
mov r15, qword [rsp + 0x170]
je 0x18001fecb
lea rcx, [rdi + 0x690]
cmp rcx, 0x40000
jbe 0x18001fd32
lea rax, [rcx + 4]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jb 0x18001fd3e
mov qword [rbp - 0x40], 0
lea rcx, [rbp - 0x40]
mov eax, dword [rcx]
shr eax, 4
test al, 1
jne 0x18001fecb
mov rax, qword gs:[0x58]
mov ecx, dword [0x1800a95a4]
mov ebx, 4
mov rsi, qword [rax + rcx*8]
mov eax, dword [rsi + rbx]
cmp dword [0x1800aa5f8], eax
jle 0x18001fd9f
lea rcx, [0x1800aa5f8]
call fcn.18007e230
cmp dword [0x1800aa5f8], 0xffffffff
jne 0x18001fd9f
movss xmm0, dword [0x1800aa088]
lea rcx, [0x1800aa5f8]
movss dword [0x1800aa3d0], xmm0
call fcn.18007e1c4
mov eax, dword [rsi + rbx]
cmp dword [0x1800aa120], eax
jle 0x18001fddb
lea rcx, [0x1800aa120]
call fcn.18007e230
cmp dword [0x1800aa120], 0xffffffff
jne 0x18001fddb
movss xmm0, dword [0x1800aa08c]
lea rcx, [0x1800aa120]
movss dword [0x1800aa538], xmm0
call fcn.18007e1c4
mov eax, dword [rsi + rbx]
cmp dword [0x1800aa248], eax
jle 0x18001fe12
lea rcx, [0x1800aa248]
call fcn.18007e230
cmp dword [0x1800aa248], 0xffffffff
jne 0x18001fe12
lea rcx, [0x1800aa248]
mov qword [0x1800aa418], 0
call fcn.18007e1c4
mov eax, dword [0x1800a9bec]
test eax, eax
jne 0x18001fe2e
movss xmm0, dword [0x1800aa538]
subss xmm0, dword [0x180088d88]
jmp 0x18001fe40
cmp eax, 1
jne 0x18001fe5d
movss xmm0, dword [0x1800aa538]
mulss xmm0, xmm13
movss xmm1, dword [0x1800aa3d0]
mulss xmm1, xmm13
movss dword [0x1800aa41c], xmm0
movss dword [0x1800aa418], xmm1
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
test ecx, ecx
jle 0x18001fecb
mov rcx, qword [0x1800a9ce0]
mov rdx, r12
mov rax, qword [rcx]
call qword [rax + 0x40]
movss xmm1, dword [rbp - 0x7c]
mov rcx, qword [0x1800a9cd0]
movss xmm0, dword [rbp - 0x80]
movss xmm2, dword [0x1800aa41c]
mov r9, qword [0x1800a9ce0]
mov rax, qword [rcx]
unpcklps xmm0, xmm1
movss xmm1, dword [0x1800aa418]
movq r8, xmm0
unpcklps xmm1, xmm2
mov qword [rsp + 0x28], 0
movq rdx, xmm1
movss dword [rsp + 0x20], xmm13
call qword [rax + 0x78]
movaps xmm13, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x100]
mov r14, qword [rsp + 0x178]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x140]
movaps xmm14, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x150]
mov rsi, qword [rsp + 0x1a8]
mov rbx, qword [rsp + 0x1a0]
movaps xmm11, xmmword [rsp + 0x110]
add rsp, 0x180
pop r12
pop rdi
pop rbp
ret