Function at 0x1400d9730
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 [0x140258758], 0
mov rdi, r9
mov rbx, r8
mov byte [0x1402589d9], 0
mov esi, edx
mov rbp, rcx
je 0x1400d97aa
call fcn.1400f7440
sub eax, dword [0x140258758]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [0x140120728]
jbe 0x1400d97aa
mov r9, rdi
mov byte [rsp + 0x20], 0
shr r9, 0x1e
lea rcx, [0x140258760]
and r9b, 1
mov r8b, 1
mov edx, select
call fcn.1400da020
mov dword [0x140258758], 0
cmp esi, 0x200
ja 0x1400d99c8
je 0x1400d9990
add esi, 0xffffff7c
cmp esi, 0x81
ja case.0x1400d99fa.521
lea rdx, [0x140000000]
movzx eax, byte [rdx + rsi + 0xd9b50]
mov ecx, dword [rdx + rax*4 + 0xd9b38]
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, [0x140258760]
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.1400da020
jmp case.0x1400d99fa.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, [0x140258760]
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.1400da020
jmp case.0x1400d99fa.521
movzx edx, bx
lea rcx, [0x140258760]
call fcn.1400d9c80
jmp case.0x1400d99fa.521
mov edx, 1
lea rcx, [0x140258760]
call fcn.1400da010
test al, al
je case.0x1400d99fa.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, [0x140258760]
movsx edx, word [rsp + 0x30]
call fcn.1400da560
jmp case.0x1400d99fa.521
mov edx, 4
lea rcx, [0x140258760]
call fcn.1400da010
test al, al
je case.0x1400d99fa.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.1400e9010
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 0x1400d9983
mov edx, dword [0x140258760]
lea rcx, [0x140258760]
mov r8d, dword [0x140258764]
add edx, dword [rbx + 0x24]
add r8d, dword [rbx + 0x28]
call fcn.1400da560
mov rcx, rbx
call fcn.1400e8bd0
jmp case.0x1400d99fa.521
mov edx, 2
lea rcx, [0x140258760]
call fcn.1400da010
test al, al
je case.0x1400d99fa.521
mov rax, rdi
movsx edx, di
shr rax, 0x10
lea rcx, [0x140258760]
movsx r8d, ax
call fcn.1400da560
jmp case.0x1400d99fa.521
cmp esi, 0x302
ja case.0x1400d99fa.521
je 0x1400d9b15
add esi, 0xfffffdff
cmp esi, 0xc
ja case.0x1400d99fa.521
lea rdx, [0x140000000]
mov eax, dword [rdx + rsi*4 + 0xd9bd4]
add rax, rdx
jmp rax
shr rbx, 0x10
mov eax, 0x51eb851f
movsx ecx, bx
imul ecx
lea rcx, [0x140258760]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
call fcn.1400da670
jmp case.0x1400d99fa.521
mov r8b, 1
lea rcx, [0x140258760]
movzx edx, r8b
call fcn.1400da2d0
jmp case.0x1400d99fa.521
xor r8d, r8d
lea rcx, [0x140258760]
mov dl, 1
call fcn.1400da2d0
jmp case.0x1400d99fa.521
mov r8b, 1
lea rcx, [0x140258760]
mov dl, 2
call fcn.1400da2d0
jmp case.0x1400d99fa.521
xor r8d, r8d
lea rcx, [0x140258760]
mov dl, 2
call fcn.1400da2d0
jmp case.0x1400d99fa.521
mov r8b, 1
lea rcx, [0x140258760]
mov dl, 4
call fcn.1400da2d0
jmp case.0x1400d99fa.521
xor r8d, r8d
lea rcx, [0x140258760]
mov dl, 4
call fcn.1400da2d0
jmp case.0x1400d99fa.521
shr rbx, 0x10
cmp bx, 1
jne 0x1400d9ac6
movzx r8d, bl
lea rcx, [0x140258760]
mov dl, 5
call fcn.1400da2d0
jmp case.0x1400d99fa.521
cmp bx, 2
jne case.0x1400d99fa.521
mov r8b, 1
lea rcx, [0x140258760]
mov dl, 6
call fcn.1400da2d0
jmp case.0x1400d99fa.521
shr rbx, 0x10
cmp bx, 1
jne 0x1400d9afc
xor r8d, r8d
lea rcx, [0x140258760]
mov dl, 5
call fcn.1400da2d0
jmp case.0x1400d99fa.521
cmp bx, 2
jne case.0x1400d99fa.521
xor r8d, r8d
lea rcx, [0x140258760]
mov dl, 6
call fcn.1400da2d0
jmp case.0x1400d99fa.521
lea rcx, [0x140258760]
call fcn.1400d9d30
mov rbx, qword [rsp + 0x60]
xor eax, eax
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret