Function at 0x4be770
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x5845f8]
xor eax, ebp
mov dword [ebp - 4], eax
call fcn.00440e10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x90]
call fcn.004c0d50
movzx ecx, al
test ecx, ecx
je 0x4be7a6
mov edx, 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 edx, edx
jne 0x4be7be
push 0x15e
push str.C:UsersAdminDocumentsmillennium_steam_patcherinstaller_src_vendorimguiimgui_impl_win32.cpp
push 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 dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [0x58ba88]
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
cvtsi2ss xmm0, eax
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x1c]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x40]
call fcn.00439b80
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
movzx edx, byte [0x55d619]
test edx, edx
je 0x4be831
call fcn.004befa0
xorps xmm0, xmm0
movlpd qword [ebp - 0xc], xmm0
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0xc]
sub ecx, dword [0x58ba90]
mov edx, dword [ebp - 8]
sbb edx, dword [0x58ba94]
call fcn.00502fc0
cvtsd2ss xmm0, xmm0
mov edx, dword [0x58ba9c]
mov ecx, dword [0x58ba98]
movss dword [ebp - 0x38], xmm0
call fcn.00502fc0
cvtsd2ss xmm0, xmm0
movss xmm1, dword [ebp - 0x38]
divss xmm1, xmm0
mov ecx, dword [ebp - 0x20]
movss dword [ecx + 0x10], xmm1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [0x58ba90], edx
mov dword [0x58ba94], eax
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x4be8b6
mov dword [ebp - 0x24], 1
jmp 0x4be8bd
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x20]
mov al, byte [ebp - 0x24]
mov byte [edx + 0xf8], al
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x4be8e5
mov dword [ebp - 0x28], 1
jmp 0x4be8ec
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x20]
mov al, byte [ebp - 0x28]
mov byte [edx + 0xf9], al
push 0x12
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x4be914
mov dword [ebp - 0x2c], 1
jmp 0x4be91b
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x20]
mov al, byte [ebp - 0x2c]
mov byte [edx + 0xfa], al
mov ecx, dword [ebp - 0x20]
mov byte [ecx + 0xfb], 0
call fcn.004bf0d0
mov edx, dword [ebp - 0x20]
movzx eax, byte [edx + 0xaf]
test eax, eax
je 0x4be94d
mov dword [ebp - 0x30], 0xffffffff
jmp 0x4be955
call fcn.00450100
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [0x55d614]
cmp edx, dword [ebp - 0x34]
je 0x4be973
mov eax, dword [ebp - 0x34]
mov dword [0x55d614], eax
call fcn.004befe0
call fcn.004bf2f0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00502b55
mov esp, ebp
pop ebp
ret