Function at 0x140014532
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x260
movaps xmmword [rsp + 0x250], xmm6
mov rsi, rcx
lea rcx, [rsp + 0x40]
call fcn.1400142c4
test al, al
je 0x1400145e1
xorps xmm6, xmm6
movups xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x40]
mov ecx, 0xfde9
xor edx, edx
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movups xmmword [rsi], xmm6
movups xmmword [rsi + 0x10], xmm6
test eax, eax
jle 0x14001480b
mov edi, eax
movsxd rbx, eax
dec rbx
cmp eax, 0x11
jae 0x140014698
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 0xf
mov rcx, rsi
xor edx, edx
mov r8, rbx
call fcn.1400201e0
mov byte [rsi + rbx], 0
cmp qword [rsi + 0x18], 0x10
mov r14, rsi
jb 0x140014739
mov r14, qword [rsi]
jmp 0x140014739
mov eax, dword [0x1400f8c60]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x2f4], 0
je 0x1400147a8
mov eax, dword [0x1400f8c60]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdi, [rax + 0x2d9]
cmp byte [rdi + 0x17], 0
je 0x140014651
xor eax, eax
movabs rdx, 0x7fcb4991c961f7a9
mov r8, rdi
mov ecx, eax
and cl, 0x38
mov r9, rdx
shr r9, cl
xor byte [r8], r9b
add rax, 8
inc r8
cmp rax, 0xb8
jne 0x140014630
mov byte [rdi + 0x17], 0
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov rcx, rdi
call fcn.1400a6fb0
test rax, rax
js 0x14001480b
mov rbx, rax
cmp rax, 0xf
ja 0x1400146d4
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 0xf
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140020110
mov byte [rsi + rbx], 0
jmp 0x14001478e
mov qword [rsi + 0x18], 0xf
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r15d, 0x16
cmovae r15, rax
cmp rax, 0xfff
jb 0x140014710
lea rcx, [r15 + 0x28]
call fcn.140028918
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14001471c
mov qword [rsi + 0x18], 0xf
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r15d, 0x16
cmovae r15, rax
cmp rax, 0xfff
jb 0x140014764
lea rcx, [r15 + 0x28]
call fcn.140028918
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140014770
lea rcx, [r15 + 1]
call fcn.140028918
mov r14, rax
mov qword [rsi], r14
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r15
mov rcx, r14
xor edx, edx
mov r8, rbx
call fcn.1400201e0
mov byte [r14 + rbx], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r14
lea r8, [rsp + 0x40]
mov ecx, 0xfde9
xor edx, edx
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x14001478e
lea rcx, [r15 + 1]
call fcn.140028918
mov r14, rax
mov qword [rsi], r14
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r15
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call fcn.140020110
mov byte [r14 + rbx], 0
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x260
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov eax, dword [0x1400f8c60]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov cl, 1
mov byte [rax + 0x2f4], cl
mov byte [rax + 0x2f0], cl
xor eax, eax
lea rcx, [0x1400dd9e6]
mov dl, byte [rax + rcx]
mov r8d, dword [0x1400f8c60]
mov r9, qword gs:[0x58]
mov r8, qword [r9 + r8*8]
mov byte [r8 + rax + 0x2d9], dl
inc rax
cmp rax, 0x17
jne 0x1400147d2
lea rcx, [0x140014811]
call fcn.140028cd4
jmp 0x140014601
call fcn.14000826f
int3