Function at 0x1400341f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x140045010]
xor rax, rsp
mov qword [rbp - 8], rax
cmp byte [0x14004598b], 1
jne 0x140034454
mov rdx, qword [0x140045940]
add rdx, 0x5e1b488
mov qword [rsp + 0x60], rdi
call fcn.140038040
lea rdx, [rax + 0x88]
call fcn.140038040
mov rdx, rax
call fcn.140038040
lea rdx, [rax + 0x28]
call fcn.140038040
movabs rcx, 0x4522c06fea10aadc
sub rax, rcx
movabs rcx, 0x4f148fccdd257d83
xor rax, 0x23
sub rax, rcx
mov rdx, rax
call fcn.140038040
xor rax, 0x48
movabs rdx, 0x5364b35667a05f5b
add rdx, rax
ror rdx, 0x13
add rdx, 0x30
call fcn.140038040
lea rdx, [rax + 0x38]
call fcn.140038040
mov ecx, dword [0x140045a38]
mov rdx, rax
test ecx, ecx
jne 0x140034322
mov byte [0x14004592a], cl
mov eax, dword [0x14004594c]
xor ecx, ecx
mov rbx, qword [0x1400459b0]
mov dword [rbp - 0x10], eax
mov qword [rbx], rcx
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x28], rax
lea rax, [rdx + 0x58]
mov qword [rbp - 0x20], rax
mov qword [rbx + 0x10], 0x103
lea rax, [rbp - 0x30]
mov dword [rbx], 5
mov qword [rbx + 8], rax
mov rcx, qword [rbx + 0x20]
mov qword [rbp - 0x18], 4
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbx + 0x18]
mov edx, 0xea60
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rdi, qword [rsp + 0x60]
mov byte [0x140045977], 1
jmp 0x140034547
cmp ecx, 1
jne 0x14003433e
mov byte [0x14004592a], cl
mov ecx, 6
mov qword [0x1400459a0], rcx
jmp 0x14003440e
cmp ecx, 2
jne 0x14003435b
mov ecx, 5
mov byte [0x14004592a], 1
mov qword [0x1400459a0], rcx
jmp 0x14003440e
cmp ecx, 3
jne 0x140034378
mov ecx, 0x56
mov byte [0x14004592a], 1
mov qword [0x1400459a0], rcx
jmp 0x14003440e
cmp ecx, 4
jne 0x140034392
mov ecx, 0x58
mov byte [0x14004592a], 1
mov qword [0x1400459a0], rcx
jmp 0x14003440e
cmp ecx, 5
jne 0x1400343ac
mov ecx, 0x4a
mov byte [0x14004592a], 1
mov qword [0x1400459a0], rcx
jmp 0x14003440e
cmp ecx, 6
jne 0x1400343c6
mov ecx, 0x4b
mov byte [0x14004592a], 1
mov qword [0x1400459a0], rcx
jmp 0x14003440e
cmp ecx, 7
jne 0x1400343e0
mov ecx, 0x10
mov byte [0x14004592a], 1
mov qword [0x1400459a0], rcx
jmp 0x14003440e
cmp ecx, 8
jne 0x1400343fa
mov ecx, 0xc0
mov byte [0x14004592a], 1
mov qword [0x1400459a0], rcx
jmp 0x14003440e
cmp byte [0x14004592a], 1
jne 0x1400342ad
mov rcx, qword [0x1400459a0]
lea rdi, [rax + 0x58]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rbx, qword [0x1400459b0]
xor ecx, ecx
test ax, ax
je 0x14003444b
mov eax, dword [0x14004594c]
mov dword [rbp - 0x10], eax
mov qword [rbx], rcx
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdi
jmp 0x1400342da
mov dword [rbp - 0x10], 0x6e
jmp 0x14003442f
cmp byte [0x140045977], 1
jne 0x140034547
mov rdx, qword [0x140045940]
add rdx, 0x5e1b488
call fcn.140038040
lea rdx, [rax + 0x88]
call fcn.140038040
mov rdx, rax
call fcn.140038040
lea rdx, [rax + 0x28]
call fcn.140038040
movabs rcx, 0x4522c06fea10aadc
sub rax, rcx
movabs rcx, 0x4f148fccdd257d83
xor rax, 0x23
sub rax, rcx
mov rdx, rax
call fcn.140038040
xor rax, 0x48
movabs rdx, 0x5364b35667a05f5b
add rdx, rax
ror rdx, 0x13
add rdx, 0x30
call fcn.140038040
lea rdx, [rax + 0x38]
call fcn.140038040
mov rbx, qword [0x1400459b0]
xor ecx, ecx
add rax, 0x58
mov dword [rbp - 0x10], 0x6e
mov qword [rbx], rcx
mov rcx, qword [rbx + 0x28]
mov qword [rbp - 0x30], rcx
lea rcx, [rbp - 0x10]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
mov qword [rbp - 0x28], rcx
mov rcx, qword [rbx + 0x20]
mov qword [rbx + 0x10], 0x103
mov qword [rbp - 0x18], 4
mov dword [rbx], 5
mov qword [rbx + 8], rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbx + 0x18]
mov edx, 0xea60
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov byte [0x140045977], 0
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140038480
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
ret