Function at 0x14003b010
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0x30
mov rax, qword [0x14005eb98]
mov rsi, rcx
test rax, rax
jne 0x14003b046
mov r8d, 0xd71
lea rdx, str.C:Usersdedocer_source_repos_bober_lagswitchImGuiimgui.cpp
lea rcx, str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [0x14005eb98]
mov ecx, dword [rax + 0x74]
call fcn.14000c5b0
test al, al
je 0x14003b05e
mov byte [rsi + 0x20], 0x42
mov al, 1
add rsp, 0x30
pop rsi
ret
mov rax, qword [0x14005eb98]
movaps xmmword [rsp + 0x20], xmm6
test rax, rax
jne 0x14003b090
mov r8d, 0xd71
lea rdx, str.C:Usersdedocer_source_repos_bober_lagswitchImGuiimgui.cpp
lea rcx, str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [0x14005eb98]
movss xmm0, dword [rax + 0x138]
xorps xmm6, xmm6
comiss xmm6, xmm0
jbe 0x14003b0b1
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x3f
add rsp, 0x30
pop rsi
ret
comiss xmm0, xmm6
jbe 0x14003b0c7
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [rsi + 0x20], 0x40
add rsp, 0x30
pop rsi
ret
mov ecx, 0xa0
mov qword [rsp + 0x40], rbx
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x14003b0f4
mov rbx, qword [rsp + 0x40]
mov al, 1
movaps xmm6, xmmword [rsp + 0x20]
mov byte [rsi + 0x20], 0x37
add rsp, 0x30
pop rsi
ret
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x14003b11c
mov rbx, qword [rsp + 0x40]
mov al, 1
movaps xmm6, xmmword [rsp + 0x20]
mov byte [rsi + 0x20], 0x34
add rsp, 0x30
pop rsi
ret
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x14003b144
mov rbx, qword [rsp + 0x40]
mov al, 1
movaps xmm6, xmmword [rsp + 0x20]
mov byte [rsi + 0x20], 0x35
add rsp, 0x30
pop rsi
ret
mov ecx, 5
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x14003b16c
mov rbx, qword [rsp + 0x40]
mov al, 1
movaps xmm6, xmmword [rsp + 0x20]
mov byte [rsi + 0x20], 0x3c
add rsp, 0x30
pop rsi
ret
mov ecx, 6
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x14003b194
mov rbx, qword [rsp + 0x40]
mov al, 1
movaps xmm6, xmmword [rsp + 0x20]
mov byte [rsi + 0x20], 0x3d
add rsp, 0x30
pop rsi
ret
mov qword [rsp + 0x48], rbp
xor ebx, ebx
mov qword [rsp + 0x50], rdi
mov edi, ebx
mov rbp, qword [0x14005eb98]
cmp edi, 4
jbe 0x14003b1c8
mov r8d, 0x125f
lea rdx, str.C:Usersdedocer_source_repos_bober_lagswitchImGuiimgui.cpp
lea rcx, str.button___0__button_____int__sizeof_g.IO.MouseDown____sizeof__g.IO.MouseDown____
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, edi
movss xmm0, dword [rbp + rax*4 + 0x43c]
ucomiss xmm0, xmm6
jp 0x14003b1db
je 0x14003b239
inc edi
cmp edi, 5
jl 0x14003b1a2
lea rbp, str._._046789_
lea rdi, str.6.0.0
mov ecx, ebx
call fcn.14000c5b0
test al, al
je 0x14003b213
mov rcx, rbp
nop
cmp dword [rcx + 0x10], ebx
je 0x14003b20e
add rcx, 0x18
cmp rcx, rdi
jne 0x14003b200
cmp rcx, rdi
jne 0x14003b245
inc ebx
cmp ebx, 0x200
jl 0x14003b1f0
xor al, al
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rsi
ret
add dil, 0x39
mov al, 1
mov byte [rsi + 0x20], dil
jmp 0x14003b21f
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 0x14003b27d
mov ecx, 0xa5
call fcn.14000c5b0
test al, al
je 0x14003b27d
mov byte [rsi + 0x20], 0x53
mov al, 1
jmp 0x14003b21f