Function at 0x14008de90
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x200
mov r15d, dword [rsp + 0x258]
movaps xmmword [rax - 0x38], xmm6
mov rbp, r9
movaps xmmword [rax - 0x48], xmm7
mov r12, r8
mov rbx, rdx
mov r14, rcx
cmp rcx, 0x100
jb 0x14008e7d4
movd xmm7, dword [rdx + 0x2c]
movd xmm0, dword [rdx]
movd xmm1, dword [rdx + 4]
mov rsi, rcx
lea rdi, [r9 + 0xc0]
lea r11, [r8 + 0xc0]
shr rsi, 8
lea r9, [r8 + 0x80]
lea r10, [rbp + 0x80]
pshufd xmm7, xmm7, 0
pshufd xmm0, xmm0, 0
pshufd xmm1, xmm1, 0
movd xmm2, dword [rdx + 8]
movd xmm3, dword [rdx + 0xc]
movd xmm4, dword [rdx + 0x10]
pshufd xmm2, xmm2, 0
pshufd xmm3, xmm3, 0
pshufd xmm4, xmm4, 0
movd xmm5, dword [rdx + 0x14]
movd xmm6, dword [rdx + 0x18]
movaps xmmword [rax - 0x58], xmm8
pshufd xmm5, xmm5, 0
pshufd xmm6, xmm6, 0
movd xmm8, dword [rdx + 0x1c]
movaps xmmword [rax - 0x68], xmm9
movd xmm9, dword [rdx + 0x20]
pshufd xmm8, xmm8, 0
pshufd xmm9, xmm9, 0
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movd xmm11, dword [rdx + 0x24]
pshufd xmm11, xmm11, 0
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movd xmm13, dword [rdx + 0x28]
pshufd xmm13, xmm13, 0
movdqa xmmword [rsp + 0xc0], xmm7
movd xmm7, dword [rdx + 0x38]
movaps xmmword [rax - 0xb8], xmm14
pshufd xmm7, xmm7, 0
movdqa xmmword [rsp + 0x80], xmm7
movd xmm7, dword [rdx + 0x3c]
movaps xmmword [rax - 0xc8], xmm15
mov rax, rsi
lea rdx, [r8 + 0x40]
lea r8, [rbp + 0x40]
imul rax, rax, 0xffffffffffffff00
add r14, rax
pshufd xmm7, xmm7, 0
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0x100], xmm1
movdqa xmmword [rsp + 0x60], xmm2
movdqa xmmword [rsp + 0x120], xmm7
movdqa xmmword [rsp + 0x130], xmm3
movdqa xmmword [rsp + 0xe0], xmm4
movdqa xmmword [rsp + 0x70], xmm5
movdqa xmmword [rsp + 0x90], xmm6
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xd0], xmm9
movdqa xmmword [rsp + 0xf0], xmm11
movdqa xmmword [rsp + 0x110], xmm13
mov ecx, dword [rbx + 0x34]
mov eax, dword [rbx + 0x30]
movdqa xmm7, xmm0
movdqa xmm0, xmmword [rsp + 0xc0]
shl rcx, 0x20
movdqa xmm10, xmm2
or rcx, rax
movdqa xmm2, xmmword [0x14012d0f0]
movdqa xmmword [rsp + 0x30], xmm5
movdqa xmmword [rsp + 0x50], xmm0
movq xmm0, rcx
add rcx, 4
punpcklqdq xmm0, xmm0
mov dword [rbx + 0x30], ecx
shr rcx, 0x20
movdqa xmm14, xmm1
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movdqa xmm12, xmm6
paddq xmm2, xmm0
mov dword [rbx + 0x34], ecx
paddq xmm1, xmm0
movdqa xmm5, xmm2
movdqa xmm15, xmm3
movdqa xmm3, xmm11
punpckhdq xmm2, xmm1
punpckldq xmm5, xmm1
movdqa xmm6, xmm5
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmm11, xmm13
punpckhdq xmm5, xmm2
punpckldq xmm6, xmm2
movdqa xmm13, xmmword [rsp + 0x120]
movdqa xmm8, xmm9
movdqa xmm9, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x140], xmm6
movdqa xmmword [rsp + 0x20], xmm3
movdqa xmmword [rsp + 0x150], xmm5
test r15d, r15d
je 0x14008e455
movdqa xmm1, xmmword [rsp + 0x30]
movdqa xmm2, xmmword [0x14012d110]
mov rax, r15
nop
paddd xmm7, xmm4
paddd xmm14, xmm1
paddd xmm10, xmm12
pxor xmm6, xmm7
pxor xmm5, xmm14
pxor xmm9, xmm10
pshufb xmm6, xmm2
pshufb xmm5, xmm2
pshufb xmm9, xmm2
paddd xmm3, xmm5
paddd xmm8, xmm6
paddd xmm11, xmm9
pxor xmm1, xmm3
pxor xmm4, xmm8
pxor xmm12, xmm11
movdqa xmm0, xmm4
pslld xmm0, 0xc
psrld xmm4, 0x14
por xmm0, xmm4
paddd xmm7, xmm0
pxor xmm6, xmm7
pshufb xmm6, xmmword [0x14012d120]
paddd xmm8, xmm6
pxor xmm0, xmm8
movdqa xmm4, xmm0
psrld xmm0, 0x19
pslld xmm4, 7
por xmm4, xmm0
movdqa xmm0, xmm1
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm0, xmm1
paddd xmm14, xmm0
pxor xmm5, xmm14
pshufb xmm5, xmmword [0x14012d120]
paddd xmm3, xmm5
pxor xmm0, xmm3
movdqa xmmword [rsp + 0x20], xmm3
movdqa xmm3, xmmword [rsp + 0x40]
paddd xmm15, xmm3
pxor xmm13, xmm15
movdqa xmm1, xmm0
pshufb xmm13, xmmword [0x14012d110]
psrld xmm0, 0x19
pslld xmm1, 7
por xmm1, xmm0
paddd xmm7, xmm1
movdqa xmm0, xmm12
pslld xmm0, 0xc
psrld xmm12, 0x14
por xmm0, xmm12
paddd xmm10, xmm0
movdqa xmm12, xmmword [rsp + 0x50]
paddd xmm12, xmm13
pxor xmm9, xmm10
pshufb xmm9, xmmword [0x14012d120]
pxor xmm3, xmm12
paddd xmm11, xmm9
pxor xmm0, xmm11
movdqa xmm2, xmm0
psrld xmm0, 0x19
pslld xmm2, 7
por xmm2, xmm0
movdqa xmm0, xmm3
pslld xmm0, 0xc
psrld xmm3, 0x14
por xmm0, xmm3
paddd xmm15, xmm0
pxor xmm13, xmm15
pshufb xmm13, xmmword [0x14012d120]
paddd xmm12, xmm13
pxor xmm13, xmm7
pshufb xmm13, xmmword [0x14012d110]
pxor xmm0, xmm12
movdqa xmm3, xmm0
psrld xmm0, 0x19
paddd xmm11, xmm13
pslld xmm3, 7
pxor xmm1, xmm11
por xmm3, xmm0
movdqa xmm0, xmm1
dec rax
pslld xmm0, 0xc
paddd xmm14, xmm2
paddd xmm10, xmm3
psrld xmm1, 0x14
pxor xmm6, xmm14
pshufb xmm6, xmmword [0x14012d110]
por xmm0, xmm1
paddd xmm15, xmm4
paddd xmm7, xmm0
paddd xmm12, xmm6
pxor xmm5, xmm10
pshufb xmm5, xmmword [0x14012d110]
pxor xmm2, xmm12
pxor xmm13, xmm7
pshufb xmm13, xmmword [0x14012d120]
paddd xmm8, xmm5
pxor xmm9, xmm15
pxor xmm3, xmm8
paddd xmm11, xmm13
pxor xmm0, xmm11
movdqa xmm1, xmm0
psrld xmm0, 0x19
pslld xmm1, 7
por xmm1, xmm0
movdqa xmm0, xmm2
pslld xmm0, 0xc
psrld xmm2, 0x14
por xmm0, xmm2
paddd xmm14, xmm0
movdqa xmm2, xmmword [0x14012d120]
pxor xmm6, xmm14
pshufb xmm6, xmm2
paddd xmm12, xmm6
pxor xmm0, xmm12
movdqa xmmword [rsp + 0x50], xmm12
movdqa xmm12, xmm0
psrld xmm0, 0x19
pslld xmm12, 7
por xmm12, xmm0
movdqa xmm0, xmm3
pslld xmm0, 0xc
psrld xmm3, 0x14
por xmm0, xmm3
paddd xmm10, xmm0
movdqa xmm3, xmmword [rsp + 0x20]
pxor xmm5, xmm10
pshufb xmm5, xmm2
paddd xmm8, xmm5
pxor xmm0, xmm8
movdqa xmm2, xmm0
psrld xmm0, 0x19
pslld xmm2, 7
por xmm2, xmm0
movdqa xmmword [rsp + 0x40], xmm2
movdqa xmm2, xmmword [0x14012d110]
pshufb xmm9, xmm2
paddd xmm3, xmm9
pxor xmm4, xmm3
movdqa xmm0, xmm4
psrld xmm4, 0x14
pslld xmm0, 0xc
por xmm0, xmm4
paddd xmm15, xmm0
pxor xmm9, xmm15
pshufb xmm9, xmmword [0x14012d120]
paddd xmm3, xmm9
pxor xmm0, xmm3
movdqa xmmword [rsp + 0x20], xmm3
movdqa xmm4, xmm0
psrld xmm0, 0x19
pslld xmm4, 7
por xmm4, xmm0
jne 0x14008e130
movdqa xmmword [rsp + 0x30], xmm1
movdqu xmm0, xmmword [r12]
paddd xmm7, xmmword [rsp + 0xa0]
paddd xmm4, xmmword [rsp + 0xe0]
movdqa xmm3, xmm7
paddd xmm14, xmmword [rsp + 0x100]
paddd xmm10, xmmword [rsp + 0x60]
paddd xmm15, xmmword [rsp + 0x130]
movdqa xmm2, xmm10
paddd xmm12, xmmword [rsp + 0x90]
paddd xmm8, xmmword [rsp + 0xd0]
paddd xmm11, xmmword [rsp + 0x110]
punpckldq xmm3, xmm14
punpckldq xmm2, xmm15
punpckhdq xmm7, xmm14
movdqa xmm1, xmm3
punpcklqdq xmm1, xmm2
punpckhqdq xmm3, xmm2
punpckhdq xmm10, xmm15
movdqa xmm2, xmm12
pxor xmm1, xmm0
movdqu xmmword [rbp], xmm1
movdqu xmm0, xmmword [rdx]
movdqa xmm1, xmm7
punpckhqdq xmm7, xmm10
punpcklqdq xmm1, xmm10
pxor xmm3, xmm0
movdqu xmmword [r8], xmm3
movdqu xmm0, xmmword [r9]
movdqa xmm3, xmm4
pxor xmm1, xmm0
movdqu xmmword [r10], xmm1
movdqu xmm0, xmmword [r11]
movdqa xmm1, xmmword [rsp + 0x40]
paddd xmm1, xmmword [rsp + 0xb0]
punpckldq xmm2, xmm1
punpckhdq xmm12, xmm1
pxor xmm7, xmm0
movdqa xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rdi], xmm7
paddd xmm0, xmmword [rsp + 0x70]
punpckldq xmm3, xmm0
punpckhdq xmm4, xmm0
movdqu xmm0, xmmword [r12 + 0x10]
movdqa xmm1, xmm3
punpckhqdq xmm3, xmm2
punpcklqdq xmm1, xmm2
movdqa xmm2, xmm11
pxor xmm1, xmm0
movdqu xmmword [rbp + 0x10], xmm1
movdqu xmm0, xmmword [rdx + 0x10]
movdqa xmm1, xmm4
punpckhqdq xmm4, xmm12
punpcklqdq xmm1, xmm12
pxor xmm3, xmm0
movdqu xmmword [r8 + 0x10], xmm3
movdqu xmm0, xmmword [r9 + 0x10]
movdqa xmm3, xmm8
pxor xmm1, xmm0
movdqu xmmword [r10 + 0x10], xmm1
movdqu xmm0, xmmword [r11 + 0x10]
movdqa xmm1, xmmword [rsp + 0x50]
paddd xmm1, xmmword [rsp + 0xc0]
punpckldq xmm2, xmm1
pxor xmm4, xmm0
punpckhdq xmm11, xmm1
movdqa xmm0, xmmword [rsp + 0x20]
movdqu xmmword [rdi + 0x10], xmm4
paddd xmm0, xmmword [rsp + 0xf0]
punpckldq xmm3, xmm0
punpckhdq xmm8, xmm0
movdqu xmm0, xmmword [r12 + 0x20]
movdqa xmm1, xmm3
punpckhqdq xmm3, xmm2
punpcklqdq xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rbp + 0x20], xmm1
movdqu xmm0, xmmword [rdx + 0x20]
movdqa xmm1, xmm8
punpcklqdq xmm1, xmm11
pxor xmm3, xmm0
movdqu xmmword [r8 + 0x20], xmm3
movdqu xmm0, xmmword [r9 + 0x20]
paddd xmm6, xmmword [rsp + 0x140]
paddd xmm5, xmmword [rsp + 0x150]
add rdi, 0x100
add rbp, 0x100
add r8, 0x100
add r10, 0x100
add r12, 0x100
add rdx, 0x100
movdqa xmm4, xmmword [rsp + 0xe0]
movdqa xmm3, xmm6
add r9, 0x100
paddd xmm9, xmmword [rsp + 0x80]
paddd xmm13, xmmword [rsp + 0x120]
pxor xmm1, xmm0
add r11, 0x100
dec rsi
movdqu xmmword [r10 - 0xe0], xmm1
movdqu xmm0, xmmword [r11 - 0xe0]
punpckldq xmm3, xmm5
punpckhdq xmm6, xmm5
punpckhqdq xmm8, xmm11
movdqa xmm5, xmmword [rsp + 0x70]
movdqa xmm11, xmmword [rsp + 0xf0]
movdqa xmm1, xmm3
pxor xmm8, xmm0
movdqu xmmword [rdi - 0xe0], xmm8
movdqu xmm0, xmmword [r12 - 0xd0]
movdqa xmm8, xmmword [rsp + 0xb0]
movdqa xmm2, xmm9
punpckhdq xmm9, xmm13
punpckldq xmm2, xmm13
movdqa xmm13, xmmword [rsp + 0x110]
punpcklqdq xmm1, xmm2
punpckhqdq xmm3, xmm2
movdqa xmm2, xmmword [rsp + 0x60]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0xd0], xmm1
movdqu xmm0, xmmword [rdx - 0xd0]
movdqa xmm1, xmm6
punpckhqdq xmm6, xmm9
punpcklqdq xmm1, xmm9
pxor xmm3, xmm0
movdqa xmm9, xmmword [rsp + 0xd0]
movdqu xmmword [r8 - 0xd0], xmm3
movdqu xmm0, xmmword [r9 - 0xd0]
pxor xmm1, xmm0
movdqa xmm3, xmmword [rsp + 0x130]
movdqu xmmword [r10 - 0xd0], xmm1
movdqu xmm0, xmmword [r11 - 0xd0]
pxor xmm6, xmm0
movdqa xmm0, xmmword [rsp + 0xa0]
movdqa xmm1, xmmword [rsp + 0x100]
movdqu xmmword [rdi - 0xd0], xmm6
movdqa xmm6, xmmword [rsp + 0x90]
jne 0x14008e051
movaps xmm15, xmmword [rsp + 0x160]
movaps xmm14, xmmword [rsp + 0x170]
movaps xmm13, xmmword [rsp + 0x180]
movaps xmm12, xmmword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm8, xmmword [rsp + 0x1d0]
cmp r14, 0x40
jb 0x14008e968
movdqa xmm6, xmmword [0x14012d110]
movdqa xmm7, xmmword [0x14012d120]
mov rdx, r14
shr rdx, 6
mov rax, rdx
imul rax, rax, 0xffffffffffffffc0
add r14, rax
nop
movdqa xmm5, xmmword [rbx]
movdqa xmm1, xmmword [rbx + 0x10]
movdqa xmm2, xmmword [rbx + 0x20]
movdqa xmm4, xmmword [rbx + 0x30]
test r15d, r15d
je 0x14008e8e3
mov rax, r15
nop
dec rax
paddd xmm5, xmm1
pxor xmm4, xmm5
pshufb xmm4, xmm6
paddd xmm2, xmm4
pxor xmm1, xmm2
movdqa xmm0, xmm1
psrld xmm1, 0x14
pslld xmm0, 0xc
pxor xmm0, xmm1
paddd xmm5, xmm0
pxor xmm4, xmm5
pshufb xmm4, xmm7
paddd xmm2, xmm4
pshufd xmm4, xmm4, 0x4e
pxor xmm0, xmm2
pshufd xmm2, xmm2, 0x39
movdqa xmm1, xmm0
pslld xmm1, 7
psrld xmm0, 0x19
pxor xmm1, xmm0
pshufd xmm0, xmm5, 0x93
paddd xmm0, xmm1
pxor xmm4, xmm0
pshufb xmm4, xmm6
paddd xmm2, xmm4
pxor xmm1, xmm2
movdqa xmm3, xmm1
psrld xmm1, 0x14
pslld xmm3, 0xc
pxor xmm3, xmm1
paddd xmm0, xmm3
pxor xmm4, xmm0
pshufd xmm5, xmm0, 0x39
pshufb xmm4, xmm7
paddd xmm2, xmm4
pshufd xmm4, xmm4, 0x4e
pxor xmm3, xmm2
pshufd xmm2, xmm2, 0x93
movdqa xmm1, xmm3
pslld xmm1, 7
psrld xmm3, 0x19
pxor xmm1, xmm3
jne 0x14008e820
movdqu xmm0, xmmword [rbx + 0x10]
paddd xmm1, xmm0
movdqu xmm0, xmmword [r12 + 0x10]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbx + 0x20]
paddd xmm2, xmm0
movdqu xmm0, xmmword [r12 + 0x20]
pxor xmm2, xmm0
movdqu xmm0, xmmword [rbx + 0x30]
paddd xmm4, xmm0
movdqu xmm0, xmmword [r12 + 0x30]
pxor xmm4, xmm0
movdqu xmm0, xmmword [rbx]
paddd xmm5, xmm0
movdqu xmm0, xmmword [r12]
pxor xmm5, xmm0
movdqu xmmword [rbp], xmm5
movdqu xmmword [rbp + 0x10], xmm1
movdqu xmmword [rbp + 0x20], xmm2
movdqu xmmword [rbp + 0x30], xmm4
mov ecx, dword [rbx + 0x30]
mov eax, dword [rbx + 0x34]
inc ecx
jne 0x14008e951
inc eax
add rbp, 0x40
add r12, 0x40
dec rdx
mov dword [rbx + 0x30], ecx
mov dword [rbx + 0x34], eax
jne 0x14008e800
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm6, xmmword [rsp + 0x1f0]
test r14, r14
je 0x14008ea63
mov qword [rsp + 0x230], r13
mov r13, qword [rsp + 0x250]
mov rdi, rbp
sub rdi, r13
mov rsi, r12
sub rsi, r13
add rdi, 2
add rsi, 2
nop word [rax + rax]
mov r8d, r15d
mov rdx, rbx
mov rcx, r13
call fcn.14008db10
inc dword [rbx + 0x30]
jne 0x14008e9c6
inc dword [rbx + 0x34]
cmp r14, 0x40
jbe 0x14008ea2f
mov rcx, r13
mov edx, 0x10
nop word [rax + rax]
movzx eax, byte [rsi + rcx - 2]
add rcx, 4
xor al, byte [rcx - 4]
mov byte [rdi + rcx - 6], al
movzx eax, byte [rsi + rcx - 5]
xor al, byte [rcx - 3]
mov byte [rdi + rcx - 5], al
movzx eax, byte [rsi + rcx - 4]
xor al, byte [rcx - 2]
mov byte [rdi + rcx - 4], al
movzx eax, byte [rsi + rcx - 3]
xor al, byte [rcx - 1]
dec rdx
mov byte [rdi + rcx - 3], al
jne 0x14008e9e0
sub r14, 0x40
add rbp, 0x40
add rdi, 0x40
add r12, 0x40
add rsi, 0x40
jmp 0x14008e9b0
xor ecx, ecx
test r14, r14
je 0x14008ea5b
sub r12, r13
sub rbp, r13
nop dword [rax]
movzx eax, byte [r13 + r12]
inc ecx
inc r13
xor al, byte [r13 - 1]
mov byte [r13 + rbp - 1], al
mov eax, ecx
cmp rax, r14
jb 0x14008ea40
mov r13, qword [rsp + 0x230]
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret