Function at 0x180013280
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
mov rbp, rsp
sub rsp, 0x50
cmp byte [0x1800c00d8], 0
je 0x18001337c
cmp byte [0x1800e9104], 0
mov ecx, dword [0x1800e7ebc]
je 0x1800132de
cmp dword [0x1800ea6e0], ecx
cmovg ecx, dword [0x1800ea6e0]
test ecx, ecx
js 0x180013375
lea r9, str.update:_Blocking_Input_In_Imgui_cause_user_uses_imgui
mov r8d, 0x19
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
xor ecx, ecx
call fcn.180066a10
jmp 0x180013375
mov edx, dword [0x1800ea6e0]
mov eax, ecx
cmp edx, ecx
cmovg eax, edx
cmp eax, 0xffffffff
jl 0x180013319
mov r8d, 0x1c
lea r9, str.update:_NOT_blocking_input_in_Imgui_cause_users_is_NOT_using_Imgui
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
lea ecx, [r8 - 0x1d]
call fcn.180066a10
mov edx, dword [0x1800ea6e0]
mov ecx, dword [0x1800e7ebc]
cmp edx, ecx
mov eax, ecx
cmovg eax, edx
cmp eax, 0xffffffff
jl 0x18001334e
mov r8d, 0x1d
lea r9, str.update:_NOT_blocking_input_in_Imgui_cause_users_is_NOT_using_Imgui
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
lea ecx, [r8 - 0x1e]
call fcn.180066a10
mov edx, dword [0x1800ea6e0]
mov ecx, dword [0x1800e7ebc]
cmp edx, ecx
cmovg ecx, edx
cmp ecx, 0xffffffff
jl 0x180013375
mov r8d, 0x1e
lea r9, str.update:_NOT_blocking_input_in_Imgui_cause_users_is_NOT_using_Imgui
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
lea ecx, [r8 - 0x1f]
call fcn.180066a10
mov byte [0x1800c00d8], 0
mov ecx, 0x1b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x1800133e2
cmp byte [0x1800ea408], 0
jne 0x1800133e9
cmp byte [0x1800ea3f1], 0
mov byte [0x1800ea408], 1
je 0x1800133e9
mov ecx, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], ecx
mov byte [0x1800ea3f1], 0
cmovg ecx, dword [0x1800ea6e0]
test ecx, ecx
js 0x1800133e9
lea r9, str.update:_Mod_menu_opened_and_Escape_Key_pressed___closing_mod_menu
mov r8d, 0x2d
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
xor ecx, ecx
call fcn.180066a10
jmp 0x1800133e9
mov byte [0x1800ea408], 0
cmp dword [0x1800ea470], 2
jne 0x18001341b
mov ecx, Ordinal_101
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x18001341b
cmp byte [0x1800ea411], 0
jne 0x180013422
mov byte [0x1800ea411], 1
call fcn.180013ad0
jmp 0x180013422
mov byte [0x1800ea411], 0
xor ebx, ebx
cmp dword [0x1800ea470], 2
jne 0x180013622
lea ecx, [rbx + 0x63]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x180013622
cmp byte [0x1800ea40e], bl
jne 0x180013628
mov ecx, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], ecx
mov byte [0x1800ea40e], 1
cmovg ecx, dword [0x1800ea6e0]
test ecx, ecx
js 0x180013488
lea r9, str.m_isDebugKey_2_Pressed_pressed
xor ecx, ecx
lea r8d, [rbx + 0x5b]
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
call fcn.180066a10
xorps xmm0, xmm0
mov qword [rbp - 0x10], rbx
mov r8d, 0x12
mov qword [rbp - 8], rbx
lea rdx, str.g_ranger_hud_alpha
lea rcx, [rbp - 0x20]
movups xmmword [rbp - 0x20], xmm0
call fcn.18000f2b0
lea rcx, [rbp - 0x20]
call fcn.1800146d0
mov edx, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], edx
cmovg edx, dword [0x1800ea6e0]
test edx, edx
js 0x1800134ed
lea r9, str.debug:_g_ranger_hud_alpha:__p
mov qword [rsp + 0x20], rax
mov r8d, 0x5e
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
xor ecx, ecx
call fcn.180066a10
xorps xmm0, xmm0
mov qword [rbp - 0x10], rbx
mov r8d, 0xa
mov qword [rbp - 8], rbx
lea rdx, str.g_qte_mode
lea rcx, [rbp - 0x20]
movups xmmword [rbp - 0x20], xmm0
call fcn.18000f2b0
lea rcx, [rbp - 0x20]
call fcn.1800146d0
mov edx, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], edx
cmovg edx, dword [0x1800ea6e0]
test edx, edx
js 0x180013552
lea r9, str.debug:_g_qte_modeCmdPtr:__p
mov qword [rsp + 0x20], rax
mov r8d, Ordinal_101
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
xor ecx, ecx
call fcn.180066a10
xorps xmm0, xmm0
mov qword [rbp - 0x10], rbx
mov r8d, 0xc
mov qword [rbp - 8], rbx
lea rdx, str.show_game_ui
lea rcx, [rbp - 0x20]
movups xmmword [rbp - 0x20], xmm0
call fcn.18000f2b0
lea rcx, [rbp - 0x20]
call fcn.1800146d0
mov edx, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], edx
cmovg edx, dword [0x1800ea6e0]
test edx, edx
js 0x1800135b7
lea r9, str.debug:_show_game_uiCmdPtr:__p
mov qword [rsp + 0x20], rax
mov r8d, Ordinal_101
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
xor ecx, ecx
call fcn.180066a10
xorps xmm0, xmm0
mov qword [rbp - 0x10], rbx
mov r8d, 0xa
mov qword [rbp - 8], rbx
lea rdx, str.goto_store
lea rcx, [rbp - 0x20]
movups xmmword [rbp - 0x20], xmm0
call fcn.18000f2b0
lea rcx, [rbp - 0x20]
call fcn.1800146d0
mov r8d, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], r8d
cmovg r8d, dword [0x1800ea6e0]
test r8d, r8d
js 0x180013628
lea r9, str.debug:_goto_storeCmdPtr:__p
mov qword [rsp + 0x20], rax
mov r8d, 0x67
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModInputInputManager.cpp
xor ecx, ecx
call fcn.180066a10
jmp 0x180013628
mov byte [0x1800ea40e], bl
mov ecx, 0x60
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x18001364a
cmp dword [0x1800ea470], 2
jne 0x18001364a
mov byte [0x1800ea40a], 1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr ax, 0xf
cmp byte [0x1800ea3f1], bl
mov byte [0x1800ea3f0], al
jne 0x1800138cb
movzx ecx, word [0x1800e910c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x18001369a
cmp byte [0x1800ea40c], bl
jne 0x1800136a0
mov byte [0x1800ea40c], 1
mov dword [0x1800ea454], 2
jmp 0x1800136a0
mov byte [0x1800ea40c], bl
movzx ecx, word [0x1800e9118]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x1800136d7
cmp byte [0x1800ea40c], bl
jne 0x1800136d7
cmp byte [0x1800ea40d], bl
jne 0x1800136dd
mov byte [0x1800ea40d], 1
mov dword [0x1800ea454], 1
jmp 0x1800136dd
mov byte [0x1800ea40d], bl
movzx ecx, word [0x1800eaf38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x180013721
cmp byte [0x1800ea410], bl
jne 0x180013721
cmp byte [0x1800ea40f], bl
jne 0x180013721
cmp byte [0x1800ea409], bl
jne 0x180013721
cmp byte [0x1800ea40b], bl
jne 0x180013727
xor ecx, ecx
mov byte [0x1800ea40b], 1
call fcn.18007e5f0
jmp 0x180013727
mov byte [0x1800ea40b], bl
movzx ecx, word [0x1800eaf34]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x18001376e
cmp byte [0x1800ea40b], bl
jne 0x18001376e
cmp byte [0x1800ea40f], bl
jne 0x18001376e
cmp byte [0x1800ea409], bl
jne 0x18001376e
cmp byte [0x1800ea410], bl
jne 0x180013774
mov ecx, 0xd
mov byte [0x1800ea410], 1
call fcn.18007e5f0
jmp 0x180013774
mov byte [0x1800ea410], bl
movzx ecx, word [0x1800eaf2c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x1800137bb
cmp byte [0x1800ea40b], bl
jne 0x1800137bb
cmp byte [0x1800ea410], bl
jne 0x1800137bb
cmp byte [0x1800ea409], bl
jne 0x1800137bb
cmp byte [0x1800ea40f], bl
jne 0x1800137c1
mov ecx, 0x19
mov byte [0x1800ea40f], 1
call fcn.18007e5f0
jmp 0x1800137c1
mov byte [0x1800ea40f], bl
movzx ecx, word [0x1800eaf40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x180013808
cmp byte [0x1800ea40b], bl
jne 0x180013808
cmp byte [0x1800ea410], bl
jne 0x180013808
cmp byte [0x1800ea40f], bl
jne 0x180013808
cmp byte [0x1800ea409], bl
jne 0x18001380e
mov ecx, 3
mov byte [0x1800ea409], 1
call fcn.18007e5f0
jmp 0x18001380e
mov byte [0x1800ea409], bl
cmp byte [0x1800eaf6c], bl
je 0x1800138cb
mov eax, dword [0x1800eaf68]
cmp eax, 0x5f
je 0x180013875
cmp eax, 0x61
jne 0x180013848
mov ebx, 0x19
mov ecx, ebx
call fcn.18007e5f0
mov byte [0x1800eaf6c], 0
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
ret
cmp eax, 0x60
jne 0x18001386b
mov ebx, 0xd
mov ecx, ebx
call fcn.18007e5f0
mov byte [0x1800eaf6c], 0
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
ret
cmp eax, 0x62
jne 0x18001388f
mov ebx, 3
mov rcx, rbx
call fcn.18007e5f0
mov byte [0x1800eaf6c], 0
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
ret
mov edx, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], edx
cmovg edx, dword [0x1800ea6e0]
cmp edx, 0xffffffff
jl 0x1800138c4
mov r8d, 0x70
lea r9, str.selectThrowableFromBtnAction:_debug:_throwableItem_is_unknow
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModMetroweaponManager.cpp
lea ecx, [r8 - 0x71]
call fcn.180066a10
mov byte [0x1800eaf6c], 0
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
ret