Function at 0x1400974e0
Capabilities:
Log keystrokes

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc0
movapd xmmword [rsp + 0xb0], xmm7
movapd xmmword [rsp + 0xa0], xmm6
mov rsi, rcx
mov r15, qword [rdx + 8]
mov eax, dword [rdx]
test eax, eax
je 0x14009759c
cmp eax, 1
jne 0x14009784d
movzx eax, word [rdx + 0x18]
movzx ecx, word [rdx + 0x1a]
movzx ebp, word [rdx + 0x1e]
mov edx, dword [rdx + 0x20]
mov bl, 1
cmp edx, 0x100
je 0x14009755e
cmp edx, 0x104
sete bl
add edx, 0xfffffeff
cmp edx, 4
ja 0x14009784d
mov r8d, 0x19
bt r8d, edx
jae 0x14009784d
movzx edi, bp
test ax, ax
je 0x14009779f
mov edx, ecx
shl edx, 0xd
movsx edx, dx
sar edx, 0xf
and edx, 0xffffe100
test cl, 2
mov ecx, 0xe000
cmove ecx, edx
or eax, ecx
movzx ecx, ax
cmp ecx, 0xe02a
jne 0x1400977bb
jmp 0x14009784d
movzx edi, word [rdx + 0x1c]
movzx ebp, word [rdx + 0x1e]
mov eax, dword [rdx + 0x24]
xorps xmm6, xmm6
cvtsi2sd xmm6, eax
mov r12d, dword [rdx + 0x28]
xorps xmm7, xmm7
cvtsi2sd xmm7, r12d
test eax, eax
je 0x140097628
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x30], 6
movsd qword [rsp + 0x38], xmm6
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x28], 0x14c
mov rbx, qword [rsi + 0x10]
lea r14, [rbx + 0x10]
lea rdx, [rsp + 0x28]
mov rcx, r14
call fcn.14009bf60
test r12d, r12d
je 0x140097662
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x30], 6
movsd qword [rsp + 0x38], xmm7
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x28], 0x14c
lea rdx, [rsp + 0x28]
mov rcx, r14
jmp 0x14009765d
test r12d, r12d
je 0x140097694
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x30], 6
movsd qword [rsp + 0x38], xmm7
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x28], 0x14c
mov rbx, qword [rsi + 0x10]
lea rcx, [rbx + 0x10]
lea rdx, [rsp + 0x28]
call fcn.14009bf60
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x30], 4
movsd qword [rsp + 0x38], xmm6
movsd qword [rsp + 0x40], xmm7
mov dword [rsp + 0x28], 0x14c
add rbx, 0x10
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.14009bf60
test edi, 0x400
jne 0x1400976a2
mov rsi, qword [rsi + 0x10]
jmp 0x1400976df
movzx eax, bp
cvtsi2ss xmm0, eax
divss xmm0, dword [0x1404917a0]
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x30], 0
movss dword [rsp + 0x38], xmm0
mov dword [rsp + 0x28], 0x14c
mov rsi, qword [rsi + 0x10]
lea rcx, [rsi + 0x10]
lea rdx, [rsp + 0x28]
call fcn.14009bf60
mov ecx, edi
call fcn.1401d6ae0
mov ebx, eax
shr ebx, 8
mov edi, eax
shr edi, 0x10
add rsi, 0x10
cmp al, 2
jne 0x140097708
cmp bl, 2
jne 0x14009773a
cmp dil, 2
jne 0x140097771
jmp 0x14009784d
mov qword [rsp + 0x48], r15
movabs rcx, 0x100000007
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x38], al
mov dword [rsp + 0x28], 0x14c
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14009bf60
cmp bl, 2
je 0x1400976fd
mov qword [rsp + 0x48], r15
movabs rax, 0x200000007
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], bl
mov dword [rsp + 0x28], 0x14c
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14009bf60
cmp dil, 2
je 0x14009784d
mov qword [rsp + 0x48], r15
movabs rax, 0x300000007
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], dil
mov dword [rsp + 0x28], 0x14c
lea rdx, [rsp + 0x28]
mov rcx, rsi
jmp 0x140097848
mov ecx, edi
mov edx, 4
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
movzx ecx, ax
cmp ecx, 0xe02a
je 0x14009784d
cmp ecx, 0xe11d
je 0x14009784d
cmp edi, 0x90
jne 0x1400977d8
mov eax, 0x59
xor ecx, ecx
jmp 0x140097814
call fcn.1401ceb70
mov rcx, rax
and rcx, 0xffffffffffff0000
cmp bp, 0x10
jne 0x140097814
lea edx, [rax - 5]
movzx r8d, dx
lea r9, [r8 + 1]
xor edx, edx
cmp r8d, 0xc2
cmovb rdx, r9
lea r8, [rdx - 0x56]
cmp r8, 0xa
jb 0x14009784d
cmp edx, 0x65
je 0x14009784d
xor bl, 1
movzx eax, ax
or rax, rcx
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x30], 8
mov qword [rsp + 0x34], rax
mov byte [rsp + 0x3c], bl
mov dword [rsp + 0x28], 0x14c
mov rcx, qword [rsi + 0x10]
add rcx, 0x10
lea rdx, [rsp + 0x28]
call fcn.14009bf60
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret