Function at 0x18001f6a0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
cmp byte [0x1800a9c42], 0
mov r15, rdx
movabs rdx, 0x7fffffff0000
mov rdi, rcx
je 0x18001f6f4
add rcx, 0x690
cmp rcx, 0x40000
jbe 0x18001f6e7
lea rax, [rcx + 4]
cmp rax, rdx
jae 0x18001f6e7
mov eax, dword [rcx]
jmp 0x18001f6e9
xor eax, eax
shr eax, 4
test al, 1
jne 0x1800207c0
test rdi, rdi
je 0x1800207c0
mov rax, qword gs:[0x58]
mov ecx, dword [0x1800a9688]
mov qword [rsp + 0x170], r12
mov qword [rsp + 0x168], r13
mov r13d, 4
mov r12, qword [rax + rcx*8]
movaps xmmword [rsp + 0x110], xmm10
xorps xmm10, xmm10
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0
mov eax, dword [r12 + r13]
cmp dword [0x1800aa6fc], eax
jle 0x18001f787
lea rcx, [0x1800aa6fc]
call fcn.18007e4cc
cmp dword [0x1800aa6fc], 0xffffffff
jne 0x18001f787
mov ecx, 0xc4cdd477
call fcn.1800075b0
lea rcx, [0x1800aa6fc]
mov qword [0x1800aa700], rax
call fcn.18007e46c
mov rdx, qword [0x1800aa700]
add rdx, rdi
call fcn.180041ef0
lea rdx, [rbp + 0xb0]
mov rcx, qword [rax]
mov rax, qword [rcx + 0xa8]
lea rcx, [rsp + 0x50]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
call fcn.18000f930
test al, al
je 0x1800207a7
mov eax, dword [r12 + r13]
cmp dword [0x1800aa6fc], eax
jle 0x18001f808
lea rcx, [0x1800aa6fc]
call fcn.18007e4cc
cmp dword [0x1800aa6fc], 0xffffffff
jne 0x18001f808
mov ecx, 0xc4cdd477
call fcn.1800075b0
lea rcx, [0x1800aa6fc]
mov qword [0x1800aa700], rax
call fcn.18007e46c
mov rdx, qword [0x1800aa700]
add rdx, rdi
call fcn.180041ef0
lea rdx, [rbp + 0xb8]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x88]
lea rcx, [rsp + 0x50]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
call fcn.18000f930
test al, al
je 0x1800207a7
movaps xmmword [rsp + 0x150], xmm6
movss xmm6, dword [rbp + 0xb4]
movaps xmmword [rsp + 0x140], xmm7
movss xmm7, dword [rbp + 0xb0]
ucomiss xmm7, xmm10
jne 0x18001f87b
ucomiss xmm6, xmm10
je 0x180020797
mov rcx, rdi
mov qword [rbp - 0x80], 0
call fcn.18000e7e0
mov rdx, rax
call fcn.180041ef0
lea rdx, [rbp - 0x80]
mov rcx, qword [rax]
mov rax, qword [rcx]
lea rcx, [rsp + 0x50]
movss xmm1, dword [rax + 4]
addss xmm1, dword [0x1800888a8]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x58], xmm2
movss dword [rsp + 0x54], xmm1
call fcn.18000f930
test al, al
je 0x180020797
mov qword [rsp + 0x1a0], rbx
mov rcx, rdi
mov qword [rsp + 0x160], r14
movaps xmmword [rsp + 0x130], xmm8
movaps xmmword [rsp + 0x120], xmm9
movss xmm9, dword [rbp + 0xbc]
movaps xmmword [rsp + 0x100], xmm11
addss xmm9, xmm6
movaps xmmword [rsp + 0xf0], xmm12
movss xmm12, dword [rbp - 0x7c]
movaps xmmword [rsp + 0xe0], xmm13
movss xmm13, dword [rbp + 0xb8]
addss xmm13, xmm7
movaps xmmword [rsp + 0xd0], xmm14
movss xmm14, dword [0x180088908]
mulss xmm9, xmm14
mulss xmm13, xmm14
subss xmm12, xmm9
movaps xmm0, xmm12
movaps xmm7, xmm12
mulss xmm0, dword [0x1800888c4]
mulss xmm7, xmm14
subss xmm13, xmm0
call fcn.18000e7e0
mov rdx, rax
call fcn.180041ef0
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x88]
mov rcx, rdi
call fcn.18000e7e0
mov rdx, rax
call fcn.180041ef0
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 + 0x50]
movsd xmm8, qword [rax]
mov eax, dword [rax + 8]
movaps xmm6, xmm8
movsd qword [rsp + 0x50], xmm8
addss xmm8, dword [rbx]
shufps xmm6, xmm6, 0x55
addss xmm6, dword [rbx + 4]
mov dword [rsp + 0x58], eax
movss xmm11, dword [rsp + 0x58]
addss xmm11, dword [rbx + 8]
mulss xmm8, xmm14
mulss xmm6, xmm14
mulss xmm11, xmm14
movaps xmm0, xmm6
movss dword [rsp + 0x50], xmm8
addss xmm0, dword [0x180088d1c]
movss dword [rsp + 0x58], xmm11
movss dword [rsp + 0x54], xmm0
call fcn.18000f930
test al, al
je 0x180020751
lea rdx, [rbp + 0xb8]
movss dword [rsp + 0x50], xmm8
lea rcx, [rsp + 0x50]
movss dword [rsp + 0x54], xmm6
movss dword [rsp + 0x58], xmm11
call fcn.18000f930
test al, al
je 0x180020751
cmp byte [0x1800a9c4c], r14b
mov qword [rsp + 0x178], rsi
movaps xmmword [rsp + 0xc0], xmm15
je 0x18001fabe
mov rcx, rdi
call fcn.18000de70
cvttss2si ecx, dword [rax]
test ecx, ecx
jle 0x18001fabe
movaps xmm0, xmmword [0x180089170]
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x70]
movss dword [rbp - 0x70], xmm7
lea rcx, [rsp + 0x50]
movss dword [rbp - 0x6c], xmm12
movups xmmword [rsp + 0x40], xmm0
movss dword [rsp + 0x50], xmm13
movss dword [rsp + 0x54], xmm9
call fcn.1800117d0
mov ecx, dword [0x1800aa06c]
movss xmm8, dword [0x180088a60]
test ecx, ecx
je 0x18001fbba
sub ecx, 1
je 0x18001fb78
sub ecx, 1
je 0x18001fb4e
cmp ecx, 1
je 0x18001fb08
mov dword [0x180093054], 0x3f800000
mov dword [0x1800a9f58], r14d
mov dword [0x1800a925c], 0x3f800000
jmp 0x18001fbe4
movss xmm1, dword [0x1800a925c]
movss xmm0, dword [0x1800a9f58]
addss xmm1, dword [0x18008881c]
addss xmm0, dword [0x180088f54]
comiss xmm1, xmm8
movss dword [0x1800a925c], xmm1
movss dword [0x1800a9f58], xmm0
jb 0x18001fbe4
mov dword [0x1800aa06c], r14d
jmp 0x18001fbe4
movss xmm0, dword [0x180093054]
addss xmm0, dword [0x18008881c]
comiss xmm0, xmm8
movss dword [0x180093054], xmm0
jb 0x18001fbe4
mov dword [0x1800aa06c], 3
jmp 0x18001fbe4
movss xmm1, dword [0x1800a9f58]
movss xmm0, dword [0x1800a925c]
addss xmm1, dword [0x18008881c]
addss xmm0, dword [0x180088f54]
comiss xmm1, xmm8
movss dword [0x1800a9f58], xmm1
movss dword [0x1800a925c], xmm0
jb 0x18001fbe4
mov dword [0x1800aa06c], 2
jmp 0x18001fbe4
movss xmm0, dword [0x180093054]
mov eax, 1
addss xmm0, dword [0x180088f54]
comiss xmm0, xmm10
movss dword [0x180093054], xmm0
cmovbe ecx, eax
mov dword [0x1800aa06c], ecx
cmp byte [0x1800a9d10], r14b
movss xmm15, dword [rbp + 0xb4]
movss xmm11, dword [rbp + 0xb0]
je 0x18001fcc8
mov ecx, dword [0x1800932cc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001fcc8
call fcn.18000f4e0
mov edx, dword [0x1800aa678]
mov rbx, rax
test edx, edx
je 0x18001fc3e
sub edx, 1
je 0x18001fc3e
cmp edx, 1
je 0x18001fc3e
movss xmm6, dword [rbp + 0xb0]
jmp 0x18001fc47
call qword [0x1800aa670]
movaps xmm6, xmm0
mov rcx, rbx
call fcn.18000f310
movss xmm0, dword [0x180093054]
lea rdx, [rsp + 0x40]
movss xmm1, dword [0x1800a9f58]
lea rcx, [rbp + 0xb0]
movss dword [rsp + 0x40], xmm0
movaps xmm3, xmm8
subss xmm6, dword [rax]
movss xmm0, dword [0x1800a925c]
movss dword [rsp + 0x48], xmm0
movaps xmm0, xmm15
subss xmm0, dword [0x180088d80]
movss dword [rsp + 0x44], xmm1
movss xmm1, dword [0x180088eb8]
mulss xmm6, dword [0x180088d70]
movss dword [rsp + 0x4c], xmm1
movss dword [rbp + 0xb0], xmm11
movaps xmm2, xmm6
movss dword [rbp + 0xb4], xmm0
call fcn.180011650
cmp byte [0x1800a9c4d], r14b
je 0x18001fdba
mov eax, dword [0x1800a9c30]
test eax, eax
jne 0x18001fd6d
movaps xmm0, xmmword [0x1800891e0]
lea r8, [rsp + 0x40]
movss xmm3, dword [0x180088d40]
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x50]
movss dword [rbp + 0xb0], xmm7
movups xmmword [rsp + 0x40], xmm0
movss dword [rbp + 0xb4], xmm12
movss dword [rsp + 0x50], xmm13
movss dword [rsp + 0x54], xmm9
call fcn.180011740
movss xmm3, dword [0x180088be0]
lea rdx, [rbp + 0xb0]
mov r8, r15
movss dword [rbp + 0xb0], xmm7
lea rcx, [rsp + 0x50]
movss dword [rbp + 0xb4], xmm12
movss dword [rsp + 0x50], xmm13
movss dword [rsp + 0x54], xmm9
call fcn.180011740
mov eax, dword [0x1800a9c30]
cmp eax, 1
jne 0x18001fd9f
movups xmm0, xmmword [r15]
lea rax, [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm3, xmm12
movaps xmm0, xmm13
mov qword [rsp + 0x20], rax
movaps xmm2, xmm7
movaps xmm1, xmm9
call fcn.18001e180
mov eax, dword [0x1800a9c30]
cmp eax, 2
jne 0x18001fdba
movups xmm0, xmmword [r15]
lea rdx, [rsp + 0x40]
mov rcx, rdi
movaps xmmword [rsp + 0x40], xmm0
call fcn.18001eda0
cmp byte [0x1800a9c43], r14b
mov rbx, 0xffffffffffffffff
je 0x18001fe2d
mov rcx, rdi
call fcn.18000e650
mov qword [rsp + 0x40], rax
mov rcx, rbx
nop word [rax + rax]
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x18001fde0
movups xmm1, xmmword [r15]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x70]
movaps xmm0, xmmword [rsp + 0x40]
mov r8b, 1
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm11
unpcklps xmm0, xmm15
movq rcx, xmm0
movaps xmmword [rsp + 0x70], xmm1
mov qword [rsp + 0x20], rax
call fcn.180043890
mov r14d, 0xf
cmp byte [0x1800a9c3d], 0
movabs rsi, 0xf734dc5494cf95e5
movss xmm11, dword [rbp + 0xbc]
movss xmm8, dword [rbp + 0xb8]
movaps xmm15, xmmword [rsp + 0xc0]
je 0x18001ffc4
mov rcx, rdi
call fcn.18000de70
comiss xmm10, dword [rax]
jae 0x18001ffc4
mov rcx, rdi
call fcn.18000f210
test rax, rax
je 0x18001ffc4
lea rdx, [rax + 0x30]
cmp rdx, 0x40000
jbe 0x18001fea6
lea rcx, [rdx + 4]
movabs r8, 0x7fffffff0000
cmp rcx, r8
jae 0x18001fea6
mov ecx, dword [rdx]
jmp 0x18001fea8
xor ecx, ecx
mov dword [rbp + 0xb0], ecx
mov rcx, rax
call fcn.18000e520
mov qword [rbp + 0xb8], rax
movabs rcx, 0xb01d7ff68f475ef3
mov qword [rbp - 0x60], rcx
movabs rax, 0xb0467fd68f345ed6
mov qword [rsp + 0x50], rax
movabs rcx, 0x50d9da637245ed60
movabs rax, 0x5084da077260ed18
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rax
movabs rax, 0x5e20c1f9a6d512da
movdqa xmm0, xmmword [rsp + 0x50]
mov qword [rsp + 0x68], rax
movdqa xmm1, xmmword [rsp + 0x60]
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x58], rcx
lea rcx, [rsp + 0x50]
pxor xmm0, xmmword [rbp - 0x60]
mov qword [rbp - 0x50], rsi
pxor xmm1, xmmword [rbp - 0x50]
mov qword [rsp + 0x40], rax
mov rax, rbx
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x50], xmm0
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x18001ff50
movups xmm1, xmmword [r15]
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xb0]
movaps xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xb8]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm8
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
movd xmm2, r14d
cvtdq2ps xmm2, xmm2
mov qword [rsp + 0x20], rax
movaps xmmword [rsp + 0x70], xmm1
addss xmm2, xmm11
addss xmm2, dword [0x180088d80]
unpcklps xmm0, xmm2
movq rcx, xmm0
call fcn.180044950
add r14d, 0xf
cmp byte [0x1800a9c41], 0
je 0x180020182
mov rcx, rdi
call fcn.18000de70
mov r8d, 0x2f
lea rdx, [rsp + 0x70]
cvttss2si ecx, dword [rax]
mov dword [rbp + 0xb0], ecx
mov rcx, rdi
call fcn.18000ee00
movsd xmm6, qword [rax]
mov eax, dword [rax + 8]
mov dword [rbp - 0x68], eax
call fcn.18000f4e0
mov r8d, 0x2f
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.18000ee00
mov qword [rsp + 0x60], rsi
lea rcx, [rbp - 0x60]
movsd qword [rbp - 0x70], xmm6
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movaps xmm2, xmm0
mov dword [rsp + 0x58], eax
subss xmm2, xmm6
movss xmm1, dword [rsp + 0x58]
movaps xmm3, xmm0
subss xmm1, dword [rbp - 0x68]
movsd qword [rsp + 0x50], xmm0
movabs rax, 0xb02f7fd88f625ea8
mov qword [rbp - 0x60], rax
movaps xmm0, xmm6
shufps xmm0, xmm0, 0x55
movabs rax, 0x50f9da3e7208ed06
mov qword [rbp - 0x58], rax
movabs rax, 0xf77cdc3094ea95be
mov qword [rbp - 0x50], rax
movabs rax, 0x5e20c1f9a688128a
mov qword [rbp - 0x48], rax
movabs rax, 0xb01d7ff68f475ef3
shufps xmm3, xmm3, 0x55
subss xmm3, xmm0
mov qword [rsp + 0x50], rax
mulss xmm1, xmm1
xorps xmm0, xmm0
movabs rax, 0x50d9da637245ed60
mulss xmm2, xmm2
mov qword [rsp + 0x58], rax
movabs rax, 0x5e20c1f9a6d512da
mulss xmm3, xmm3
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x60]
addss xmm3, xmm2
addss xmm3, xmm1
movdqa xmm1, xmmword [rbp - 0x50]
pxor xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x50], xmm1
sqrtss xmm0, xmm3
movss dword [rbp + 0xb8], xmm0
movdqa xmm0, xmmword [rbp - 0x60]
pxor xmm0, xmmword [rsp + 0x50]
mov qword [rsp + 0x50], rax
mov rax, rbx
movdqa xmmword [rbp - 0x60], xmm0
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x180020110
movups xmm1, xmmword [r15]
lea rdx, [rbp - 0x70]
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, xmm8
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
movd xmm2, r14d
cvtdq2ps xmm2, xmm2
mov qword [rsp + 0x20], rax
movaps xmmword [rbp - 0x70], xmm1
addss xmm2, xmm11
addss xmm2, dword [0x180088d80]
unpcklps xmm0, xmm2
movq rcx, xmm0
call fcn.180044cb0
add r14d, 0xf
cmp byte [0x1800a9c34], 0
je 0x18002059d
mov rcx, rdi
call fcn.18000de70
cmp dword [0x1800a9c48], 0
cvttss2si esi, dword [rax]
mov dword [rbp + 0xb0], esi
jne 0x180020397
mov rcx, rdi
call fcn.18000e7e0
mov rdx, rax
call fcn.180041ef0
mov rcx, qword [rax]
mov rax, qword [rcx]
movsd xmm6, qword [rax]
mov eax, dword [rax + 8]
mov dword [rbp - 0x68], eax
call fcn.18000f4e0
mov r8d, 0x2f
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.18000ee00
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movaps xmm2, xmm0
movaps xmm3, xmm0
movsd qword [rsp + 0x50], xmm0
shufps xmm3, xmm3, 0x55
subss xmm2, xmm6
movaps xmm0, xmm6
mov dword [rsp + 0x58], eax
movss xmm1, dword [rsp + 0x58]
subss xmm1, dword [rbp - 0x68]
shufps xmm0, xmm0, 0x55
subss xmm3, xmm0
mulss xmm2, xmm2
xorps xmm0, xmm0
mulss xmm1, xmm1
mulss xmm3, xmm3
addss xmm3, xmm2
addss xmm3, xmm1
sqrtss xmm0, xmm3
cvttss2si eax, xmm0
cmp eax, 0xc9
jge 0x180020397
movaps xmm0, xmmword [0x1800891e0]
addss xmm7, xmm13
lea r8, [rsp + 0x40]
movss dword [rbp + 0xbc], xmm12
lea rdx, [rbp + 0xb8]
movss dword [rsp + 0x54], xmm9
lea rcx, [rsp + 0x50]
mov dword [rbp + 0xb8], 0x40000000
movups xmmword [rsp + 0x40], xmm0
subss xmm7, dword [0x180088d78]
movss dword [rsp + 0x50], xmm7
call fcn.1800117d0
movaps xmm0, xmmword [0x1800891c0]
lea r8, [rsp + 0x40]
movd xmm6, esi
lea rdx, [rbp + 0xb8]
cvtdq2ps xmm6, xmm6
lea rcx, [rsp + 0x50]
mov dword [rbp + 0xb8], 0x40000000
movss dword [rsp + 0x50], xmm7
mulss xmm6, dword [0x180088834]
movss dword [rsp + 0x54], xmm9
movups xmmword [rsp + 0x40], xmm0
mulss xmm6, xmm12
movss dword [rbp + 0xbc], xmm6
call fcn.1800117d0
movabs rax, 0xb01d7ff68f235ed6
movabs rcx, 0xb01d7ff68f475ef3
mov qword [rsp + 0x40], rax
movabs rax, 0x50d9da637245ed60
mov qword [rsp + 0x48], rax
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x70], rcx
pxor xmm0, xmmword [rsp + 0x70]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
nop dword [rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x180020340
movaps xmm1, xmmword [0x180089550]
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x78], rbx
addss xmm6, xmm9
movaps xmm0, xmmword [rsp + 0x70]
lea rdx, [rsp + 0x50]
movdqa xmmword [rsp + 0x70], xmm0
movaps xmm0, xmm7
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
movdqa xmmword [rsp + 0x50], xmm1
unpcklps xmm0, xmm6
movq rcx, xmm0
mov qword [rsp + 0x20], rax
call fcn.180044600
cmp dword [0x1800a9c48], 1
jne 0x18002059d
mov rcx, rdi
call fcn.18000de70
movss xmm12, dword [0x180088930]
movss xmm9, dword [0x180088d58]
movss xmm10, dword [0x180088dc4]
cvttss2si ecx, dword [rax]
movd xmm6, r14d
movd xmm7, esi
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm7, xmm7
cmp ecx, 0x21
jg 0x180020443
movaps xmm0, xmmword [0x1800891a0]
lea r8, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
mov dword [rbp + 0xb4], 0x40c00000
lea rdx, [rbp + 0xb0]
movaps xmm2, xmm6
lea rcx, [rbp + 0xb8]
addss xmm2, xmm11
movaps xmm0, xmm8
movaps xmm1, xmm7
subss xmm0, xmm10
mulss xmm1, xmm12
addss xmm2, xmm9
movss dword [rbp + 0xb0], xmm1
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm2
call fcn.1800117d0
mov rcx, rdi
call fcn.18000de70
cvttss2si ecx, dword [rax]
cmp ecx, 0x22
jl 0x1800204c9
mov rcx, rdi
call fcn.18000de70
cvttss2si ecx, dword [rax]
cmp ecx, 0x42
jg 0x1800204c9
movaps xmm0, xmmword [0x1800891b0]
lea r8, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
mov dword [rbp + 0xb4], 0x40c00000
lea rdx, [rbp + 0xb0]
movaps xmm2, xmm6
lea rcx, [rbp + 0xb8]
addss xmm2, xmm11
movaps xmm0, xmm8
movaps xmm1, xmm7
subss xmm0, xmm10
mulss xmm1, xmm12
addss xmm2, xmm9
movss dword [rbp + 0xb0], xmm1
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm2
call fcn.1800117d0
mov rcx, rdi
call fcn.18000de70
cvttss2si ecx, dword [rax]
cmp ecx, 0x43
jl 0x18002053b
movaps xmm0, xmmword [0x1800891c0]
lea r8, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
lea rdx, [rbp + 0xb0]
mov dword [rbp + 0xb4], 0x40c00000
movaps xmm1, xmm6
mulss xmm7, xmm12
lea rcx, [rbp + 0xb8]
addss xmm1, xmm11
movaps xmm0, xmm8
subss xmm0, xmm10
movss dword [rbp + 0xb0], xmm7
addss xmm1, xmm9
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm1
call fcn.1800117d0
movaps xmm0, xmmword [0x1800891e0]
addss xmm6, xmm11
movups xmmword [rsp + 0x40], xmm0
lea r8, [rsp + 0x40]
mov dword [rbp + 0xb4], 0x40c00000
movss xmm0, dword [0x180088e04]
subss xmm8, xmm10
movaps xmm3, xmm14
movss dword [rbp + 0xb0], xmm0
addss xmm6, xmm9
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0xb8]
movss dword [rbp + 0xb8], xmm8
movss dword [rbp + 0xbc], xmm6
call fcn.180011740
cmp byte [0x1800a9c3e], 0
mov rsi, qword [rsp + 0x178]
je 0x180020751
lea rcx, [rdi + 0x690]
cmp rcx, 0x40000
jbe 0x1800205d9
lea rax, [rcx + 4]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x1800205d9
mov eax, dword [rcx]
jmp 0x1800205db
xor eax, eax
shr eax, 4
test al, 1
jne 0x180020751
mov eax, dword [r12 + r13]
cmp dword [0x1800aa5d0], eax
jle 0x180020623
lea rcx, [0x1800aa5d0]
call fcn.18007e4cc
cmp dword [0x1800aa5d0], 0xffffffff
jne 0x180020623
movss xmm0, dword [0x1800a9f48]
lea rcx, [0x1800aa5d0]
movss dword [0x1800aa3a8], xmm0
call fcn.18007e46c
mov eax, dword [r12 + r13]
cmp dword [0x1800aa0f0], eax
jle 0x180020660
lea rcx, [0x1800aa0f0]
call fcn.18007e4cc
cmp dword [0x1800aa0f0], 0xffffffff
jne 0x180020660
movss xmm0, dword [0x1800a9f4c]
lea rcx, [0x1800aa0f0]
movss dword [0x1800aa510], xmm0
call fcn.18007e46c
mov eax, dword [r12 + r13]
cmp dword [0x1800aa218], eax
jle 0x180020698
lea rcx, [0x1800aa218]
call fcn.18007e4cc
cmp dword [0x1800aa218], 0xffffffff
jne 0x180020698
lea rcx, [0x1800aa218]
mov qword [0x1800aa3f0], 0
call fcn.18007e46c
mov eax, dword [0x1800a9c38]
test eax, eax
jne 0x1800206b4
movss xmm0, dword [0x1800aa510]
subss xmm0, dword [0x180088e98]
jmp 0x1800206c6
cmp eax, 1
jne 0x1800206e3
movss xmm0, dword [0x1800aa510]
mulss xmm0, xmm14
movss xmm1, dword [0x1800aa3a8]
mulss xmm1, xmm14
movss dword [0x1800aa3f4], xmm0
movss dword [0x1800aa3f0], xmm1
mov rcx, rdi
call fcn.18000de70
cvttss2si ecx, dword [rax]
test ecx, ecx
jle 0x180020751
mov rcx, qword [0x1800a9d38]
mov rdx, r15
mov rax, qword [rcx]
call qword [rax + 0x40]
movss xmm1, dword [rbp - 0x7c]
mov rcx, qword [0x1800a9d28]
movss xmm0, dword [rbp - 0x80]
movss xmm2, dword [0x1800aa3f4]
mov r9, qword [0x1800a9d38]
mov rax, qword [rcx]
unpcklps xmm0, xmm1
movss xmm1, dword [0x1800aa3f0]
movq r8, xmm0
unpcklps xmm1, xmm2
mov qword [rsp + 0x28], 0
movq rdx, xmm1
movss dword [rsp + 0x20], xmm14
call qword [rax + 0x78]
movaps xmm13, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm11, xmmword [rsp + 0x100]
mov rbx, qword [rsp + 0x1a0]
movaps xmm9, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x130]
mov r14, qword [rsp + 0x160]
movaps xmm14, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x140]
mov r12, qword [rsp + 0x170]
mov r13, qword [rsp + 0x168]
movaps xmm10, xmmword [rsp + 0x110]
add rsp, 0x180
pop r15
pop rdi
pop rbp
ret