Function at 0x140339ec0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rsp + 0x140], xmm6
mov rax, qword [0x1404ecf80]
xor rax, rsp
mov qword [rbp + 0x38], rax
movdqa xmm6, xmmword [0x14037a2a0]
mov r13, rcx
movsx r9, r8b
movzx eax, r8b
mov rcx, r9
xorps xmm0, xmm0
shr rcx, 0x3f
mov r14, 0xffffffffffffffa3
neg cl
and al, cl
mov qword [rsp + 0x20], rcx
add al, al
xor ecx, ecx
sub r8b, al
mov qword [rsp + 0x51], rcx
lea rax, [r9 - 1]
mov dword [rsp + 0x59], ecx
shr rax, 0x3f
not r9
shr r9, 0x3f
lea ebx, [rcx + 1]
and al, r9b
mov word [rsp + 0x5d], cx
neg al
mov byte [rsp + 0x5f], cl
and al, 1
movzx esi, r8b
mov byte [rsp + 0x40], al
lea edi, [rbx + 7]
mov byte [rsp + 0x60], al
lea r15d, [rbx + 0x3e]
xor eax, eax
mov qword [rsp + 0x71], rax
mov qword [rsp + 0x79], rax
mov qword [rbp - 0x6f], rax
mov dword [rbp - 0x67], eax
mov word [rbp - 0x63], ax
mov byte [rbp - 0x61], al
movsxd rax, edx
movups xmmword [rsp + 0x41], xmm0
movups xmmword [rsp + 0x61], xmm0
lea rcx, [rax + rax*2]
shl rcx, 8
lea rax, [rsp + 0x40]
mov r9, rcx
sub r9, rax
lea rax, [0x14037ae30]
add r9, rax
lea r10, [rax + 0x5f]
lea rax, [rsp + 0x40]
add r10, rcx
sub r14, rax
xor r12d, r12d
movups xmmword [rbp - 0x7f], xmm0
nop
movsxd r8, ebx
lea rcx, [rsp + 0x40]
xor r8, rsi
mov rax, r12
movq xmm5, r8
punpcklqdq xmm5, xmm5
cmp rcx, r10
ja 0x14033a020
lea rcx, [r10 - 0x5f]
lea rdx, [rbp - 0x61]
cmp rdx, rcx
jb 0x14033a020
lea rcx, [r8 - 1]
not r8
shr r8, 0x3f
shr rcx, 0x3f
and r8b, cl
neg r8b
nop
lea rdx, [rsp + 0x40]
add rdx, rax
inc rax
movzx ecx, byte [r9 + rdx]
and cl, r8b
xor byte [rdx], cl
cmp rax, 0x60
jb 0x14033a000
jmp 0x14033a0fc
movdqa xmm0, xmmword [0x14037a2a0]
lea r11, [r14 + r10]
paddq xmm0, xmm5
movq xmm3, r15
psrlq xmm0, xmm3
pandn xmm5, xmm6
pshufd xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
psrlq xmm5, xmm3
pshufhw xmm2, xmm1, 0xd8
pshufd xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
xorps xmm0, xmm0
pshufd xmm4, xmm2, 0xd8
pand xmm4, xmmword [0x1403812a0]
pshufhw xmm2, xmm1, 0xd8
pshufd xmm3, xmm2, 0xd8
pand xmm3, xmmword [0x1403812a0]
packuswb xmm3, xmm3
packuswb xmm4, xmm4
pand xmm4, xmm3
psubb xmm0, xmm4
movdqa xmmword [rsp + 0x30], xmm0
movzx r8d, word [rsp + 0x30]
nop dword [rax + rax]
movd xmm0, r8d
lea rdx, [rsp + 0x40]
add rdx, rax
add rax, 4
movzx ecx, word [r9 + rdx]
movd xmm1, ecx
movzx ecx, word [rdx]
pand xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd xmm0, r8d
movd ecx, xmm1
mov word [rdx], cx
movzx ecx, word [r11 + rdx]
movd xmm1, ecx
movzx ecx, word [rdx + 2]
pand xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd ecx, xmm1
mov word [rdx + 2], cx
cmp rax, 0x60
jb 0x14033a0a0
inc ebx
add r10, 0x60
add r9, 0x60
sub rdi, 1
jne 0x140339fc0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x18]
call fcn.140334870
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x10]
call fcn.140334870
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.140334870
mov r15, qword [rbp - 0x18]
mov r14, qword [rbp - 0x10]
mov rsi, qword [rbp - 8]
mov rdi, qword [rbp]
mov rbx, qword [rbp + 8]
mov r11, qword [rbp + 0x10]
mov r9, qword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
mov r10, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
movdqa xmm2, xmmword [0x140381290]
mov qword [r13], r15
mov qword [r13 + 8], r14
mov qword [r13 + 0x10], rsi
mov qword [r13 + 0x18], rdi
mov qword [r13 + 0x20], rbx
mov qword [r13 + 0x28], r11
mov qword [r13 + 0x30], r9
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], rdx
mov qword [r13 + 0x48], rcx
mov qword [r13 + 0x50], r10
mov qword [r13 + 0x58], rax
mov rax, qword [rbp - 0x30]
mov qword [r13 + 0x60], rax
mov rax, qword [rbp - 0x28]
mov qword [r13 + 0x68], rax
mov rax, qword [rbp - 0x20]
mov qword [r13 + 0x70], rax
movabs rax, 0xfffffffffffda
sub rax, r10
mov qword [rsp + 0x40], r11
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rbx
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + r12 - 0x38]
movdqa xmm1, xmm2
psubq xmm1, xmm0
movdqu xmmword [rbp + r12 - 0x68], xmm1
add r12, 0x10
cmp r12, 0x20
jl 0x14033a200
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
xor rcx, r15
shr rdx, 7
neg rdx
and rcx, rdx
xor rcx, r15
mov qword [r13], rcx
mov rcx, qword [rsp + 0x48]
xor rcx, r14
and rcx, rdx
xor rcx, r14
mov qword [r13 + 8], rcx
mov rcx, rsi
xor rcx, qword [rsp + 0x50]
and rcx, rdx
xor rcx, rsi
mov qword [r13 + 0x10], rcx
mov rcx, rdi
xor rcx, qword [rsp + 0x58]
and rcx, rdx
xor rcx, rdi
mov qword [r13 + 0x18], rcx
mov rcx, rbx
xor rcx, qword [rsp + 0x60]
and rcx, rdx
xor rcx, rbx
mov qword [r13 + 0x20], rcx
mov rcx, r11
xor rcx, qword [rsp + 0x68]
and rcx, rdx
xor rcx, r11
mov qword [r13 + 0x28], rcx
mov rcx, r9
xor rcx, qword [rsp + 0x70]
and rcx, rdx
xor rcx, r9
mov qword [r13 + 0x30], rcx
mov rcx, r8
xor rcx, qword [rsp + 0x78]
and rcx, rdx
xor rcx, r8
mov qword [r13 + 0x38], rcx
mov rcx, qword [r13 + 0x40]
xor rcx, qword [rbp - 0x80]
and rcx, rdx
xor qword [r13 + 0x40], rcx
mov rcx, qword [r13 + 0x48]
xor rcx, qword [rbp - 0x78]
and rcx, rdx
xor qword [r13 + 0x48], rcx
mov rcx, r10
xor rcx, qword [rbp - 0x70]
and rcx, rdx
xor rcx, r10
mov qword [r13 + 0x50], rcx
mov rcx, qword [r13 + 0x58]
xor rcx, qword [rbp - 0x68]
and rcx, rdx
xor qword [r13 + 0x58], rcx
mov rcx, qword [r13 + 0x60]
xor rcx, qword [rbp - 0x60]
and rcx, rdx
xor qword [r13 + 0x60], rcx
mov rcx, qword [r13 + 0x68]
xor rcx, qword [rbp - 0x58]
and rcx, rdx
xor qword [r13 + 0x68], rcx
mov rcx, qword [r13 + 0x70]
xor rcx, qword [rbp - 0x50]
and rcx, rdx
xor qword [r13 + 0x70], rcx
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.14033da40
mov rbx, qword [rsp + 0x198]
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x150
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret