Function at 0x1400f4770
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 0x1400f4813
cmp eax, 1
jne 0x1400f4aa4
mov r14d, dword [rdx + 0x20]
lea eax, [r14 - 0x100]
cmp eax, 5
ja 0x1400f4aa4
mov ecx, 0x33
bt ecx, eax
jae 0x1400f4aa4
movzx eax, word [rdx + 0x18]
movzx ebp, word [rdx + 0x1e]
movzx edi, bp
test ax, ax
je 0x1400f49ed
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 0x1400f4a09
jmp 0x1400f4aa4
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 0x1400f4865
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.1400e57f0
xorps xmm7, xmm7
cvtsi2sd xmm7, r15d
test r15d, r15d
je 0x1400f48a7
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.1400e57f0
or r15d, r14d
je 0x1400f48df
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.1400e57f0
test edi, 0x400
jne 0x1400f48ed
mov rsi, qword [rsi + 0x10]
jmp 0x1400f492a
movzx eax, bp
cvtsi2ss xmm0, eax
divss xmm0, dword [0x14066a900]
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.1400e57f0
mov ecx, edi
call fcn.140194e30
mov ebp, eax
shr ebp, 8
mov edi, eax
shr edi, 0x10
add rsi, 0x10
cmp al, 2
jne 0x1400f4954
cmp bpl, 2
jne 0x1400f4987
cmp dil, 2
jne 0x1400f49bf
jmp 0x1400f4aa4
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.1400e57f0
cmp bpl, 2
je 0x1400f4949
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.1400e57f0
cmp dil, 2
je 0x1400f4aa4
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 0x1400f4a9f
mov ecx, edi
mov edx, 4
call qword [sym.imp.user32.dll_MapVirtualKeyW]
movzx ecx, ax
cmp ecx, 0xe02a
je 0x1400f4aa4
cmp ecx, 0xe11d
je 0x1400f4aa4
cmp edi, 0x90
jne 0x1400f4a26
mov eax, 0x59
xor ecx, ecx
jmp 0x1400f4a62
call fcn.1401952e0
mov rcx, rax
and rcx, 0xffffffffffff0000
cmp bp, 0x10
jne 0x1400f4a62
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 0x1400f4aa4
cmp edx, 0x65
je 0x1400f4aa4
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.1400e57f0
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