Function at 0x1400c9400
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 [0x1401d7f80]
xor rax, rbp
mov qword [rbp + 0x168], rax
lea rcx, [0x1401f06eb]
call fcn.140143790
nop
call fcn.14004e050
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 0x48]
call fcn.140055300
movzx eax, al
test eax, eax
je 0x1400c9467
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 0x1400c9489
mov eax, dword [0x1401bc0dc]
add eax, 2
mov r8d, eax
lea rdx, str.C:UsersAdminDownloadsSlotted_SourceSlotted_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 [0x1401df9f0]
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.14001b3e0
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 [0x1401df9f8]
mov rcx, qword [rbp + 0x58]
sub rcx, rax
mov rax, rcx
cvtsi2ss xmm0, rax
cvtsi2ss xmm1, qword [0x1401dfa00]
divss xmm0, xmm1
mov rax, qword [rbp + 8]
movss dword [rax + 0x10], xmm0
mov rax, qword [rbp + 0x58]
mov qword [0x1401df9f8], rax
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400c9534
mov dword [rbp + 0x164], 1
jmp 0x1400c953e
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 0x1400c9570
mov dword [rbp + 0x164], 1
jmp 0x1400c957a
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 0x1400c95ac
mov dword [rbp + 0x164], 1
jmp 0x1400c95b6
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.1400c97c0
nop
mov rax, qword [rbp + 8]
movzx eax, byte [rax + 0x68]
test eax, eax
je 0x1400c95f0
mov dword [rbp + 0x164], 0xffffffff
jmp 0x1400c95fb
call fcn.14004e6b0
mov dword [rbp + 0x164], eax
mov eax, dword [rbp + 0x164]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x74]
cmp dword [0x1401bc0d8], eax
je 0x1400c961e
mov eax, dword [rbp + 0x74]
mov dword [0x1401bc0d8], eax
call fcn.1400c9690
nop
lea rcx, [rbp - 0x20]
lea rdx, [0x140186a70]
call fcn.140143560
mov rcx, qword [rbp + 0x168]
xor rcx, rbp
call fcn.1401439d0
lea rsp, [rbp + 0x178]
pop rdi
pop rbp
ret