Function at 0x1400c9030
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x168], rax
lea rcx, [0x1401ef6f3]
call fcn.140143510
nop
call fcn.14004dc80
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 0x48]
call fcn.140054f30
movzx eax, al
test eax, eax
je 0x1400c9097
lea rax, str.Font_atlas_not_built__It_is_generally_built_by_the_renderer_back_end._Missing_call_to_renderer__NewFrame___function__e.g._ImGui_ImplOpenGL3_NewFrame__.
test rax, rax
jne 0x1400c90b9
mov eax, dword [0x1401bb0dc]
add eax, 2
mov r8d, eax
lea rdx, str.C:Users_twitcDesktopSlotted_source_renderimguiimgui_impl_win32.cpp
lea rcx, str.io.Fonts__IsBuilt_____Font_atlas_not_built__It_is_generally_built_by_the_renderer_back_end._Missing_call_to_renderer__NewFrame___function__e.g._ImGui_ImplOpenGL3_NewFrame__._
call qword [sym.imp.ucrtbased.dll__wassert]
xor eax, eax
lea rdx, [rbp + 0x28]
mov rcx, qword [0x1401de9f0]
call qword [sym.imp.USER32.dll_GetClientRect]
nop
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.14001b140
mov rax, qword [rax]
mov rcx, qword [rbp + 8]
mov qword [rcx + 8], rax
lea rcx, [rbp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop
mov rax, qword [0x1401de9f8]
mov rcx, qword [rbp + 0x58]
sub rcx, rax
mov rax, rcx
cvtsi2ss xmm0, rax
cvtsi2ss xmm1, qword [0x1401dea00]
divss xmm0, xmm1
mov rax, qword [rbp + 8]
movss dword [rax + 0x10], xmm0
mov rax, qword [rbp + 0x58]
mov qword [0x1401de9f8], rax
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400c9164
mov dword [rbp + 0x164], 1
jmp 0x1400c916e
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0xe04], cl
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400c91a0
mov dword [rbp + 0x164], 1
jmp 0x1400c91aa
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0xe05], cl
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400c91dc
mov dword [rbp + 0x164], 1
jmp 0x1400c91e6
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0xe06], cl
mov rax, qword [rbp + 8]
mov byte [rax + 0xe07], 0
call fcn.1400c93f0
nop
mov rax, qword [rbp + 8]
movzx eax, byte [rax + 0x68]
test eax, eax
je 0x1400c9220
mov dword [rbp + 0x164], 0xffffffff
jmp 0x1400c922b
call fcn.14004e2e0
mov dword [rbp + 0x164], eax
mov eax, dword [rbp + 0x164]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x74]
cmp dword [0x1401bb0d8], eax
je 0x1400c924e
mov eax, dword [rbp + 0x74]
mov dword [0x1401bb0d8], eax
call fcn.1400c92c0
nop
lea rcx, [rbp - 0x20]
lea rdx, [0x140186570]
call fcn.1401432e0
mov rcx, qword [rbp + 0x168]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x178]
pop rdi
pop rbp
ret