Function at 0x1400a99d7
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x14018c170
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 [0x1402836c0]
xor rax, rbp
mov qword [rbp + 0x168], rax
lea rcx, [0x14029b554]
call fcn.1400aa792
call fcn.1400a9e91
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 0xa0]
call fcn.1400a9e19
movzx eax, al
test eax, eax
je 0x14018c1d9
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 0x14018c1fb
mov eax, dword [0x140266884]
add eax, 2
mov r8d, eax
lea rdx, str.C:UsersKERNELMODEDownloadsoblivionoblivionimguiimgui_impl_win32.cpp
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 [0x14028c458]
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.1400a9937
mov rax, qword [rax]
mov rcx, qword [rbp + 8]
mov qword [rcx + 8], rax
movzx eax, byte [0x14026687d]
test eax, eax
je 0x14018c26e
call fcn.14018d860
mov qword [rbp + 0x58], 0
lea rcx, [rbp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [0x14028c460]
mov rcx, qword [rbp + 0x58]
sub rcx, rax
mov rax, rcx
cvtsi2ss xmm0, rax
cvtsi2ss xmm1, qword [0x14028c468]
divss xmm0, xmm1
mov rax, qword [rbp + 8]
movss dword [rax + 0x10], xmm0
mov rax, qword [rbp + 0x58]
mov qword [0x14028c460], rax
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14018c2d8
mov dword [rbp + 0x164], 1
jmp 0x14018c2e2
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0x134], cl
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14018c314
mov dword [rbp + 0x164], 1
jmp 0x14018c31e
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0x135], cl
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14018c350
mov dword [rbp + 0x164], 1
jmp 0x14018c35a
mov dword [rbp + 0x164], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0x164]
mov byte [rax + 0x136], cl
mov rax, qword [rbp + 8]
mov byte [rax + 0x137], 0
call fcn.14018dcd0
mov rax, qword [rbp + 8]
movzx eax, byte [rax + 0xc7]
test eax, eax
je 0x14018c396
mov dword [rbp + 0x164], 0xffffffff
jmp 0x14018c3a1
call fcn.1400a9653
mov dword [rbp + 0x164], eax
mov eax, dword [rbp + 0x164]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x74]
cmp dword [0x140266878], eax
je 0x14018c3c3
mov eax, dword [rbp + 0x74]
mov dword [0x140266878], eax
call fcn.14018db40
call fcn.14018cf10
lea rcx, [rbp - 0x20]
lea rdx, [0x14023b670]
call fcn.1400aa13e
mov rcx, qword [rbp + 0x168]
xor rcx, rbp
call fcn.1400a9347
lea rsp, [rbp + 0x178]
pop rdi
pop rbp
ret