Function at 0x1800fb760
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x18016e040]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov ecx, 0x72
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800fb7da
mov rcx, qword [0x180175b68]
test rcx, rcx
je 0x1800fb7da
call fcn.1800ef470
test rax, rax
je 0x1800fb7da
cmp byte [0x180175813], 0
sete dl
mov byte [0x180175813], dl
mov rcx, qword [0x180175b68]
call fcn.1800ef250
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor r12d, r12d
test al, 1
je 0x1800fb844
movzx ebx, byte [0x1801757ff]
mov rax, qword [0x180175b68]
test rax, rax
je 0x1800fb813
mov rcx, rax
call fcn.1800ef470
mov rdx, rax
mov rax, qword [0x180175b68]
jmp 0x1800fb816
mov rdx, r12
test rax, rax
je 0x1800fb824
mov rcx, qword [rax + 0x2b0]
jmp 0x1800fb827
mov rcx, r12
test rdx, rdx
je 0x1800fb844
test rcx, rcx
je 0x1800fb844
test bl, bl
je 0x1800fb83f
mov rcx, rdx
call fcn.1800ef6a0
jmp 0x1800fb844
call fcn.1800f0d80
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800fb895
mov rbx, qword [0x180175b68]
test rbx, rbx
je 0x1800fb895
mov dword [rbp - 0x59], 0x5f5e0ff
mov rcx, qword [rbx + 0x628]
call fcn.1800eba40
test al, al
je 0x1800fb889
mov rcx, qword [0x180175b68]
mov rcx, qword [rcx + 0x628]
call fcn.1800eb3d0
lea rdx, [rbp - 0x59]
mov rcx, rbx
call fcn.1800eaf60
cmp byte [0x1801757fb], r12b
je 0x1800fb8e2
mov rax, qword [0x180175b60]
test rax, rax
je 0x1800fb8e2
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x1800fb8e2
cmp qword [rcx + 0x298], r12
je 0x1800fb8e2
mov rax, qword [rax + 0x1b8]
mov rax, qword [rax + 0x38]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
mov rcx, qword [rax + 0x338]
movss xmm0, dword [0x180175818]
movss dword [rcx + 0x64], xmm0
cmp byte [0x1801757fc], r12b
je 0x1800fb917
mov ecx, dword [0x180175828]
mov rbx, qword [0x180175b68]
test rbx, rbx
je 0x1800fb917
mov rax, qword [rbx + 0x628]
test rax, rax
je 0x1800fb917
cmp dword [rax + 0x12c], ecx
je 0x1800fb917
mov dword [rax + 0x12c], ecx
cmp byte [0x1801757fd], r12b
je 0x1800fb94c
mov ecx, dword [0x18017582c]
mov rbx, qword [0x180175b68]
test rbx, rbx
je 0x1800fb94c
mov rax, qword [rbx + 0x628]
test rax, rax
je 0x1800fb94c
cmp dword [rax + 0x130], ecx
je 0x1800fb94c
mov dword [rax + 0x130], ecx
cmp byte [0x180175803], r12b
je 0x1800fbab6
movss xmm7, dword [0x18017584c]
mov rdi, r12
mov qword [rbp - 1], r12
mov eax, r12d
mov dword [rbp + 7], eax
mov dword [rbp + 0xb], r12d
mov rcx, qword [0x180175b60]
test rcx, rcx
je 0x1800fb9a6
mov rdx, qword [rcx + 0x1b8]
test rdx, rdx
je 0x1800fb9a6
mov rcx, qword [rdx + 0x568]
test rcx, rcx
je 0x1800fb9a6
lea rdx, [rbp - 1]
call fcn.1800eb180
mov eax, dword [rbp + 7]
mov rdi, qword [rbp - 1]
test eax, eax
je 0x1800fbab6
mov r15d, eax
movss xmm6, dword [0x18015b448]
nop dword [rax]
mov rsi, qword [rdi]
test rsi, rsi
je 0x1800fbaa8
call fcn.1800ed680
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1800fbaa8
nop
cmp rcx, rax
je 0x1800fb9f3
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x1800fb9e0
jmp 0x1800fbaa8
mov rbx, qword [0x180175b68]
test rbx, rbx
je 0x1800fbaa8
mov rcx, rbx
call fcn.1800ef470
test rax, rax
je 0x1800fbaa8
mov r14, qword [rax + 0x348]
test r14, r14
je 0x1800fbaa8
lea rdx, [rbp - 1]
mov rcx, rbx
call fcn.1800e9870
lea rdx, [rbp - 0x51]
mov rcx, r14
call fcn.1800e9ac0
movaps xmm0, xmm7
mulss xmm0, xmm6
xorps xmm4, xmm4
cvtss2sd xmm4, xmm0
movaps xmm1, xmm4
mulsd xmm1, qword [rax + 0x10]
movaps xmm0, xmm4
mulsd xmm0, qword [rax + 8]
movsd xmm3, qword [rbp + 0xf]
addsd xmm3, xmm1
movsd xmm2, qword [rbp + 7]
addsd xmm2, xmm0
mulsd xmm4, qword [rax]
addsd xmm4, qword [rbp - 1]
movsd qword [rbp - 0x31], xmm4
movsd qword [rbp - 0x29], xmm2
movsd qword [rbp - 0x21], xmm3
lea rdx, [rbp - 0x19]
mov rcx, rsi
call fcn.1800e9620
lea rdx, [rbp - 0x31]
mov rcx, rsi
call fcn.1800e9340
lea rdx, [rbp - 0x19]
mov rcx, rsi
call fcn.1800e90f0
add rdi, 8
sub r15, 1
jne 0x1800fb9c0
cmp byte [0x18017580d], r12b
je 0x1800fbad2
movss xmm1, dword [0x180175820]
mov ecx, dword [0x180175824]
call fcn.180047660
cmp byte [0x1801757fe], r12b
je 0x1800fbb7c
mov rbx, qword [0x180175b68]
test rbx, rbx
je 0x1800fbafc
mov rcx, qword [rbx + 0x628]
test rcx, rcx
je 0x1800fbafc
call fcn.1800eb5f0
call fcn.180044b90
mov rcx, qword [rax + 0x30]
movups xmm0, xmmword [rcx + 0x98]
movups xmmword [rbp - 1], xmm0
mov ebx, r12d
mov r15d, dword [rcx + 0xa0]
test r15d, r15d
jle 0x1800fbb7c
mov r14, qword [rbp - 1]
mov esi, ebx
mov rdi, qword [r14 + rsi*8]
test rdi, rdi
je 0x1800fbb75
call fcn.1800eade0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1800fbb75
nop dword [rax]
cmp rcx, rax
je 0x1800fbb50
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x1800fbb40
jmp 0x1800fbb75
mov rdi, qword [r14 + rsi*8]
mov rcx, qword [rdi + 0x628]
test rcx, rcx
je 0x1800fbb75
call fcn.1800eb810
test al, al
je 0x1800fbb75
mov rcx, qword [rdi + 0x628]
call fcn.1800eb5f0
inc ebx
cmp ebx, r15d
jl 0x1800fbb23
cmp byte [0x180175b58], r12b
je 0x1800fbb99
call fcn.180046a80
cmp eax, dword [0x180175b54]
jle 0x1800fbb99
mov cl, 1
call fcn.180046b20
call fcn.180046a80
mov dword [0x180175b54], eax
mov rax, qword [0x180175b68]
test rax, rax
je 0x1800fbc09
mov rcx, qword [rax + 0x800]
test rcx, rcx
je 0x1800fbc09
call fcn.1800f1610
test rax, rax
je 0x1800fbc02
mov rcx, qword [0x180175b68]
mov rcx, qword [rcx + 0x800]
call fcn.1800f1840
test al, al
je 0x1800fbc02
cmp byte [0x180175800], r12b
sete r12b
mov rcx, qword [0x180175b68]
mov rcx, qword [rcx + 0x800]
call fcn.1800f1610
mov byte [rax + 0x362], r12b
mov rax, qword [0x180175b68]
cmp byte [0x180175804], 0
je 0x1800fbc58
test rax, rax
je 0x1800fbc58
mov rcx, qword [rax + 0x628]
test rcx, rcx
je 0x1800fbc58
mov rcx, qword [rcx + 0x108]
test rcx, rcx
je 0x1800fbc58
lea rdx, [rbp - 1]
call fcn.1800ec6f0
cmp qword [rax], 0x7fffffff
jge 0x1800fbc58
mov dword [rbp - 0x59], 0x7fffffff
lea rdx, [rbp - 0x59]
mov rcx, qword [0x180175b68]
call fcn.1800eaf60
cmp byte [0x180175812], 0
je 0x1800fbced
mov rbx, qword [0x18018b710]
test rbx, rbx
jne 0x1800fbccf
mov rbx, qword [0x18018b718]
test rbx, rbx
jne 0x1800fbcc1
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x41], xmm1
lea r8d, [rbx + 0xa]
lea rdx, str.PalUtility
lea rcx, [rbp - 0x51]
call fcn.180045dc0
nop
lea rcx, [rbp - 0x51]
call fcn.1800e8770
mov qword [0x18018b718], rax
lea rcx, [rbp - 0x51]
call fcn.180045f00
mov rbx, qword [0x18018b718]
mov rbx, qword [rbx + 0x110]
mov qword [0x18018b710], rbx
call fcn.180044b90
mov rdx, rax
mov rcx, rbx
call fcn.1800f1ec0
mov edx, dword [0x180175830]
mov rcx, rax
call fcn.1800f1ca0
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18010a1b0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop rbp
ret