Function at 0x140003350
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov rcx, qword [0x1400c5480]
test rcx, rcx
jne 0x140003385
mov r8d, 0xda0
lea rdx, str.D:LOADER_AVALONEimguiimgui.cpp
lea rcx, str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call fcn.1400751d8
mov rcx, qword [0x1400c5480]
mov ecx, dword [rcx + 0x74]
call fcn.14000f980
test al, al
je 0x14000339d
mov byte [rsi + 0x20], 0x42
mov al, 1
add rsp, 0x30
pop rsi
ret
mov rax, qword [0x1400c5480]
movaps xmmword [rsp + 0x20], xmm6
test rax, rax
jne 0x1400033ce
mov r8d, 0xda0
lea rdx, str.D:LOADER_AVALONEimguiimgui.cpp
lea rcx, str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call fcn.1400751d8
mov rax, qword [0x1400c5480]
movss xmm0, dword [rax + 0x130]
xorps xmm6, xmm6
comiss xmm6, xmm0
jbe 0x1400033ef
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x3f
add rsp, 0x30
pop rsi
ret
comiss xmm0, xmm6
jbe 0x140003405
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x40
add rsp, 0x30
pop rsi
ret
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140003426
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x37
add rsp, 0x30
pop rsi
ret
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140003447
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x34
add rsp, 0x30
pop rsi
ret
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140003468
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x35
add rsp, 0x30
pop rsi
ret
mov ecx, 3
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140003489
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x3c
add rsp, 0x30
pop rsi
ret
mov ecx, 4
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400034aa
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x3d
add rsp, 0x30
pop rsi
ret
mov qword [rsp + 0x48], rbx
xor ebx, ebx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rdi
mov edi, ebx
nop dword [rax]
mov rbp, qword [0x1400c5480]
cmp edi, 4
jbe 0x1400034e5
mov r8d, 0x135b
lea rdx, str.D:LOADER_AVALONEimguiimgui.cpp
lea rcx, str.button___0__button_____int__sizeof_g.IO.MouseDown____sizeof__g.IO.MouseDown____
call fcn.1400751d8
movsxd rax, edi
movss xmm0, dword [rbp + rax*4 + 0x434]
ucomiss xmm0, xmm6
jp 0x1400034f8
je 0x140003559
inc edi
cmp edi, 5
jl 0x1400034c0
lea rbp, str.__._0123456789_A
lea rdi, [0x1400a1618]
nop dword [rax]
mov ecx, ebx
call fcn.14000f980
test al, al
je 0x140003533
mov rcx, rbp
nop
cmp dword [rcx + 0x10], ebx
je 0x14000352e
add rcx, 0x18
cmp rcx, rdi
jne 0x140003520
cmp rcx, rdi
jne 0x140003565
inc ebx
cmp ebx, 0x200
jl 0x140003510
xor al, al
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rsi
ret
add dil, 0x39
mov al, 1
mov byte [rsi + 0x20], dil
jmp 0x14000353f
sub rcx, rbp
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov byte [rsi + 0x20], dl
cmp dl, 0x35
jne 0x14000359d
mov ecx, 0xa5
call fcn.14000f980
test al, al
je 0x14000359d
mov byte [rsi + 0x20], 0x53
mov al, 1
jmp 0x14000353f