Function at 0x14007b2e0
Capabilities:
Log keystrokes

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movapd xmmword [rsp + 0xb0], xmm7
movapd xmmword [rsp + 0xa0], xmm6
mov rsi, rcx
mov rbx, qword [rdx + 8]
mov eax, dword [rdx]
test eax, eax
je 0x14007b383
cmp eax, 1
jne 0x14007b614
mov r14d, dword [rdx + 0x20]
lea eax, [r14 - 0x100]
cmp eax, 5
ja 0x14007b614
mov ecx, 0x33
bt ecx, eax
jae 0x14007b614
movzx eax, word [rdx + 0x18]
movzx ebp, word [rdx + 0x1e]
movzx edi, bp
test ax, ax
je 0x14007b55d
movzx ecx, word [rdx + 0x1a]
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 0x14007b579
jmp 0x14007b614
movzx edi, word [rdx + 0x1c]
movzx ebp, word [rdx + 0x1e]
mov r14d, dword [rdx + 0x24]
mov r15d, dword [rdx + 0x28]
xorps xmm6, xmm6
cvtsi2sd xmm6, r14d
test r14d, r14d
je 0x14007b3d5
mov rcx, qword [rsi + 0x10]
add rcx, 0x10
mov dword [rsp + 0x28], 0x14c
mov dword [rsp + 0x30], 6
movsd qword [rsp + 0x38], xmm6
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x28]
call fcn.140072b30
xorps xmm7, xmm7
cvtsi2sd xmm7, r15d
test r15d, r15d
je 0x14007b417
mov rcx, qword [rsi + 0x10]
add rcx, 0x10
mov dword [rsp + 0x28], 0x14c
mov dword [rsp + 0x30], 6
movsd qword [rsp + 0x38], xmm7
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x28]
call fcn.140072b30
or r15d, r14d
je 0x14007b44f
mov rcx, qword [rsi + 0x10]
add rcx, 0x10
mov dword [rsp + 0x28], 0x14c
mov dword [rsp + 0x30], 4
movsd qword [rsp + 0x38], xmm6
movsd qword [rsp + 0x40], xmm7
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x28]
call fcn.140072b30
test edi, 0x400
jne 0x14007b45d
mov rsi, qword [rsi + 0x10]
jmp 0x14007b49a
movzx eax, bp
cvtsi2ss xmm0, eax
divss xmm0, dword [0x140273d0c]
mov rsi, qword [rsi + 0x10]
lea rcx, [rsi + 0x10]
mov dword [rsp + 0x28], 0x14c
mov qword [rsp + 0x30], 0
movss dword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x28]
call fcn.140072b30
mov ecx, edi
call fcn.1401956b0
mov ebp, eax
shr ebp, 8
mov edi, eax
shr edi, 0x10
add rsi, 0x10
cmp al, 2
jne 0x14007b4c4
cmp bpl, 2
jne 0x14007b4f7
cmp dil, 2
jne 0x14007b52f
jmp 0x14007b614
mov dword [rsp + 0x28], 0x14c
movabs rcx, 0x100000007
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x38], al
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140072b30
cmp bpl, 2
je 0x14007b4b9
mov dword [rsp + 0x28], 0x14c
movabs rax, 0x200000007
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], bpl
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140072b30
cmp dil, 2
je 0x14007b614
mov dword [rsp + 0x28], 0x14c
movabs rax, 0x300000007
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], dil
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x28]
mov rcx, rsi
jmp 0x14007b60f
mov ecx, edi
mov edx, 4
call qword [sym.imp.user32.dll_MapVirtualKeyW]
movzx ecx, ax
cmp ecx, 0xe02a
je 0x14007b614
cmp ecx, 0xe11d
je 0x14007b614
cmp edi, 0x90
jne 0x14007b596
mov eax, 0x59
xor ecx, ecx
jmp 0x14007b5d2
call fcn.140195b60
mov rcx, rax
and rcx, 0xffffffffffff0000
cmp bp, 0x10
jne 0x14007b5d2
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 0x14007b614
cmp edx, 0x65
je 0x14007b614
and r14d, 0xfffffffb
movzx eax, ax
or rax, rcx
mov rcx, qword [rsi + 0x10]
add rcx, 0x10
cmp r14d, 0x100
mov dword [rsp + 0x28], 0x14c
mov dword [rsp + 0x30], 8
mov qword [rsp + 0x34], rax
setne byte [rsp + 0x3c]
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x28]
call fcn.140072b30
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret