Function at 0x18001f3c0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x80]
sub rsp, 0x180
cmp byte [0x1800a9b6c], 0
mov r12, rdx
movabs rdx, 0x7fffffff0000
mov rdi, rcx
je 0x18001f414
add rcx, 0x638
cmp rcx, 0x40000
jbe 0x18001f407
lea rax, [rcx + 4]
cmp rax, rdx
jae 0x18001f407
mov eax, dword [rcx]
jmp 0x18001f409
xor eax, eax
shr eax, 4
test al, 1
jne 0x1800204d2
test rdi, rdi
je 0x1800204d2
mov rax, qword gs:[0x58]
mov ecx, dword [0x1800a9584]
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 [0x1800aa76c], eax
mov ebx, edx
jle 0x18001f4a7
lea rcx, [0x1800aa76c]
call fcn.18007ea00
cmp dword [0x1800aa76c], 0xffffffff
jne 0x18001f4a7
mov ecx, 0xc4cdd477
call fcn.180007230
lea rcx, [0x1800aa76c]
mov qword [0x1800aa770], rax
call fcn.18007e994
mov rdx, qword [0x1800aa770]
add rdx, rdi
call fcn.180041f00
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.18000ef90
test al, al
je 0x1800204b9
mov eax, dword [rsi + rbx]
cmp dword [0x1800aa76c], eax
jle 0x18001f527
lea rcx, [0x1800aa76c]
call fcn.18007ea00
cmp dword [0x1800aa76c], 0xffffffff
jne 0x18001f527
mov ecx, 0xc4cdd477
call fcn.180007230
lea rcx, [0x1800aa76c]
mov qword [0x1800aa770], rax
call fcn.18007e994
mov rdx, qword [0x1800aa770]
add rdx, rdi
call fcn.180041f00
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.18000ef90
test al, al
je 0x1800204b9
movaps xmmword [rsp + 0x160], xmm6
movss xmm6, dword [rbp + 0xb4]
movaps xmmword [rsp + 0x150], xmm7
movss xmm7, dword [rbp + 0xb0]
ucomiss xmm7, xmm11
jne 0x18001f59a
ucomiss xmm6, xmm11
je 0x1800204a9
mov rcx, rdi
mov qword [rbp - 0x80], 0
call fcn.18000ddb0
mov rdx, rax
call fcn.180041f00
lea rdx, [rbp - 0x80]
mov rcx, qword [rax]
mov rax, qword [rcx]
lea rcx, [rsp + 0x40]
movss xmm1, dword [rax + 4]
addss xmm1, dword [0x1800887ac]
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.18000ef90
test al, al
je 0x1800204a9
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 [0x180088804]
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 [0x1800887c4]
mulss xmm8, xmm13
subss xmm14, xmm0
call fcn.18000ddb0
mov rdx, rax
call fcn.180041f00
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x88]
mov rcx, rdi
call fcn.18000ddb0
mov rdx, rax
call fcn.180041f00
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 [0x180088c14]
movss dword [rsp + 0x44], xmm0
call fcn.18000ef90
test al, al
je 0x18002046b
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.18000ef90
test al, al
je 0x18002046b
cmp byte [0x1800a9b6e], r14b
mov qword [rsp + 0x170], r15
movaps xmmword [rsp + 0xd0], xmm15
je 0x18001f7c8
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
test ecx, ecx
jle 0x18001f7c8
movaps xmm0, xmmword [0x180089010]
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.180010d70
mov ecx, dword [0x1800aa07c]
movss xmm7, dword [0x180088950]
test ecx, ecx
je 0x18001f8c0
sub ecx, 1
je 0x18001f87f
sub ecx, 1
je 0x18001f856
cmp ecx, 1
je 0x18001f811
mov dword [0x1800a91b0], 0x3f800000
mov dword [0x1800aa090], r14d
mov dword [0x1800930a4], 0x3f800000
jmp 0x18001f8e8
movss xmm1, dword [0x1800930a4]
movss xmm0, dword [0x1800aa090]
addss xmm1, dword [0x18008871c]
addss xmm0, dword [0x180088de4]
comiss xmm1, xmm7
movss dword [0x1800930a4], xmm1
movss dword [0x1800aa090], xmm0
jb 0x18001f8e8
mov dword [0x1800aa07c], r14d
jmp 0x18001f8e8
movss xmm0, dword [0x1800a91b0]
addss xmm0, dword [0x18008871c]
comiss xmm0, xmm7
movss dword [0x1800a91b0], xmm0
jb 0x18001f8e8
mov dword [0x1800aa07c], 3
jmp 0x18001f8e8
movss xmm1, dword [0x1800aa090]
movss xmm0, dword [0x1800930a4]
addss xmm1, dword [0x18008871c]
addss xmm0, dword [0x180088de4]
comiss xmm1, xmm7
movss dword [0x1800aa090], xmm1
movss dword [0x1800930a4], xmm0
jb 0x18001f8e8
mov dword [0x1800aa07c], 2
jmp 0x18001f8e8
movss xmm0, dword [0x1800a91b0]
addss xmm0, dword [0x180088de4]
comiss xmm0, xmm11
movss dword [0x1800a91b0], xmm0
ja 0x18001f8e8
mov dword [0x1800aa07c], 1
cmp byte [0x1800a9cb1], r14b
movss xmm15, dword [rbp + 0xb4]
movss xmm9, dword [rbp + 0xb0]
je 0x18001f9c5
mov ecx, dword [0x180098aac]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001f9c5
call fcn.18000eac0
mov edx, dword [0x1800aa6c8]
mov rbx, rax
test edx, edx
je 0x18001f942
sub edx, 1
je 0x18001f942
cmp edx, 1
je 0x18001f942
movss xmm6, dword [rbp + 0xb0]
jmp 0x18001f94b
call qword [0x1800aa6c0]
movaps xmm6, xmm0
mov rcx, rbx
call fcn.18000e8e0
movss xmm1, dword [0x1800aa090]
lea rdx, [rsp + 0x50]
movss xmm0, dword [0x1800a91b0]
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 [0x180088c78]
movss xmm0, dword [0x1800930a4]
movss dword [rsp + 0x58], xmm0
mulss xmm6, dword [0x180088c68]
mov dword [rsp + 0x5c], 0x437f0000
movss dword [rbp + 0xb0], xmm9
movss dword [rbp + 0xb4], xmm1
movaps xmm2, xmm6
call fcn.180010bf0
cmp byte [0x1800a9b6f], r14b
je 0x18001fabc
mov eax, dword [0x1800a9bd0]
test eax, eax
jne 0x18001fa6c
movaps xmm0, xmmword [0x180089080]
lea r8, [rsp + 0x50]
movss xmm3, dword [0x180088c38]
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.180010ce0
movss xmm3, dword [0x180088ad0]
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.180010ce0
mov eax, dword [0x1800a9bd0]
cmp eax, 1
jne 0x18001faa0
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.18001df60
mov eax, dword [0x1800a9bd0]
cmp eax, 2
jne 0x18001fabc
movups xmm0, xmmword [r12]
lea rdx, [rsp + 0x50]
mov rcx, rdi
movaps xmmword [rsp + 0x50], xmm0
call fcn.18001ead0
cmp byte [0x1800a9b6d], r14b
mov rsi, 0xffffffffffffffff
je 0x18001fb2e
mov rcx, rdi
call fcn.18000dc20
mov qword [rsp + 0x50], rax
mov rcx, rsi
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x18001fae0
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.180043580
mov r14d, 0xf
cmp byte [0x1800a9b1f], 0
movabs rbx, 0x3f7747d6f7ce7dec
movss xmm9, dword [rbp + 0xbc]
movabs r15, 0x947cbacfb0a11117
movss xmm7, dword [rbp + 0xb8]
movaps xmm15, xmmword [rsp + 0xd0]
je 0x18001fcb9
mov rcx, rdi
call fcn.18000d5a0
comiss xmm11, dword [rax]
jae 0x18001fcb9
mov rcx, rdi
call fcn.18000e7e0
test rax, rax
je 0x18001fcb9
lea rdx, [rax + 0x30]
cmp rdx, 0x40000
jbe 0x18001fbb0
lea rcx, [rdx + 4]
movabs r8, 0x7fffffff0000
cmp rcx, r8
jae 0x18001fbb0
mov ecx, dword [rdx]
jmp 0x18001fbb2
xor ecx, ecx
mov dword [rbp + 0xb0], ecx
mov rcx, rax
call fcn.18000daf0
mov qword [rbp + 0xb8], rax
lea rcx, [rsp + 0x60]
movabs rax, 0x99bc233589c43920
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x60], rax
movabs rax, 0x52c39d583d8b1b52
mov qword [rsp + 0x68], rax
movabs rax, 0x99e7231589b73905
movdqa xmm0, xmmword [rsp + 0x60]
mov qword [rbp - 0x70], rax
movabs rax, 0x529e9d3c3dae1b2a
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 0x18001fc45
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 [0x180088c78]
unpcklps xmm0, xmm2
movq rcx, xmm0
call fcn.180044550
add r14d, 0xf
cmp byte [0x1800a9b5f], 0
je 0x18001fe74
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.18000e3d0
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
call fcn.18000eac0
mov r8d, 0x2f
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.18000e3d0
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, 0x99d5233b8992395e
subss xmm3, xmm0
mov qword [rbp - 0x70], rax
movd xmm0, ebx
movabs rax, 0x52be9d613de31b4c
subss xmm1, xmm0
mov qword [rbp - 0x68], rax
xorps xmm0, xmm0
mulss xmm2, xmm2
movabs rax, 0x9434baabb084114c
mov qword [rbp - 0x60], rax
movabs rax, 0x3f7747d6f7937dbc
mov qword [rbp - 0x58], rax
movabs rax, 0x99e7231589b73905
mulss xmm1, xmm1
mov qword [rsp + 0x60], rax
movabs rax, 0x529e9d3c3dae1b2a
mulss xmm3, xmm3
mov qword [rsp + 0x68], rax
movabs rax, 0x3f7747d6f7ce7dec
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 0x18001fe00
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 [0x180088c78]
unpcklps xmm0, xmm2
movq rcx, xmm0
call fcn.180044890
add r14d, 0xf
cmp byte [0x1800a9b1a], 0
je 0x18002029a
mov rcx, rdi
call fcn.18000d5a0
cmp dword [0x1800a9bdc], 0
cvttss2si r15d, dword [rax]
mov dword [rbp + 0xb0], r15d
jne 0x180020089
mov rcx, rdi
call fcn.18000ddb0
mov rdx, rax
call fcn.180041f00
mov rcx, qword [rax]
mov rax, qword [rcx]
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
call fcn.18000eac0
mov r8d, 0x2f
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18000e3d0
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 0x180020089
movaps xmm0, xmmword [0x180089080]
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 [0x180088c70]
movss dword [rsp + 0x40], xmm8
call fcn.180010d70
movaps xmm0, xmmword [0x180089060]
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 [0x180088738]
movss dword [rsp + 0x44], xmm10
movups xmmword [rsp + 0x60], xmm0
mulss xmm6, xmm12
movss dword [rbp + 0xbc], xmm6
call fcn.180010d70
movabs rax, 0x99e7231589d33920
movabs rcx, 0x99e7231589b73905
mov qword [rsp + 0x50], rax
movabs rax, 0x529e9d3c3dae1b2a
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 0x180020031
movaps xmm1, xmmword [0x1800893e0]
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.180044230
cmp dword [0x1800a9bdc], 1
jne 0x18002029a
mov rcx, rdi
call fcn.18000d5a0
movss xmm10, dword [0x180088820]
movss xmm6, dword [0x180088c50]
movss xmm8, dword [0x180088cb8]
cvttss2si ecx, dword [rax]
cmp ecx, 0x21
jg 0x18002012d
movaps xmm0, xmmword [0x180089040]
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.180010d70
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
cmp ecx, 0x22
jl 0x1800201bb
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
cmp ecx, 0x42
jg 0x1800201bb
movaps xmm0, xmmword [0x180089050]
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.180010d70
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
cmp ecx, 0x43
jl 0x180020238
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.180010d70
movaps xmm0, xmmword [0x180089080]
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.180010ce0
cmp byte [0x1800a9b5c], 0
mov r15, qword [rsp + 0x170]
je 0x18002046b
lea rcx, [rdi + 0x638]
cmp rcx, 0x40000
jbe 0x1800202d2
lea rax, [rcx + 4]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jb 0x1800202de
mov qword [rbp - 0x40], 0
lea rcx, [rbp - 0x40]
mov eax, dword [rcx]
shr eax, 4
test al, 1
jne 0x18002046b
mov rax, qword gs:[0x58]
mov ecx, dword [0x1800a9584]
mov ebx, 4
mov rsi, qword [rax + rcx*8]
mov eax, dword [rsi + rbx]
cmp dword [0x1800aa628], eax
jle 0x18002033f
lea rcx, [0x1800aa628]
call fcn.18007ea00
cmp dword [0x1800aa628], 0xffffffff
jne 0x18002033f
movss xmm0, dword [0x1800aa080]
lea rcx, [0x1800aa628]
movss dword [0x1800aa404], xmm0
call fcn.18007e994
mov eax, dword [rsi + rbx]
cmp dword [0x1800aa130], eax
jle 0x18002037b
lea rcx, [0x1800aa130]
call fcn.18007ea00
cmp dword [0x1800aa130], 0xffffffff
jne 0x18002037b
movss xmm0, dword [0x1800aa084]
lea rcx, [0x1800aa130]
movss dword [0x1800aa570], xmm0
call fcn.18007e994
mov eax, dword [rsi + rbx]
cmp dword [0x1800aa26c], eax
jle 0x1800203b2
lea rcx, [0x1800aa26c]
call fcn.18007ea00
cmp dword [0x1800aa26c], 0xffffffff
jne 0x1800203b2
lea rcx, [0x1800aa26c]
mov qword [0x1800aa448], 0
call fcn.18007e994
mov eax, dword [0x1800a9bd4]
test eax, eax
jne 0x1800203ce
movss xmm0, dword [0x1800aa570]
subss xmm0, dword [0x180088d70]
jmp 0x1800203e0
cmp eax, 1
jne 0x1800203fd
movss xmm0, dword [0x1800aa570]
mulss xmm0, xmm13
movss xmm1, dword [0x1800aa404]
mulss xmm1, xmm13
movss dword [0x1800aa44c], xmm0
movss dword [0x1800aa448], xmm1
mov rcx, rdi
call fcn.18000d5a0
cvttss2si ecx, dword [rax]
test ecx, ecx
jle 0x18002046b
mov rcx, qword [0x1800a9cd8]
mov rdx, r12
mov rax, qword [rcx]
call qword [rax + 0x40]
movss xmm1, dword [rbp - 0x7c]
mov rcx, qword [0x1800a9cc8]
movss xmm0, dword [rbp - 0x80]
movss xmm2, dword [0x1800aa44c]
mov r9, qword [0x1800a9cd8]
mov rax, qword [rcx]
unpcklps xmm0, xmm1
movss xmm1, dword [0x1800aa448]
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