Function at 0x1400012d0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x38
mov rcx, qword [0x1400adad8]
test rcx, rcx
jne 0x140001301
mov r8d, 0xda0
lea rdx, str.D:Terra_CryptProgramingCRecoil_ImGuiimguiimgui.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 rcx, qword [0x1400adad8]
mov ecx, dword [rcx + 0x74]
call fcn.14000cb00
test al, al
je 0x14000131b
mov byte [0x1400ad0e8], 0x42
mov al, 1
add rsp, 0x38
ret
mov rax, qword [0x1400adad8]
movaps xmmword [rsp + 0x20], xmm6
test rax, rax
jne 0x14000134d
mov r8d, 0xda0
lea rdx, str.D:Terra_CryptProgramingCRecoil_ImGuiimguiimgui.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 [0x1400adad8]
movss xmm0, dword [rax + 0x130]
xorps xmm6, xmm6
comiss xmm6, xmm0
jbe 0x140001370
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [0x1400ad0e8], 0x3f
add rsp, 0x38
ret
comiss xmm0, xmm6
jbe 0x140001388
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [0x1400ad0e8], 0x40
add rsp, 0x38
ret
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400013ab
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [0x1400ad0e8], 0x37
add rsp, 0x38
ret
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400013ce
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [0x1400ad0e8], 0x34
add rsp, 0x38
ret
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400013f1
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [0x1400ad0e8], 0x35
add rsp, 0x38
ret
mov ecx, 6
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140001414
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [0x1400ad0e8], 0x3c
add rsp, 0x38
ret
mov ecx, 5
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140001437
movaps xmm6, xmmword [rsp + 0x20]
mov al, 1
mov byte [0x1400ad0e8], 0x3d
add rsp, 0x38
ret
mov qword [rsp + 0x40], rbx
xor ebx, ebx
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x30], rdi
mov edi, ebx
nop word [rax + rax]
mov rsi, qword [0x1400adad8]
cmp edi, 4
jbe 0x140001476
mov r8d, 0x135b
lea rdx, str.D:Terra_CryptProgramingCRecoil_ImGuiimguiimgui.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 [rsi + rax*4 + 0x434]
ucomiss xmm0, xmm6
jp 0x140001489
je 0x1400014e8
inc edi
cmp edi, 5
jl 0x140001450
lea rsi, str.__._0123456789_A
lea rdi, [0x140056278]
nop
mov ecx, ebx
call fcn.14000cb00
test al, al
je 0x1400014c3
mov rcx, rsi
nop
cmp dword [rcx + 0x10], ebx
je 0x1400014be
add rcx, 0x18
cmp rcx, rdi
jne 0x1400014b0
cmp rcx, rdi
jne 0x1400014f7
inc ebx
cmp ebx, 0x200
jl 0x1400014a0
xor al, al
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
ret
add dil, 0x39
mov al, 1
mov byte [0x1400ad0e8], dil
jmp 0x1400014cf
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov byte [0x1400ad0e8], dl
cmp dl, 0x35
jne 0x140001535
mov ecx, 0xa5
call fcn.14000cb00
test al, al
je 0x140001535
mov byte [0x1400ad0e8], 0x53
mov al, 1
jmp 0x1400014cf