Function at 0x1400c08a0
Capabilities:
Encrypt data using speck
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
mov rax, qword [0x1400de040]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov r13, r9
mov rbx, rdx
mov r12, qword [rbp + 0x130]
test edx, edx
jne 0x1400c092f
mov rax, rdx
shr rax, 0x20
test eax, eax
jne 0x1400c092f
mov rcx, r9
call fcn.1400483e0
xor eax, eax
jmp 0x1400c12a3
movsxd rax, dword [r12]
xor r14d, r14d
lea r15, [r9 + 8]
mov qword [rsp + 0x58], r15
test eax, eax
jns 0x1400c0949
mov dword [r12], r14d
jmp 0x1400c0964
mov rcx, qword [r15]
sub rcx, qword [r9]
sar rcx, 5
cmp rax, rcx
jb 0x1400c0964
lea eax, [rcx - 1]
mov dword [r12], eax
mov qword [rsp + 0x58], r15
mov rax, qword [r15]
sub rax, qword [r9]
test rax, 0xffffffffffffffe0
jne 0x1400c097a
mov dword [r12], 0xffffffff
mov qword [rbp], r14
mov esi, dword [rbp + 0x11c]
lea r8d, [rsi + 0x50]
lea ecx, [rdx + 0x35]
mov dword [rbp + 0x2c], r14d
mov dword [rbp + 0x3c], r14d
mov dword [rbp - 0x10], r14d
mov dword [rbp - 0xc], 1
mov rax, r14
shr rax, 0x20
movzx edx, al
shl edx, 8
mov dword [rbp + 0x20], ecx
mov dword [rbp + 0x24], r8d
lea eax, [rcx + 0xea]
mov dword [rbp + 0x30], eax
lea eax, [r8 + 0x2a8]
mov dword [rbp + 0x34], eax
movzx eax, dl
shl ax, 8
mov word [rbp + 0x28], ax
mov word [rbp + 0x2a], dx
mov word [rbp + 0x38], ax
mov word [rbp + 0x3a], dx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x10]
mov r8d, 2
lea rdx, [rbp + 0x20]
mov rcx, qword [0x1400df160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
mov dword [rbp + 0x10], 0xa
mov dword [rbp + 0x14], 0xa
mov eax, 0x66666667
imul dword [0x1400df134]
mov r10d, edx
sar r10d, 2
mov eax, r10d
shr eax, 0x1f
add r10d, eax
mov dword [rbp], r10d
mov eax, 0x66666667
imul dword [0x1400df138]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [rbp + 4], edx
lea r9d, [rsi + 0x51]
lea r11d, [rbx + 0x36]
mov dword [rsp + 0x50], r11d
mov word [rbp + 0x2e], r14w
mov dword [rbp + 0x3c], 0xa00
mov dword [rbp - 0x10], r14d
mov dword [rbp - 0xc], 1
mov eax, 0x66666667
imul dword [0x1400df13c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx r8d, dl
mov rax, qword [rbp]
shr rax, 0x20
movzx edx, al
shl edx, 8
mov eax, r8d
shl eax, 0x10
or edx, eax
movzx eax, r10b
or edx, eax
mov rax, qword [rbp + 0x10]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
or ecx, 0xa000a
mov dword [rbp + 0x20], r11d
mov dword [rbp + 0x24], r9d
lea eax, [r11 + 0xe8]
mov dword [rsp + 0x60], eax
mov dword [rbp + 0x30], eax
lea eax, [r9 + 0x2a6]
mov dword [rbp + 0x34], eax
movzx eax, dl
shl ax, 8
mov word [rbp + 0x28], ax
mov r9d, 0xff00
and dx, r9w
mov word [rbp + 0x2a], dx
shl r8w, 8
mov word [rbp + 0x2c], r8w
movzx eax, cl
shl ax, 8
mov word [rbp + 0x38], ax
and cx, r9w
mov word [rbp + 0x3a], cx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x10]
mov r8d, 2
lea rdx, [rbp + 0x20]
mov rcx, qword [0x1400df160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
mov word [rsp + 0x54], r14w
mov rax, qword [r15]
sub rax, qword [r13]
sar rax, 5
test rax, rax
je 0x1400c1295
xor r15d, r15d
mov edx, 4
movdqa xmm11, xmmword [0x1400d6710]
movdqa xmm10, xmmword [0x1400d66d0]
movdqa xmm9, xmmword [0x1400d6670]
movss xmm8, dword [0x1400d33f8]
movss xmm12, dword [0x1400d3514]
movss xmm13, dword [0x1400d3404]
cmp r14w, 0x1b
jge 0x1400c126e
movsx edi, r14w
imul r9d, edi, 0x19
add r9d, 0x55
add r9d, esi
mov eax, dword [0x1400df168]
mov r8d, dword [0x1400df170]
cmp eax, r8d
jl 0x1400c0e4a
cmp eax, dword [0x1400df178]
jg 0x1400c0e4a
mov ecx, dword [0x1400df16c]
mov edx, dword [0x1400df174]
cmp ecx, edx
jl 0x1400c0e50
cmp ecx, dword [0x1400df17c]
jg 0x1400c0e50
sub eax, r8d
cmp eax, dword [rsp + 0x50]
jl 0x1400c0e50
cmp eax, dword [rsp + 0x60]
jg 0x1400c0e45
sub ecx, edx
cmp ecx, r9d
jl 0x1400c0e50
lea eax, [r9 + 0x14]
cmp ecx, eax
jg 0x1400c0e50
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x1400df148]
jne 0x1400c0cf5
cmp dword [0x1400df188], 0
jne 0x1400c0cf5
cmp dword [0x1400df18c], 0
jne 0x1400c0cf5
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1400c0c79
xor eax, eax
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
mov dword [r12], edi
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1400c0ca4
xor r9d, r9d
xor edx, edx
mov r8d, 2
mov cl, 0x26
call qword [sym.imp.USER32.dll_keybd_event]
dec dword [r12]
jmp 0x1400c0ccd
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1400c0ccd
xor r9d, r9d
xor edx, edx
mov r8d, 2
mov cl, 0x28
call qword [sym.imp.USER32.dll_keybd_event]
inc dword [r12]
movsxd rax, dword [r12]
test eax, eax
jns 0x1400c0cd9
xor eax, eax
jmp 0x1400c0cf1
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
sub rcx, qword [r13]
sar rcx, 5
cmp rax, rcx
jb 0x1400c0cf5
lea eax, [rcx - 1]
mov dword [r12], eax
mov dword [rsp + 0x78], 0xf
mov dword [rsp + 0x7c], 0xf
mov ecx, dword [0x1400df134]
mov eax, 0x92492493
imul ecx
lea r10d, [rcx + rdx]
sar r10d, 2
mov eax, r10d
shr eax, 0x1f
add r10d, eax
mov dword [rsp + 0x64], r10d
mov eax, 0x92492493
imul dword [0x1400df138]
add edx, dword [0x1400df138]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x68], edx
movsx eax, r14w
imul r9d, eax, 0x19
add r9d, 0x55
add r9d, esi
xor eax, eax
mov word [rbp + 0x2e], ax
mov word [rbp + 0x3e], ax
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], 1
mov eax, 0x92492493
imul dword [0x1400df13c]
add edx, dword [0x1400df13c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx r8d, dl
mov rax, qword [rsp + 0x64]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
mov eax, r8d
shl eax, 0x10
or ecx, eax
movzx eax, r10b
or ecx, eax
mov rax, qword [rsp + 0x78]
shr rax, 0x20
movzx edx, al
shl edx, 8
or edx, 0xf000f
mov edi, dword [rsp + 0x50]
mov dword [rbp + 0x20], edi
mov dword [rbp + 0x24], r9d
lea eax, [rdi + 0xe8]
mov dword [rbp + 0x30], eax
lea eax, [r9 + 0x14]
mov dword [rbp + 0x34], eax
movzx eax, cl
shl ax, 8
mov word [rbp + 0x28], ax
mov r9d, 0xff00
and cx, r9w
mov word [rbp + 0x2a], cx
shl r8w, 8
mov word [rbp + 0x2c], r8w
movzx eax, dl
shl ax, 8
mov word [rbp + 0x38], ax
movzx eax, dx
and ax, r9w
mov word [rbp + 0x3a], ax
shr edx, 0x10
shl dx, 8
mov word [rbp + 0x3c], dx
xor eax, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x10]
mov r8d, 2
lea rdx, [rbp + 0x20]
mov rcx, qword [0x1400df160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
jmp 0x1400c0e54
mov edx, 4
mov edi, dword [rsp + 0x50]
jmp 0x1400c0e59
mov edi, dword [rsp + 0x50]
mov edx, 4
movsx ecx, r14w
imul eax, ecx, 0x19
add eax, 0x5a
mov dword [rbp - 0x10], eax
cmp dword [r12], ecx
jne 0x1400c10ef
add eax, esi
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400dfdc4], eax
jle 0x1400c0eb9
lea rcx, [0x1400dfdc4]
call fcn.1400ce1c4
cmp dword [0x1400dfdc4], 0xffffffff
jne 0x1400c0eb9
movss dword [0x1400e0088], xmm7
lea rcx, [0x1400dfdc4]
call fcn.1400ce158
movss xmm6, dword [0x1400e0088]
comiss xmm7, xmm6
jbe 0x1400c0ed5
subss xmm7, xmm6
mulss xmm7, xmm8
addss xmm6, xmm7
jmp 0x1400c0eea
comiss xmm6, xmm7
jbe 0x1400c0ef2
movaps xmm0, xmm6
subss xmm0, xmm7
mulss xmm0, xmm8
subss xmm6, xmm0
movss dword [0x1400e0088], xmm6
mov dword [rbp - 0x68], 0xf
mov dword [rbp - 0x64], 0xf
mov eax, 0x2aaaaaab
imul dword [0x1400df134]
mov r10d, edx
shr r10d, 0x1f
add r10d, edx
mov dword [rbp - 0x78], r10d
mov eax, 0x2aaaaaab
imul dword [0x1400df138]
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp - 0x74], edx
movaps xmm0, xmm6
subss xmm0, xmm12
cvttss2si r9d, xmm0
xor r11d, r11d
mov word [rbp + 0x2e], r11w
mov word [rbp + 0x3e], r11w
mov dword [rbp], r11d
mov dword [rbp + 4], 1
mov eax, 0x2aaaaaab
imul dword [0x1400df13c]
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx r8d, dl
mov rax, qword [rbp - 0x78]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
mov eax, r8d
shl eax, 0x10
or ecx, eax
movzx eax, r10b
or ecx, eax
mov rax, qword [rbp - 0x68]
shr rax, 0x20
movzx edx, al
shl edx, 8
or edx, 0xf000f
mov dword [rbp + 0x20], edi
mov dword [rbp + 0x24], r9d
lea eax, [rdi + 0xe8]
mov dword [rbp + 0x30], eax
lea eax, [r9 + 0x14]
mov dword [rbp + 0x34], eax
movzx eax, cl
shl ax, 8
mov word [rbp + 0x28], ax
mov r9d, 0xff00
and cx, r9w
mov word [rbp + 0x2a], cx
shl r8w, 8
mov word [rbp + 0x2c], r8w
movzx eax, dl
shl ax, 8
mov word [rbp + 0x38], ax
movzx eax, dx
and ax, r9w
mov word [rbp + 0x3a], ax
shr edx, 0x10
shl dx, 8
mov word [rbp + 0x3c], dx
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], 1
lea r9, [rbp]
mov r8d, 2
lea rdx, [rbp + 0x20]
mov rcx, qword [0x1400df160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
movdqa xmmword [rbp - 0x10], xmm9
shl r15, 5
mov rdi, qword [r13]
add rdi, r15
lea rdx, [0x1400df110]
lea rcx, [rbp + 0x20]
call fcn.140049d70
mov rsi, rax
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.140049d70
mov r9, rax
cvttss2si r8d, xmm6
lea edx, [rbx + 0x42]
mov word [rsp + 0x38], 0x258
movzx ecx, word [0x1400df130]
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], rsi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
call fcn.140007d40
movups xmm0, xmmword [0x1400df134]
movaps xmmword [rbp - 0x10], xmm0
mov rdi, qword [r13]
add rdi, r15
lea rdx, [0x1400df110]
lea rcx, [rbp - 0x58]
call fcn.140049d70
mov rsi, rax
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140049d70
mov r9, rax
subss xmm6, xmm13
cvttss2si r8d, xmm6
lea edx, [rbx + 0x41]
mov word [rsp + 0x38], 0x258
movzx ecx, word [0x1400df130]
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], rsi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
call fcn.140007d40
mov esi, dword [rbp + 0x11c]
jmp 0x1400c1269
movdqa xmmword [rbp + 0x20], xmm9
mov r14, r15
shl r14, 5
mov rdi, qword [r13]
add rdi, r14
lea rdx, [0x1400df110]
lea rcx, [rbp - 0x58]
call fcn.140049d70
mov rsi, rax
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.140049d70
mov r9, rax
mov r8d, dword [rbp - 0x10]
add r8d, dword [rbp + 0x11c]
lea edx, [rbx + 0x42]
mov word [rsp + 0x38], 0x190
movzx ecx, word [0x1400df130]
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], rsi
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.140007d40
mov rcx, qword [r13]
add rcx, r14
mov rdx, rcx
mov r8, qword [rcx + 0x18]
cmp r8, 0xf
jbe 0x1400c1170
mov rdx, qword [rcx]
mov rax, qword [rcx + 0x10]
cmp rax, 4
jne 0x1400c1182
cmp dword [rdx], 0x656e6f4e
je 0x1400c11ea
cmp r8, 0xf
jbe 0x1400c118b
mov rcx, qword [rcx]
cmp rax, 4
jne 0x1400c1199
cmp dword [rcx], 0x656e6f6e
je 0x1400c11ea
mov r8, qword [r13]
mov rax, r15
shl rax, 5
add rax, r8
mov rcx, rax
mov r9, qword [rax + 0x18]
cmp r9, 0xf
jbe 0x1400c11b7
mov rcx, qword [rax]
mov rdx, qword [rax + 0x10]
cmp rdx, 4
jne 0x1400c11c9
cmp dword [rcx], 0x454e4f4e
je 0x1400c11ea
mov rax, r15
shl rax, 5
add rax, r8
cmp r9, 0xf
jbe 0x1400c11dc
mov rax, qword [rax]
cmp rdx, 4
jne 0x1400c11fa
cmp dword [rax], 0x4c4c554e
jne 0x1400c11fa
movdqa xmmword [rbp + 0x20], xmm10
shl r15, 5
add r15, qword [r13]
jmp 0x1400c1207
movdqa xmmword [rbp + 0x20], xmm11
shl r15, 5
add r15, r8
lea rdx, [0x1400df110]
lea rcx, [rbp - 0x38]
call fcn.140049d70
mov rdi, rax
mov rdx, r15
lea rcx, [rbp - 0x58]
call fcn.140049d70
mov word [rsp + 0x38], 0x190
movzx ecx, word [0x1400df130]
movsx r14d, word [rsp + 0x54]
mov esi, dword [rbp + 0x11c]
mov word [rsp + 0x30], cx
mov r9, rax
imul edx, r14d, 0x19
lea r8d, [rsi + 0x59]
mov qword [rsp + 0x28], rdi
lea rax, [rbp + 0x20]
add r8d, edx
mov qword [rsp + 0x20], rax
lea edx, [rbx + 0x41]
call fcn.140007d40
mov edx, 4
inc r14w
mov word [rsp + 0x54], r14w
movsx r15, r14w
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
sub rax, qword [r13]
sar rax, 5
cmp r15, rax
jb 0x1400c0b92
mov ebx, dword [r12]
mov rcx, r13
call fcn.1400483e0
mov eax, ebx
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1400ce130
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret