Function at 0x1400cd890
Capabilities:
Log keystrokes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
cmp dword [0x14024b188], 0
mov rdi, r9
mov rbx, r8
mov byte [0x14024b409], 0
mov esi, edx
mov rbp, rcx
je 0x1400cd90a
call fcn.1400eb580
sub eax, dword [0x14024b188]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [0x140113ca8]
jbe 0x1400cd90a
mov r9, rdi
mov byte [rsp + 0x20], 0
shr r9, 0x1e
lea rcx, [0x14024b190]
and r9b, 1
mov r8b, 1
mov edx, select
call fcn.1400ce180
mov dword [0x14024b188], 0
cmp esi, 0x200
ja 0x1400cdb28
je 0x1400cdaf0
add esi, 0xffffff7c
cmp esi, 0x81
ja case.0x1400cdb5a.521
lea rdx, [0x140000000]
movzx eax, byte [rdx + rsi + 0xcdcb0]
mov ecx, dword [rdx + rax*4 + 0xcdc98]
add rcx, rdx
jmp rcx
mov rax, rdi
mov edx, 3
sar rax, 0x10
movzx ecx, al
call qword [sym.imp.USER32.dll_MapVirtualKeyA]
mov r8b, 1
lea rcx, [0x14024b190]
mov edx, eax
lea rax, [rbx - 0x60]
cmp rax, 9
mov rax, rdi
cmovbe edx, ebx
shr rdi, 0x1e
sar rax, 0x18
and dil, 1
and al, 1
movzx r9d, dil
mov byte [rsp + 0x20], al
call fcn.1400ce180
jmp case.0x1400cdb5a.521
mov rax, rdi
mov edx, 3
sar rax, 0x10
movzx ecx, al
call qword [sym.imp.USER32.dll_MapVirtualKeyA]
mov edx, eax
lea rcx, [0x14024b190]
lea rax, [rbx - 0x60]
cmp rax, 9
cmovbe edx, ebx
sar rdi, 0x18
and dil, 1
xor r9d, r9d
xor r8d, r8d
mov byte [rsp + 0x20], dil
call fcn.1400ce180
jmp case.0x1400cdb5a.521
movzx edx, bx
lea rcx, [0x14024b190]
call fcn.1400cdde0
jmp case.0x1400cdb5a.521
mov edx, 1
lea rcx, [0x14024b190]
call fcn.1400ce170
test al, al
je case.0x1400cdb5a.521
xorps xmm0, xmm0
lea rdx, [rsp + 0x38]
mov rcx, rbp
movups xmmword [rsp + 0x38], xmm0
call qword [sym.imp.USER32.dll_GetWindowRect]
movsx eax, di
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov rcx, rbp
shr rdi, 0x10
movsx eax, di
mov dword [rsp + 0x34], eax
call qword [sym.imp.USER32.dll_ScreenToClient]
movsx r8d, word [rsp + 0x34]
lea rcx, [0x14024b190]
movsx edx, word [rsp + 0x30]
call fcn.1400ce6c0
jmp case.0x1400cdb5a.521
mov edx, 4
lea rcx, [0x14024b190]
call fcn.1400ce170
test al, al
je case.0x1400cdb5a.521
lea r9, [rsp + 0x68]
mov dword [rsp + 0x20], 0x18
xor r8d, r8d
mov edx, 0x10000003
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetRawInputData]
mov ecx, dword [rsp + 0x68]
call fcn.1400dd150
lea r9, [rsp + 0x68]
mov dword [rsp + 0x20], 0x18
mov r8, rax
mov edx, 0x10000003
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.USER32.dll_GetRawInputData]
cmp dword [rbx], 0
jne 0x1400cdae3
mov edx, dword [0x14024b190]
lea rcx, [0x14024b190]
mov r8d, dword [0x14024b194]
add edx, dword [rbx + 0x24]
add r8d, dword [rbx + 0x28]
call fcn.1400ce6c0
mov rcx, rbx
call fcn.1400dcd18
jmp case.0x1400cdb5a.521
mov edx, 2
lea rcx, [0x14024b190]
call fcn.1400ce170
test al, al
je case.0x1400cdb5a.521
mov rax, rdi
movsx edx, di
shr rax, 0x10
lea rcx, [0x14024b190]
movsx r8d, ax
call fcn.1400ce6c0
jmp case.0x1400cdb5a.521
cmp esi, 0x302
ja case.0x1400cdb5a.521
je 0x1400cdc75
add esi, 0xfffffdff
cmp esi, 0xc
ja case.0x1400cdb5a.521
lea rdx, [0x140000000]
mov eax, dword [rdx + rsi*4 + 0xcdd34]
add rax, rdx
jmp rax
shr rbx, 0x10
mov eax, 0x51eb851f
movsx ecx, bx
imul ecx
lea rcx, [0x14024b190]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
call fcn.1400ce7d0
jmp case.0x1400cdb5a.521
mov r8b, 1
lea rcx, [0x14024b190]
movzx edx, r8b
call fcn.1400ce430
jmp case.0x1400cdb5a.521
xor r8d, r8d
lea rcx, [0x14024b190]
mov dl, 1
call fcn.1400ce430
jmp case.0x1400cdb5a.521
mov r8b, 1
lea rcx, [0x14024b190]
mov dl, 2
call fcn.1400ce430
jmp case.0x1400cdb5a.521
xor r8d, r8d
lea rcx, [0x14024b190]
mov dl, 2
call fcn.1400ce430
jmp case.0x1400cdb5a.521
mov r8b, 1
lea rcx, [0x14024b190]
mov dl, 4
call fcn.1400ce430
jmp case.0x1400cdb5a.521
xor r8d, r8d
lea rcx, [0x14024b190]
mov dl, 4
call fcn.1400ce430
jmp case.0x1400cdb5a.521
shr rbx, 0x10
cmp bx, 1
jne 0x1400cdc26
movzx r8d, bl
lea rcx, [0x14024b190]
mov dl, 5
call fcn.1400ce430
jmp case.0x1400cdb5a.521
cmp bx, 2
jne case.0x1400cdb5a.521
mov r8b, 1
lea rcx, [0x14024b190]
mov dl, 6
call fcn.1400ce430
jmp case.0x1400cdb5a.521
shr rbx, 0x10
cmp bx, 1
jne 0x1400cdc5c
xor r8d, r8d
lea rcx, [0x14024b190]
mov dl, 5
call fcn.1400ce430
jmp case.0x1400cdb5a.521
cmp bx, 2
jne case.0x1400cdb5a.521
xor r8d, r8d
lea rcx, [0x14024b190]
mov dl, 6
call fcn.1400ce430
jmp case.0x1400cdb5a.521
lea rcx, [0x14024b190]
call fcn.1400cde90
mov rbx, qword [rsp + 0x60]
xor eax, eax
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret