Function at 0x180003480
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rsi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x180066040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov eax, dword [0x1800b37a4]
test eax, eax
jne 0x1800034c6
mov ecx, dword [0x1800b37a0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
mov eax, dword [0x1800b37a4]
setne byte [0x1800b3780]
cmp eax, 1
jne 0x1800034e9
mov ecx, dword [0x1800b37a0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800034e9
cmp byte [0x1800b3780], 0
sete byte [0x1800b3780]
mov rax, qword [0x1800b42d0]
xor esi, esi
sub rax, qword [0x1800b42c8]
sar rax, 3
test rax, rax
je 0x1800038ea
mov qword [rsp + 0xb8], rdi
mov edx, esi
movaps xmmword [rsp + 0x80], xmm7
mov edi, esi
movsd xmm7, qword [0x18005e228]
mov qword [rsp + 0xb0], rbx
movaps xmmword [rsp + 0x90], xmm6
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x1800b4350]
test rax, rax
je 0x1800038a6
cmp qword [rax + 0x278], 0
je 0x1800038a6
mov rax, qword [0x1800b42d0]
mov rcx, qword [0x1800b42c8]
sub rax, rcx
sar rax, 3
cmp rdx, rax
ja 0x1800038a6
mov rcx, qword [rdi + rcx]
test rcx, rcx
je 0x1800038a6
mov rax, qword [rcx + 0x140]
test rax, rax
je 0x1800038a6
test byte [rax + 0x154], 0x20
je 0x1800038a6
lea rdx, [rbp - 9]
call fcn.18004c7d0
mov rcx, qword [0x1800b4350]
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x21]
movsd xmm0, qword [rax + 0x10]
mov eax, dword [rax + 0x18]
movsd qword [rbp - 0x21], xmm0
mov dword [rbp - 0x19], eax
call fcn.18004d000
mov rax, qword [0x1800b4350]
lea rdx, [rbp - 9]
mov rcx, qword [rax + 0x278]
call fcn.18004c7d0
movss xmm0, dword [rbp - 0x1d]
movaps xmm1, xmm7
mov rbx, rax
subss xmm0, dword [rax + 0x14]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movaps xmm1, xmm7
movss xmm0, dword [rbp - 0x21]
subss xmm0, dword [rbx + 0x10]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movss xmm1, dword [rbp - 0x19]
addsd xmm6, xmm0
subss xmm1, dword [rbx + 0x18]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
ucomiss xmm1, xmm0
ja 0x18000364c
sqrtss xmm0, xmm0
jmp 0x180003651
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, dword [0x1800b37a8]
lea ecx, [rax + rax*4]
add ecx, ecx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1800038a6
mov rax, qword [0x1800b42c8]
mov rcx, qword [rdi + rax]
movzx eax, byte [rcx + 0x289]
cmp al, 0xa
jne 0x1800036a2
cmp byte [0x1800b384c], 0
je 0x1800038a6
lea r9, [0x1800b3850]
lea r8, str._Battery_
jmp 0x18000389d
cmp al, 0xf
jne 0x1800036c6
cmp byte [0x1800b38b0], 0
je 0x1800038a6
lea r9, [0x1800b38b4]
lea r8, str._Bottle_
jmp 0x18000389d
cmp al, 0x13
jne 0x1800036ea
cmp byte [0x1800b38d8], 0
je 0x1800038a6
lea r9, [0x1800b38dc]
lea r8, str._Brick_
jmp 0x18000389d
cmp al, 0x10
jne 0x18000370e
cmp byte [0x1800b38c4], 0
je 0x1800038a6
lea r9, [0x1800b38c8]
lea r8, str._Phychosis_Antidote_
jmp 0x18000389d
cmp al, 2
jne 0x180003732
cmp byte [0x1800b37ad], 0
je 0x1800038a6
lea r9, [0x1800b37b0]
lea r8, str._Big_Health_
jmp 0x18000389d
cmp al, 6
jne 0x180003756
cmp byte [0x1800b37fc], 0
je 0x1800038a6
lea r9, [0x1800b3800]
lea r8, str._Respawn_Consumable_
jmp 0x18000389d
cmp al, 3
jne 0x18000377a
cmp byte [0x1800b37c0], 0
je 0x1800038a6
lea r9, [0x1800b37c4]
lea r8, str._HealthBoost_
jmp 0x18000389d
cmp al, 4
jne 0x18000379e
cmp byte [0x1800b37d4], 0
je 0x1800038a6
lea r9, [0x1800b37d8]
lea r8, str._Small_Health_
jmp 0x18000389d
cmp al, 5
jne 0x1800037c2
cmp byte [0x1800b37e8], 0
je 0x1800038a6
lea r9, str.fff_
lea r8, str._Revive_Syringe_
jmp 0x18000389d
cmp al, 7
jne 0x1800037e6
cmp byte [0x1800b3810], 0
je 0x1800038a6
lea r9, [0x1800b3814]
lea r8, str._Adrenalin_
jmp 0x18000389d
cmp al, 8
jne 0x18000380a
cmp byte [0x1800b3824], 0
je 0x1800038a6
lea r9, [0x1800b3828]
lea r8, str._MaxStaminaBoost_
jmp 0x18000389d
cmp al, 0xd
jne 0x18000382b
cmp byte [0x1800b3888], 0
je 0x1800038a6
lea r9, [0x1800b388c]
lea r8, str._Master_Key_
jmp 0x18000389d
cmp al, 0xe
jne 0x180003848
cmp byte [0x1800b389c], 0
je 0x1800038a6
lea r9, [0x1800b38a0]
lea r8, str._Skill_Charge_
jmp 0x18000389d
cmp al, 9
jne 0x180003865
cmp byte [0x1800b3838], 0
je 0x1800038a6
lea r9, [0x1800b383c]
lea r8, str._Small_Battery_
jmp 0x18000389d
cmp al, 0xc
jne 0x180003882
cmp byte [0x1800b3874], 0
je 0x1800038a6
lea r9, [0x1800b3878]
lea r8, str._Lock_Pick_
jmp 0x18000389d
cmp al, 0xb
jne 0x1800038a6
cmp byte [0x1800b3860], 0
je 0x1800038a6
lea r9, [0x1800b3864]
lea r8, str._Super_Battery_
mov rdx, qword [rbp - 0x29]
call fcn.180003910
mov rax, qword [0x1800b42d0]
inc esi
sub rax, qword [0x1800b42c8]
add rdi, 8
sar rax, 3
movsxd rdx, esi
cmp rdx, rax
jb 0x180003540
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov rdi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.18004d710
mov rsi, qword [rsp + 0xc0]
add rsp, 0xa0
pop rbp
ret