Function at 0x1800a10d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0xe0
movaps xmmword [r11 - 0x18], xmm6
movaps xmmword [r11 - 0x28], xmm7
movaps xmmword [r11 - 0x38], xmm8
movaps xmmword [r11 - 0x48], xmm9
mov rax, qword [0x180154940]
xor rax, rsp
mov qword [rbp - 0x21], rax
mov rax, qword [0x1801a04a0]
xorps xmm7, xmm7
xorps xmm6, xmm6
movss dword [rbp - 0x59], xmm7
xorps xmm8, xmm8
movss dword [rbp - 0x55], xmm6
movss dword [rbp - 0x51], xmm8
xorps xmm9, xmm9
mov ecx, dword [rax + 0x434]
mov qword [r11 + 8], rdi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1801a04a0]
bt eax, 0xf
jae 0x1800a1155
cmp dword [rcx + 0x428], 3
ja 0x1800a1155
mov dil, 1
jmp 0x1800a1158
xor dil, dil
mov edx, dword [rcx + 0x42c]
xor ebx, ebx
mov ecx, dword [rcx + 0x41c]
test ecx, ecx
je 0x1800a118e
sub ecx, 1
je 0x1800a1187
sub ecx, 1
je 0x1800a1180
cmp ecx, 1
jne 0x1800a1193
mov ebx, 0x274
jmp 0x1800a1193
mov ebx, 0x273
jmp 0x1800a1193
mov ebx, 0x276
jmp 0x1800a1193
mov ebx, 0x275
mov ecx, edx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jb 0x1800a11fb
mov dl, 1
mov ecx, ebx
call fcn.18001c510
test al, al
jne 0x1800a11fb
mov rbx, qword [0x1801a04a0]
xor al, al
mov rdx, qword [0x180156af0]
test dil, dil
mov rdi, qword [rsp + 0xf0]
jne 0x1800a12c3
test al, al
je 0x1800a164f
movsxd rax, dword [rbx + 0x424]
cmp eax, 5
ja case.default.0x1800a11f9
lea r8, [0x180000000]
mov ecx, dword [r8 + rax*4 + 0xa1680]
add rcx, r8
jmp rcx
mov rbx, qword [0x1801a04a0]
cmp dword [rbx + 0x424], 5
ja 0x1800a11b5
mov al, 1
jmp 0x1800a11b7
movss xmm7, dword [rdx + 0x2bc]
movss xmm6, dword [rdx + 0x2c0]
movss xmm8, dword [rdx + 0x2c4]
jmp 0x1800a1346
movss xmm7, dword [rdx + 0x2c8]
movss xmm6, dword [rdx + 0x2cc]
movss xmm8, dword [rdx + 0x2d0]
jmp 0x1800a1346
movss xmm7, dword [rdx + 0x2ec]
movss xmm6, dword [rdx + 0x2f0]
movss xmm8, dword [rdx + 0x2f4]
jmp 0x1800a1346
movss xmm7, dword [rdx + 0x328]
movss xmm6, dword [rdx + 0x32c]
movss xmm8, dword [rdx + 0x330]
jmp 0x1800a1346
movss xmm7, dword [rdx + 0x334]
movss xmm6, dword [rdx + 0x338]
movss xmm8, dword [rdx + 0x33c]
jmp 0x1800a1346
movss xmm7, dword [rdx + 0x3d0]
movss xmm6, dword [rdx + 0x3d4]
movss xmm8, dword [rdx + 0x3d8]
jmp 0x1800a1346
mov ecx, dword [rbx + 0x428]
test ecx, ecx
je 0x1800a132d
sub ecx, 1
je 0x1800a1312
sub ecx, 1
je 0x1800a12f7
cmp ecx, 1
jne case.default.0x1800a11f9
movss xmm7, dword [rdx + 0x394]
movss xmm6, dword [rdx + 0x398]
movss xmm8, dword [rdx + 0x39c]
jmp 0x1800a1346
movss xmm7, dword [rdx + 0x388]
movss xmm6, dword [rdx + 0x38c]
movss xmm8, dword [rdx + 0x390]
jmp 0x1800a1346
movss xmm7, dword [rdx + 0x3a0]
movss xmm6, dword [rdx + 0x3a4]
movss xmm8, dword [rdx + 0x3a8]
jmp 0x1800a1346
movss xmm7, dword [rdx + 0x3ac]
movss xmm6, dword [rdx + 0x3b0]
movss xmm8, dword [rdx + 0x3b4]
movss dword [rbp - 0x51], xmm8
movss dword [rbp - 0x55], xmm6
movss dword [rbp - 0x59], xmm7
mov rcx, qword [rbx + 0x248]
mov rax, qword [rbx + 0x18]
movaps xmmword [rsp + 0x90], xmm10
movaps xmmword [rsp + 0x80], xmm11
movaps xmmword [rsp + 0x70], xmm12
mov r8, qword [rcx + rax]
test r8, r8
jne 0x1800a139c
xorps xmm11, xmm11
xorps xmm12, xmm12
xorps xmm1, xmm1
movd ecx, xmm12
unpcklps xmm1, xmm11
xorps xmm10, xmm10
jmp 0x1800a13c7
movsd xmm1, qword [r8 + 0x204]
mov ecx, dword [r8 + 0x20c]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rbp - 0x49], xmm1
movaps xmm11, xmm0
movss xmm10, dword [rbp - 0x49]
movd xmm12, ecx
cmp byte [rbx + 0x3ec], 0
je 0x1800a1415
mov eax, dword [rbp - 0x51]
lea r9, [rbp - 0x49]
movsd xmm0, qword [rbp - 0x59]
lea r8, [rbp - 0x59]
mov edx, dword [rdx + 0x98]
mov dword [rbp - 0x51], ecx
lea rcx, [rbp - 0x39]
movsd qword [rbp - 0x49], xmm0
mov dword [rbp - 0x41], eax
movsd qword [rbp - 0x59], xmm1
call fcn.1800a0720
mov rbx, qword [0x1801a04a0]
movss xmm7, dword [rax]
movss xmm6, dword [rax + 4]
movss xmm8, dword [rax + 8]
subss xmm7, xmm10
subss xmm6, xmm11
subss xmm8, xmm12
ucomiss xmm7, xmm9
jp 0x1800a1452
jne 0x1800a1452
ucomiss xmm6, xmm9
jp 0x1800a1452
jne 0x1800a1452
comiss xmm8, xmm9
xorps xmm10, xmm10
jbe 0x1800a1448
movss xmm0, dword [0x1800dd618]
jmp 0x1800a14c4
movss xmm0, dword [0x1800e6450]
jmp 0x1800a14c4
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.1800bbde0
movss xmm12, dword [0x1800e6448]
movaps xmm10, xmm0
movss xmm11, dword [0x1800dd62c]
mulss xmm10, xmm12
comiss xmm9, xmm10
jbe 0x1800a1483
addss xmm10, xmm11
mulss xmm6, xmm6
xorps xmm0, xmm0
mulss xmm7, xmm7
addss xmm6, xmm7
ucomiss xmm0, xmm6
ja 0x1800a14a0
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x1800a14a8
movaps xmm0, xmm6
call fcn.1800bb07c
movaps xmm1, xmm0
movaps xmm0, xmm8
call fcn.1800bbde0
mulss xmm0, xmm12
comiss xmm9, xmm0
jbe 0x1800a14c4
addss xmm0, xmm11
xorps xmm0, xmmword [0x1800dd580]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movss dword [0x1801a03e4], xmm10
movaps xmm10, xmmword [rsp + 0x90]
movss dword [0x1801a03e0], xmm0
mov dword [0x1801a03e8], 0
cmp byte [rbx + 0x642], 0
jne 0x1800a164f
mov rcx, qword [0x1802366a0]
test rcx, rcx
je 0x1800a164f
mov rax, qword [0x1802366b8]
test rax, rax
je 0x1800a164f
movd xmm0, dword [rbx + 0x43c]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x1800db6a0]
jbe 0x1800a160f
movsd xmm0, qword [rax + 0x2cc]
lea rcx, [rbp - 0x49]
mov eax, dword [rax + 0x2d4]
movsd qword [rbp - 0x49], xmm0
mov dword [rbp - 0x41], eax
call fcn.1800a1030
movss xmm0, dword [0x1801a03e0]
lea rcx, [rbp - 0x59]
subss xmm0, dword [rbp - 0x49]
movss xmm1, dword [0x1801a03e4]
subss xmm1, dword [rbp - 0x45]
movss dword [rbp - 0x59], xmm0
movss xmm0, dword [0x1801a03e8]
subss xmm0, dword [rbp - 0x41]
movss dword [rbp - 0x55], xmm1
movss dword [rbp - 0x51], xmm0
call fcn.1800a1030
mov rax, qword [0x1801a04a0]
lea rcx, [0x1801a03e0]
movss xmm3, dword [rbp - 0x59]
movss xmm1, dword [rbp - 0x55]
movss xmm0, dword [rbp - 0x51]
movd xmm2, dword [rax + 0x43c]
cvtdq2ps xmm2, xmm2
divss xmm3, xmm2
divss xmm1, xmm2
addss xmm3, dword [rbp - 0x49]
addss xmm1, dword [rbp - 0x45]
divss xmm0, xmm2
movss dword [0x1801a03e0], xmm3
addss xmm0, dword [rbp - 0x41]
movss dword [0x1801a03e4], xmm1
movss dword [0x1801a03e8], xmm0
call fcn.1800a1030
mov rcx, qword [0x1802366a0]
mov rbx, qword [0x1801a04a0]
mov rax, qword [rbx + 0x80]
lea rdx, [0x1801a03e0]
mov qword [rbp - 0x39], rax
xor r9d, r9d
mov rax, qword [rbx + 0x268]
xor r8d, r8d
add rax, qword [rbx + 0x18]
mov qword [rbp - 0x31], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rbp - 0x29], rax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
call fcn.1800a3f70
mov rcx, qword [rbp - 0x21]
xor rcx, rsp
call fcn.1800a5c70
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x18]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rbp
ret