Function at 0x140024200
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
mov r9d, 1
jmp 0x140024200
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push r12
push r13
sub rsp, 0x68
xor r12d, r12d
mov esi, r9d
mov word [rdx], r12w
mov r13, rdx
mov rbp, rcx
cmp dword [rcx], r12d
jne 0x140024231
xor eax, eax
add rsp, 0x68
pop r13
pop r12
pop rsi
pop rbp
ret
xor edx, edx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x60], r15
lea ecx, [rdx + 0x10]
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
shl eax, 0x10
lea r15, [rbp + 0x8a]
mov ecx, eax
mov r8d, 0x20
mov rdx, r15
call qword [sym.imp.USER32.dll_GetKeyNameTextW]
test eax, eax
jne 0x140024282
lea r8, str.Shift
mov rcx, r15
lea edx, [rax + 0x20]
call fcn.140004720
xor edx, edx
lea ecx, [rdx + 0x11]
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
shl eax, 0x10
lea rbx, [rbp + 0xcc]
mov ecx, eax
mov r8d, 0x20
mov rdx, rbx
call qword [sym.imp.USER32.dll_GetKeyNameTextW]
test eax, eax
jne 0x1400242be
lea r8, str.Ctrl
mov rcx, rbx
lea edx, [rax + 0x20]
call fcn.140004720
xor edx, edx
lea ecx, [rdx + 0x12]
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
shl eax, 0x10
lea rdi, [rbp + 0x10e]
mov ecx, eax
mov r8d, 0x20
mov rdx, rdi
call qword [sym.imp.USER32.dll_GetKeyNameTextW]
test eax, eax
jne 0x1400242fa
lea r8, [0x1400aeb78]
mov rcx, rdi
lea edx, [rax + 0x20]
call fcn.140004720
cmp dword [0x1401a15e4], r12d
je 0x14002433f
lea r8, str.Shift
mov edx, 0x20
mov rcx, r15
call fcn.140004720
lea r8, str.Ctrl
mov edx, 0x20
mov rcx, rbx
call fcn.140004720
lea r8, [0x1400aeb78]
mov edx, 0x20
mov rcx, rdi
call fcn.140004720
cmp dword [0x1401a15e0], r12d
je 0x140024384
lea r8, str.UMSCHALT
mov edx, 0x20
mov rcx, r15
call fcn.140004720
lea r8, str.STRG
mov edx, 0x20
mov rcx, rbx
call fcn.140004720
lea r8, [0x1400aebc8]
mov edx, 0x20
mov rcx, rdi
call fcn.140004720
mov ecx, dword [rbp + 0x50]
mov eax, dword [rbp + 0x54]
mov qword [rsp + 0xa8], r14
lea r14, [0x14009bc34]
mov r8, r14
test esi, esi
je 0x14002441f
mov edx, dword [rbp + 0x4c]
lea r15, [0x140097ddc]
test ecx, ecx
lea r10, [rbp + 0x7a]
mov qword [rsp + 0x48], r10
mov r11, r14
cmovne r11, rdi
mov r9, r14
test edx, edx
mov rcx, r14
cmovne r9, rbx
test eax, eax
mov rax, r14
lea rbx, str.HANAKU
cmovne r8, r15
cmovne rcx, rbx
cmp dword [rbp + 0x50], r12d
mov qword [rsp + 0x40], r8
lea r8, str._s_s_s_s_s_s__s_
mov qword [rsp + 0x38], rcx
cmovne rax, r15
test edx, edx
mov qword [rsp + 0x30], rax
movsxd rdx, dword [rsp + 0xa0]
mov rcx, r13
cmovne r14, r15
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], r14
call fcn.140004720
jmp 0x1400244bc
mov r9d, dword [rbp + 0x4c]
lea r11, [rbp + 0x7a]
mov edx, dword [rbp + 0x48]
test ecx, ecx
mov qword [rsp + 0x58], r11
lea rbp, str.HANAKU
mov rsi, r14
mov r10, r14
cmovne rsi, rdi
test r9d, r9d
mov rdi, r14
cmovne rdi, rbx
test edx, edx
mov rbx, r14
cmovne rbx, r15
test eax, eax
lea r15, [0x140097ddc]
mov rax, r14
cmovne r8, rbp
cmovne r10, r15
test ecx, ecx
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r8
mov rcx, r14
cmovne rax, r15
lea r8, str._s_s_s_s_s_s_s_s__s_
mov qword [rsp + 0x40], rax
test r9d, r9d
mov qword [rsp + 0x38], rsi
mov r9, rbx
cmovne rcx, r15
test edx, edx
movsxd rdx, dword [rsp + 0xa0]
mov qword [rsp + 0x30], rcx
cmovne r14, r15
mov qword [rsp + 0x28], rdi
mov rcx, r13
mov qword [rsp + 0x20], r14
call fcn.140004720
mov r15, qword [rsp + 0x60]
test eax, eax
mov r14, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x98]
sete r12b
mov rbx, qword [rsp + 0x90]
mov eax, r12d
add rsp, 0x68
pop r13
pop r12
pop rsi
pop rbp
ret