Function at 0x1400d4050
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 [0x140252248], 0
mov rdi, r9
mov rbx, r8
mov byte [0x1402524c9], 0
mov esi, edx
mov rbp, rcx
je 0x1400d40ca
call fcn.1400f1df0
sub eax, dword [0x140252248]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [0x14011b218]
jbe 0x1400d40ca
mov r9, rdi
mov byte [rsp + 0x20], 0
shr r9, 0x1e
lea rcx, [0x140252250]
and r9b, 1
mov r8b, 1
mov edx, select
call fcn.1400d4940
mov dword [0x140252248], 0
cmp esi, 0x200
ja 0x1400d42e8
je 0x1400d42b0
add esi, 0xffffff7c
cmp esi, 0x81
ja case.0x1400d431a.521
lea rdx, [0x140000000]
movzx eax, byte [rdx + rsi + 0xd4470]
mov ecx, dword [rdx + rax*4 + 0xd4458]
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, [0x140252250]
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.1400d4940
jmp case.0x1400d431a.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, [0x140252250]
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.1400d4940
jmp case.0x1400d431a.521
movzx edx, bx
lea rcx, [0x140252250]
call fcn.1400d45a0
jmp case.0x1400d431a.521
mov edx, 1
lea rcx, [0x140252250]
call fcn.1400d4930
test al, al
je case.0x1400d431a.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, [0x140252250]
movsx edx, word [rsp + 0x30]
call fcn.1400d4e80
jmp case.0x1400d431a.521
mov edx, 4
lea rcx, [0x140252250]
call fcn.1400d4930
test al, al
je case.0x1400d431a.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.1400e39c0
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 0x1400d42a3
mov edx, dword [0x140252250]
lea rcx, [0x140252250]
mov r8d, dword [0x140252254]
add edx, dword [rbx + 0x24]
add r8d, dword [rbx + 0x28]
call fcn.1400d4e80
mov rcx, rbx
call fcn.1400e3588
jmp case.0x1400d431a.521
mov edx, 2
lea rcx, [0x140252250]
call fcn.1400d4930
test al, al
je case.0x1400d431a.521
mov rax, rdi
movsx edx, di
shr rax, 0x10
lea rcx, [0x140252250]
movsx r8d, ax
call fcn.1400d4e80
jmp case.0x1400d431a.521
cmp esi, 0x302
ja case.0x1400d431a.521
je 0x1400d4435
add esi, 0xfffffdff
cmp esi, 0xc
ja case.0x1400d431a.521
lea rdx, [0x140000000]
mov eax, dword [rdx + rsi*4 + 0xd44f4]
add rax, rdx
jmp rax
shr rbx, 0x10
mov eax, 0x51eb851f
movsx ecx, bx
imul ecx
lea rcx, [0x140252250]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
call fcn.1400d4f90
jmp case.0x1400d431a.521
mov r8b, 1
lea rcx, [0x140252250]
movzx edx, r8b
call fcn.1400d4bf0
jmp case.0x1400d431a.521
xor r8d, r8d
lea rcx, [0x140252250]
mov dl, 1
call fcn.1400d4bf0
jmp case.0x1400d431a.521
mov r8b, 1
lea rcx, [0x140252250]
mov dl, 2
call fcn.1400d4bf0
jmp case.0x1400d431a.521
xor r8d, r8d
lea rcx, [0x140252250]
mov dl, 2
call fcn.1400d4bf0
jmp case.0x1400d431a.521
mov r8b, 1
lea rcx, [0x140252250]
mov dl, 4
call fcn.1400d4bf0
jmp case.0x1400d431a.521
xor r8d, r8d
lea rcx, [0x140252250]
mov dl, 4
call fcn.1400d4bf0
jmp case.0x1400d431a.521
shr rbx, 0x10
cmp bx, 1
jne 0x1400d43e6
movzx r8d, bl
lea rcx, [0x140252250]
mov dl, 5
call fcn.1400d4bf0
jmp case.0x1400d431a.521
cmp bx, 2
jne case.0x1400d431a.521
mov r8b, 1
lea rcx, [0x140252250]
mov dl, 6
call fcn.1400d4bf0
jmp case.0x1400d431a.521
shr rbx, 0x10
cmp bx, 1
jne 0x1400d441c
xor r8d, r8d
lea rcx, [0x140252250]
mov dl, 5
call fcn.1400d4bf0
jmp case.0x1400d431a.521
cmp bx, 2
jne case.0x1400d431a.521
xor r8d, r8d
lea rcx, [0x140252250]
mov dl, 6
call fcn.1400d4bf0
jmp case.0x1400d431a.521
lea rcx, [0x140252250]
call fcn.1400d4650
mov rbx, qword [rsp + 0x60]
xor eax, eax
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret