Function at 0x180004610
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
cmp byte [0x18008080f], 0
movabs rdi, 0x7fffffff0000
je 0x1800046cf
mov rax, qword [0x180082b48]
test rax, rax
jne 0x18000467c
mov dword [rsp + 0x20], 0xe000c
lea rax, str.user32
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x20]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.1800015d0
mov rcx, rax
lea rdx, [0x180050a40]
call fcn.180001460
mov qword [0x180082b48], rax
mov ecx, dword [0x180080820]
call rax
test ax, ax
je 0x1800046cf
mov rax, qword [0x180080ac0]
lea rcx, [rax + 0x6b8]
cmp rcx, 0x400000
jbe 0x1800046cf
add rax, 0x6c0
cmp rax, rdi
jae 0x1800046cf
mov rax, qword [rcx]
lea rcx, [rax + 0x84]
cmp rcx, 0x400000
jbe 0x1800046cf
add rax, 0x88
cmp rax, rdi
jae 0x1800046cf
mov dword [rcx], 0x3f800000
xor ebx, ebx
cmp byte [0x18008082a], bl
je 0x18000473e
mov rax, qword [0x180080ac0]
lea rcx, [rax + 0x6b8]
cmp rcx, 0x400000
jbe 0x18000473e
add rax, 0x6c0
cmp rax, rdi
jae 0x18000473e
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xc4]
cmp r8, 0x400000
jbe 0x180004720
lea rax, [rcx + 0xc8]
cmp rax, rdi
jae 0x180004720
mov dword [r8], ebx
lea rcx, [rdx + 0xc8]
cmp rcx, 0x400000
jbe 0x18000473e
lea rax, [rdx + 0xcc]
cmp rax, rdi
jae 0x18000473e
mov dword [rcx], ebx
cmp byte [0x180080828], bl
je 0x18000476e
mov rax, qword [0x180080ac0]
lea rcx, [rax + 0x9d0]
cmp rcx, 0x400000
jbe 0x18000476e
add rax, 0x9d4
cmp rax, rdi
jae 0x18000476e
mov dword [rcx], 0x3f800000
cmp byte [0x180080826], bl
je 0x180004809
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180004809
mov rax, qword [0x180080ac0]
lea rcx, [rax + 0x6b8]
cmp rcx, 0x400000
jbe 0x180004809
add rax, 0x6c0
cmp rax, rdi
jae 0x180004809
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xc8]
cmp r8, 0x400000
jbe 0x1800047d9
lea rax, [rcx + 0xd4]
cmp rax, rdi
jae 0x1800047d9
mov dword [r8], ebx
mov qword [r8 + 4], 0x49742400
lea rcx, [rdx + 0xc4]
cmp rcx, 0x400000
jbe 0x180004809
lea rax, [rdx + 0xd0]
cmp rax, rdi
jae 0x180004809
mov dword [rcx], 0x4b18967f
mov dword [rcx + 4], 0x4b18967f
mov dword [rcx + 8], 0x4b18967f
cmp byte [0x180080837], bl
je 0x180004899
lea rcx, str.GameAssembly.dll
call fcn.180001510
add rax, 0x2fc2cf8
cmp rax, 0x400000
jbe 0x180004899
lea rcx, str.GameAssembly.dll
call fcn.180001510
add rax, 0x2fc2d00
cmp rax, rdi
jae 0x180004899
lea rcx, str.GameAssembly.dll
call fcn.180001510
mov rax, qword [rax + 0x2fc2cf8]
lea rcx, [rax + 0xb8]
cmp rcx, 0x400000
jbe 0x180004899
add rax, 0xc0
cmp rax, rdi
jae 0x180004899
mov rax, qword [rcx]
lea rcx, [rax + 0x18]
cmp rcx, 0x400000
jbe 0x180004899
add rax, 0x1c
cmp rax, rdi
jae 0x180004899
movss xmm0, dword [0x18007f0b4]
movss dword [rcx], xmm0
cmp byte [0x180080827], bl
je 0x1800048da
mov rax, qword [0x180080ac0]
lea rcx, [rax + 0x8f0]
add rax, 0x8f4
cmp rcx, 0x400000
jbe 0x1800048da
cmp rax, rdi
jae 0x1800048c7
mov ebx, dword [rcx]
jmp 0x1800048d5
cmp rcx, 0x400000
jbe 0x1800048da
cmp rax, rdi
jae 0x1800048da
or ebx, 4
mov dword [rcx], ebx
cmp byte [0x180080825], 0
je 0x180004900
mov ecx, dword [0x180080838]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180004900
mov rcx, qword [0x180080ac0]
call fcn.180001df0
cmp byte [0x180080840], 0
je 0x1800049c1
mov ecx, 0x38
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800049c1
cmp byte [0x180080840], 0
mov rax, qword [0x180080ac0]
je 0x1800049c1
lea rcx, [rax + 0x578]
cmp rcx, 0x400000
jbe 0x1800049c1
add rax, 0x580
cmp rax, rdi
jae 0x1800049c1
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800049c1
lea rdx, [rcx + 0x13c]
cmp rdx, 0x400000
jbe 0x180004977
lea rax, [rcx + 0x13d]
cmp rax, rdi
jae 0x180004977
mov byte [rdx], 1
lea r8, [rcx + 0x6b8]
cmp r8, 0x400000
jbe 0x18000499a
lea rax, [rcx + 0x6bc]
cmp rax, rdi
jae 0x18000499a
mov dword [r8], 0x3f800000
cmp rdx, 0x400000
jbe 0x1800049c1
lea rax, [rcx + 0x140]
cmp rax, rdi
jae 0x1800049c1
movzx eax, byte [0x18008082b]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdx], xmm0
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret