Function at 0x1800da080
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x60
mov rdi, rcx
mov rdx, qword [0x18011bdc8]
test rdx, rdx
jne 0x1800d4ea6
mov rbx, qword [rcx + 0x10]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea r8d, [rdx + 7]
lea rdx, str.ResetSP
lea rcx, [rsp + 0x40]
call fcn.180031cf0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, 0x1e
lea rdx, str.PalCharacterParameterComponent
lea rcx, [rsp + 0x20]
call fcn.180031cf0
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1800d44f0
mov qword [0x18011bdc8], rax
lea rcx, [rsp + 0x20]
call fcn.180031e30
nop
lea rcx, [rsp + 0x40]
call fcn.180031e30
mov rdx, qword [0x18011bdc8]
mov ebx, dword [rdx + 0xb0]
mov eax, ebx
bts eax, 0xa
mov dword [rdx + 0xb0], eax
mov rax, qword [rdi]
xor r8d, r8d
mov rcx, rdi
call qword [rax + 0x260]
mov rax, qword [0x18011bdc8]
mov dword [rax + 0xb0], ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800da0fb
mov rcx, qword [0x180114da0]
test rcx, rcx
je 0x1800da0fb
call fcn.1800d5150
test rax, rax
je 0x1800da0fb
mov rcx, qword [0x180114da0]
call fcn.1800d5150
mov rcx, rax
call fcn.1800d5340
test rax, rax
je 0x1800da0fb
cmp byte [0x180114b66], 0
mov rcx, qword [0x180114da0]
je 0x1800da0e6
call fcn.1800d5150
mov rcx, rax
call fcn.1800d5260
jmp 0x1800da0fb
call fcn.1800d5150
mov rcx, rax
call fcn.1800d5340
mov rcx, rax
call fcn.1800d5790
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800da155
mov rax, qword [0x180114da0]
test rax, rax
je 0x1800da15c
mov rcx, rax
call fcn.1800d5150
test rax, rax
je 0x1800da155
mov rcx, qword [0x180114da0]
call fcn.1800d5150
mov rcx, rax
call fcn.1800d5340
test rax, rax
je 0x1800da155
mov rcx, qword [0x180114da0]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], 0x5f5e0ff
call fcn.1800d4bb0
mov rax, qword [0x180114da0]
cmp byte [0x180114b62], 0
je 0x1800da1bf
call fcn.18002f830
test rax, rax
jne 0x1800da18e
call fcn.18002f830
cmp qword [rax + 0x30], 0
jne 0x1800da18e
call fcn.18002f830
mov rcx, qword [rax + 0x30]
cmp qword [rcx + 0x298], 0
je 0x1800da1b8
movaps xmmword [rsp + 0x20], xmm6
movss xmm6, dword [0x180114b74]
call fcn.18002f830
mov rcx, qword [rax + 0x30]
mov rax, qword [rcx + 0x298]
movss dword [rax + 0x3c8], xmm6
movaps xmm6, xmmword [rsp + 0x20]
mov rax, qword [0x180114da0]
cmp byte [0x180114b63], 0
je 0x1800da1f4
test rax, rax
je 0x1800da1f4
mov rcx, qword [rax + 0x628]
mov edx, dword [0x180114b7c]
cmp dword [rcx + 0x12c], edx
je 0x1800da1f4
test rcx, rcx
je 0x1800da1f4
mov dword [rcx + 0x12c], edx
mov rax, qword [0x180114da0]
cmp byte [0x180114b64], 0
je 0x1800da229
test rax, rax
je 0x1800da229
mov rcx, qword [rax + 0x628]
mov edx, dword [0x180114b80]
cmp dword [rcx + 0x130], edx
je 0x1800da229
test rcx, rcx
je 0x1800da229
mov dword [rcx + 0x130], edx
mov rax, qword [0x180114da0]
cmp byte [0x180114b65], 0
je 0x1800da24c
test rax, rax
je 0x1800da24c
mov rcx, qword [rax + 0x628]
test rcx, rcx
je 0x1800da24c
add rsp, 0x38
jmp 0x1800d4e00
add rsp, 0x38
ret