Function at 0x1800a2ab0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
sub rsp, 0x198
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x2e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x18014ac58]
xor rax, rbp
mov qword [rbp + 0x168], rax
lea rcx, [0x18015c4d2]
call fcn.1800f31a0
call fcn.1800312f0
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 0xa0]
call fcn.1800a3da0
movzx eax, al
test eax, eax
je 0x1800a2b19
lea rax, str.Font_atlas_not_built__It_is_generally_built_by_the_renderer_backend._Missing_call_to_renderer__NewFrame___function__e.g._ImGui_ImplOpenGL3_NewFrame__.
test rax, rax
jne 0x1800a2b3b
mov eax, dword [0x18014a9d8]
add eax, 2
mov r8d, eax
lea rdx, [0x180126710]
lea rcx, str.io.Fonts__IsBuilt_____Font_atlas_not_built__It_is_generally_built_by_the_renderer_backend._Missing_call_to_renderer__NewFrame___function__e.g._ImGui_ImplOpenGL3_NewFrame__._
call qword [sym.imp.ucrtbased.dll__wassert]
xor eax, eax
mov dword [rbp + 0x28], 0
mov dword [rbp + 0x2c], 0
mov dword [rbp + 0x30], 0
mov dword [rbp + 0x34], 0
lea rdx, [rbp + 0x28]
mov rcx, qword [0x180151e70]
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rbp + 0x2c]
mov ecx, dword [rbp + 0x34]
sub ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp + 0x30]
sub ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movaps xmm2, xmm0
lea rcx, [rbp + 0x154]
call fcn.180009550
mov rax, qword [rax]
mov rcx, qword [rbp + 8]
mov qword [rcx + 8], rax
mov qword [rbp + 0x58], 0
lea rcx, [rbp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [0x180151e78]
mov rcx, qword [rbp + 0x58]
sub rcx, rax
mov rax, rcx
cvtsi2ss xmm0, rax
cvtsi2ss xmm1, qword [0x180151e80]
divss xmm0, xmm1
mov rax, qword [rbp + 8]
movss dword [rax + 0x10], xmm0
mov rax, qword [rbp + 0x58]
mov qword [0x180151e78], rax
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1800a2c08
mov dword [rbp + 0x164], 1
jmp 0x1800a2c12
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0x138], cl
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1800a2c44
mov dword [rbp + 0x164], 1
jmp 0x1800a2c4e
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0x139], cl
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1800a2c80
mov dword [rbp + 0x164], 1
jmp 0x1800a2c8a
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0x13a], cl
mov rax, qword [rbp + 8]
mov byte [rax + 0x13b], 0
call fcn.1800a3670
mov rax, qword [rbp + 8]
movzx eax, byte [rax + 0xc0]
test eax, eax
je 0x1800a2cc6
mov dword [rbp + 0x164], 0xffffffff
jmp 0x1800a2cd1
call fcn.180031870
mov dword [rbp + 0x164], eax
mov eax, dword [rbp + 0x164]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x74]
cmp dword [0x18014a9cc], eax
je 0x1800a2cf3
mov eax, dword [rbp + 0x74]
mov dword [0x18014a9cc], eax
call fcn.1800a3530
call fcn.1800a2dd0
lea rcx, [rbp - 0x20]
lea rdx, [0x1801262a0]
call fcn.1800f2f70
mov rcx, qword [rbp + 0x168]
xor rcx, rbp
call fcn.1800f3440
lea rsp, [rbp + 0x178]
pop rdi
pop rbp
ret