Function at 0x1800a7f20
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x30
mov rdi, rcx
call fcn.180080440
mov rbp, rax
call fcn.180080020
xor ebx, ebx
test rax, rax
je 0x1800a7f56
call fcn.180080440
mov rsi, qword [rax + 0x88]
test rsi, rsi
jne 0x1800a7f73
jmp 0x1800a7f59
mov rsi, rbx
mov r8d, 0x169
lea rdx, str.C:UsersTomoaDownloadsMelody_V1_1.18.12ImGuiimgui_impl_win32.cpp
lea rcx, str.bd___nullptr___Did_you_call_ImGui_ImplWin32_Init____
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsd xmm0, qword [rdi]
lea rcx, [rsp + 0x58]
movsd qword [rbp + 8], xmm0
mov qword [rsp + 0x58], rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x58]
xorps xmm1, xmm1
sub rax, qword [rsi + 0x18]
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [rsi + 0x20]
cvtsi2ss xmm1, rax
divss xmm1, xmm0
movss dword [rbp + 0x10], xmm1
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x18], rax
call fcn.180080020
test rax, rax
je 0x1800a7fce
call fcn.180080440
mov rbx, qword [rax + 0x88]
call fcn.180080440
cmp qword [rbx], 0
mov rdi, rax
jne 0x1800a7ff6
mov r8d, 0x111
lea rdx, str.C:UsersTomoaDownloadsMelody_V1_1.18.12ImGuiimgui_impl_win32.cpp
lea rcx, str.bd__hWnd___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [rbx]
cmp rax, rcx
jne 0x1800a8042
cmp byte [rdi + 0xcd], 0
je 0x1800a8042
cvttss2si eax, dword [rdi + 0xdf8]
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], eax
cvttss2si eax, dword [rdi + 0xdfc]
mov dword [rsp + 0x54], eax
call qword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x1800a8042
mov edx, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov ecx, 0x210
call fcn.180081e30
mov edi, 0xffffffff
test al, al
je 0x1800a8099
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
jne 0x1800a8099
call fcn.180080440
xor r8d, r8d
mov edx, 0x210
mov rcx, rax
mov rbx, rax
call fcn.180078050
mov r9d, edi
mov dword [rsp + 0x20], edi
mov edx, 0x210
mov r8d, 0xa0
mov rcx, rbx
call fcn.18008ccb0
mov ecx, 0x214
call fcn.180081e30
test al, al
je 0x1800a80eb
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
jne 0x1800a80eb
call fcn.180080440
xor r8d, r8d
mov edx, 0x214
mov rcx, rax
mov rbx, rax
call fcn.180078050
mov r9d, edi
mov dword [rsp + 0x20], edi
mov edx, 0x214
mov r8d, 0xa1
mov rcx, rbx
call fcn.18008ccb0
mov ecx, 0x212
call fcn.180081e30
test al, al
je 0x1800a813d
mov ecx, 0x5b
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
jne 0x1800a813d
call fcn.180080440
xor r8d, r8d
mov edx, 0x212
mov rcx, rax
mov rbx, rax
call fcn.180078050
mov r9d, edi
mov dword [rsp + 0x20], edi
mov edx, 0x212
mov r8d, 0x5b
mov rcx, rbx
call fcn.18008ccb0
mov ecx, 0x216
call fcn.180081e30
test al, al
je 0x1800a818f
mov ecx, 0x5c
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
jne 0x1800a818f
call fcn.180080440
xor r8d, r8d
mov edx, 0x216
mov rcx, rax
mov rbx, rax
call fcn.180078050
mov r9d, edi
mov dword [rsp + 0x20], edi
mov edx, 0x216
mov r8d, 0x5c
mov rcx, rbx
call fcn.18008ccb0
cmp byte [rbp + 0x50], 0
jne 0x1800a819c
call fcn.1800808f0
mov edi, eax
cmp dword [rsi + 0x28], edi
je 0x1800a81a9
mov dword [rsi + 0x28], edi
call fcn.1800a86c0
call fcn.1800a81c0
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret