Function at 0x1401fdb90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x548
movaps xmmword [rsp + 0x4f0], xmm6
movaps xmmword [rsp + 0x500], xmm7
movaps xmmword [rsp + 0x510], xmm8
movaps xmmword [rsp + 0x520], xmm9
movaps xmmword [rsp + 0x530], xmm10
xor edi, edi
mov ebx, dword [r8 + 0xf0]
mov qword [rsp + 0x98], rbx
mov r14, rcx
mov r13, rdx
mov rbp, r8
lea r12, [rsp + 0x130]
mov rsi, r12
nop dword [rax + rax]
mov rax, rdi
mov rcx, rsi
add rdi, 1
add rsi, 0x40
shl rax, 4
movdqu xmm0, xmmword [rbp + rax]
movdqa xmm1, xmm0
punpcklqdq xmm1, xmm0
punpckhqdq xmm0, xmm0
movaps xmmword [rsi - 0x40], xmm1
movaps xmmword [rsi - 0x30], xmm1
movaps xmmword [rsi - 0x20], xmm0
movaps xmmword [rsi - 0x10], xmm0
call fcn.1401eec50
cmp rbx, rdi
jae 0x1401fdbf8
mov rdx, qword [r14]
mov rax, qword [r14 + 8]
movabs rsi, 0xf000f000f000f0
movabs r9, 0xff000000ff00
lea rbx, [rsp + 0xb0]
pxor xmm0, xmm0
mov qword [rsp + 0xe8], 0
mov rcx, rdx
mov r8, rax
movups xmmword [rsp + 0xc8], xmm0
shr rcx, 4
shr r8, 4
movups xmmword [rsp + 0xb8], xmm0
xor rcx, rdx
xor r8, rax
movups xmmword [rsp + 0xd8], xmm0
and rcx, rsi
and r8, rsi
xor rdx, rcx
shl rcx, 4
xor rax, r8
xor rdx, rcx
shl r8, 4
mov rcx, rdx
xor rax, r8
shr rcx, 8
mov r8, rax
xor rcx, rdx
shr r8, 8
and rcx, r9
xor r8, rax
xor rdx, rcx
shl rcx, 8
and r8, r9
xor rdx, rcx
xor rax, r8
shl r8, 8
mov rcx, rdx
xor rax, r8
shr rcx, 0x10
mov r8, rax
xor rcx, rdx
shr r8, 0x10
and ecx, 0xffff0000
xor r8, rax
xor rdx, rcx
shl rcx, 0x10
xor rcx, rdx
and r8d, 0xffff0000
mov edx, edx
xor rax, r8
shl r8, 0x10
xor rax, r8
shr rcx, 0x20
mov r8, rax
shl r8, 0x20
or rdx, r8
mov qword [rsp + 0xb0], rdx
movabs rdx, 0xffffffff00000000
and rax, rdx
or rax, rcx
mov rcx, rbx
mov qword [rsp + 0xd0], rax
call fcn.1401eec50
mov rax, qword [rsp + 0x98]
movdqa xmm0, xmmword [rsp + 0xb0]
movdqa xmm1, xmmword [rsp + 0xc0]
movdqa xmm2, xmmword [rsp + 0xd0]
movdqa xmm3, xmmword [rsp + 0xe0]
pxor xmm0, xmmword [rsp + 0x130]
pxor xmm1, xmmword [rsp + 0x140]
pxor xmm2, xmmword [rsp + 0x150]
pxor xmm3, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xe0], xmm3
cmp rax, 1
jbe 0x1401fe634
movhlps xmm4, xmm3
shl rax, 6
lea rdx, [rsp + 0x170]
mov qword [rsp + 0x598], r13
movq r15, xmm4
add rax, r12
movhlps xmm4, xmm2
mov qword [rsp + 0x50], rdx
movq r8, xmm4
movhlps xmm4, xmm1
movq rcx, xmm3
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xa0], r12
movq rsi, xmm4
movhlps xmm4, xmm0
mov r9, rcx
mov qword [rsp + 0xa8], rbx
movq r10, xmm2
movq rdi, xmm1
mov rcx, r8
movq r14, xmm4
movq qword [rsp + 0x20], xmm0
nop dword [rax + rax]
mov rbp, qword [rsp + 0x20]
mov r8, r10
mov rax, r15
mov rdx, r15
xor r8, rdi
xor rax, r10
xor rdx, r14
xor rcx, r9
mov qword [rsp + 0x38], rax
mov r11, rbp
mov rax, r8
mov rbx, r15
xor r11, rcx
xor rax, rdx
mov qword [rsp + 0x30], r8
xor rbx, rdi
mov r8, rax
xor r10, r11
mov r13, r11
mov rax, r14
mov qword [rsp + 0x58], r10
mov r10, r8
xor r13, r15
xor rax, r11
xor r10, rsi
mov rsi, rcx
mov qword [rsp + 0x68], r13
mov r13, rbp
xor rdi, r10
xor r9, r10
mov r10, qword [rsp + 0x38]
mov r14, rbx
xor rsi, rdi
xor rbp, rdi
mov r12, rdi
xor r14, rax
xor r10, r9
mov rdi, rsi
mov qword [rsp + 0x48], rax
mov rax, r13
xor rdi, r10
mov qword [rsp + 0x60], r8
xor rax, r10
xor rcx, r10
mov qword [rsp + 0x80], rdi
mov rdi, r8
mov r8, qword [rsp + 0x38]
mov r13, rax
mov qword [rsp + 0x28], rsi
mov rax, qword [rsp + 0x30]
and rdi, r12
mov rsi, rdx
and r8, r10
mov qword [rsp + 0x40], rbx
and rbx, qword [rsp + 0x28]
xor r9, rdi
and rax, qword [rsp + 0x80]
xor rbx, r8
mov qword [rsp + 0x78], rbp
and rsi, rcx
xor rax, r8
mov r8, r14
mov qword [rsp + 0x70], r14
mov r14, qword [rsp + 0x20]
and r8, rbp
mov qword [rsp + 0x20], r13
mov rbp, r8
xor rbp, r9
mov r9, qword [rsp + 0x58]
xor rbp, rax
and r9, r14
mov r8, r9
mov r9, qword [rsp + 0x40]
xor r8, r9
mov r9, qword [rsp + 0x28]
xor r15, rcx
xor r15, rsi
xor r8, r9
xor r8, rdi
mov rdi, qword [rsp + 0x48]
xor r8, rbx
and rdi, r11
mov r9, rdi
xor r9, rdx
xor r9, rcx
xor r9, rsi
mov rsi, qword [rsp + 0x68]
xor r9, rax
and rsi, r13
xor r15, rsi
xor r15, rbx
mov rax, r15
mov r15, rbp
and rbp, r9
xor r15, r8
mov r13, r15
mov r15, rax
xor r15, rbp
mov rsi, r13
and rsi, r15
mov rbx, r15
mov r15, r9
xor rsi, r8
xor r15, rax
xor r8, rbp
and r8, r15
mov r15, rax
xor r15, r8
xor rbp, r8
and rbp, rax
xor r9, r15
mov rdi, r15
xor r9, rbp
xor rbx, rbp
mov rbp, rsi
xor rbp, rdi
and rbx, rsi
mov r15, r9
xor rbx, r13
mov r13, rbp
mov rbp, rsi
xor r15, rbx
xor rbp, rbx
and r14, rdi
and r11, rbx
mov qword [rsp + 0x88], r14
mov r14, qword [rsp + 0x20]
mov rax, r15
mov r8, rbp
xor rax, r13
and rcx, r8
and r8, rdx
mov rbp, rdi
and r14, rsi
xor rbp, r9
and r10, r13
mov qword [rsp + 0x20], r14
mov r14, qword [rsp + 0x80]
and r12, rbp
xor r10, rcx
and r14, rax
and rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], r14
mov r14, qword [rsp + 0x70]
and r14, r9
mov qword [rsp + 0x70], r14
mov rdx, qword [rsp + 0x38]
mov r14, r11
and rbx, qword [rsp + 0x48]
and rbp, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
and rdx, r13
mov r13, qword [rsp + 0x80]
and rsi, qword [rsp + 0x68]
xor rdx, rax
mov rax, qword [rsp + 0x20]
xor r10, r13
xor r14, rdx
xor rbx, rax
mov rax, r12
mov r12, qword [rsp + 0x88]
xor r11, r10
xor rax, rcx
mov rcx, qword [rsp + 0x28]
xor r12, r8
and rcx, r15
xor r12, rax
xor rcx, r13
mov r13, qword [rsp + 0x70]
xor rsi, r12
xor rcx, r14
xor rbp, r13
xor rbp, r14
xor rsi, rcx
xor r8, rbx
mov r14, qword [rsp + 0x20]
xor r8, rcx
xor rdx, r12
and r9, qword [rsp + 0x78]
xor r10, rbp
mov rcx, qword [rsp + 0x88]
xor rdx, rbx
mov rbx, qword [rsp + 0x40]
xor r9, rbp
xor rax, r9
not rdx
not r8
movabs r12, 0xfff0fff0fff0fff
xor rcx, r14
and rbx, r15
mov r15, qword [rsp + 0x30]
xor r9, rcx
mov rcx, qword [rsp + 0x58]
xor rbx, r15
movabs r15, 0xf000f000f000f000
and rcx, rdi
xor rbx, r11
mov rdi, r11
mov r14, r15
xor rcx, r13
xor rbx, rsi
xor rdi, rax
movabs r11, 0xf000f000f000f00
xor rcx, rsi
and r11, rdx
not rbx
not rdi
movabs rsi, 0xf000f000f000f0
rol r11, 0x20
and rsi, rdx
ror rsi, 0x10
or rsi, r11
movabs r11, 0xf000f000f000f
and r11, rdx
and rdx, r15
or rsi, r11
rol rdx, 0x10
movabs r11, 0xf000f000f000f00
or rsi, rdx
and r11, r8
mov rdx, rsi
movabs rsi, 0xf000f000f000f0
and rsi, r8
ror rsi, 0x10
rol r11, 0x20
or rsi, r11
movabs r11, 0xf000f000f000f
and r11, r8
and r8, r15
or rsi, r11
rol r8, 0x10
movabs r11, 0xf000f000f000f00
or rsi, r8
and r11, rcx
movabs r8, 0xf000f000f000f0
and r8, rcx
rol r11, 0x20
ror r8, 0x10
or r8, r11
movabs r11, 0xf000f000f000f
and r11, rcx
and rcx, r15
or r8, r11
rol rcx, 0x10
movabs r11, 0xf000f000f000f00
or r8, rcx
and r11, r9
movabs rcx, 0xf000f000f000f0
and rcx, r9
rol r11, 0x20
mov r13, r8
ror rcx, 0x10
or rcx, r11
movabs r11, 0xf000f000f000f
and r11, r9
and r9, r15
or rcx, r11
rol r9, 0x10
movabs r11, 0xf000f000f000f00
or rcx, r9
and r11, rax
movabs r9, 0xf000f000f000f0
and r9, rax
rol r11, 0x20
mov rbp, rcx
ror r9, 0x10
or r9, r11
movabs r11, 0xf000f000f000f
and r11, rax
and rax, r15
or r9, r11
rol rax, 0x10
movabs r11, 0xf000f000f000f0
or r9, rax
and r11, rbx
movabs rax, 0xf000f000f000f00
and rax, rbx
ror r11, 0x10
rol rax, 0x20
or r11, rax
movabs rax, 0xf000f000f000f
and rax, rbx
and rbx, r15
or r11, rax
rol rbx, 0x10
movabs rax, 0xf000f000f000f00
or r11, rbx
and rax, rdi
movabs rbx, 0xf000f000f000f0
and rbx, rdi
rol rax, 0x20
ror rbx, 0x10
or rbx, rax
movabs rax, 0xf000f000f000f
and rax, rdi
and rdi, r15
or rbx, rax
rol rdi, 0x10
movabs rax, 0xf000f000f000f0
or rbx, rdi
and rax, r10
movabs rdi, 0xf000f000f000f00
and rdi, r10
ror rax, 0x10
rol rdi, 0x20
or rax, rdi
movabs rdi, 0xf000f000f000f
and rdi, r10
or rax, rdi
and r10, r15
mov rdi, rdx
shr r13, 4
rol r10, 0x10
shr rdi, 4
and r13, r12
or rax, r10
mov r10, rdx
and rdi, r12
shr rbp, 4
shl r10, 0xc
and rbp, r12
and r10, r15
mov r15, rsi
or rdi, r10
mov r10, rsi
shr r15, 4
shl r10, 0xc
and r15, r12
xor rdx, rdi
and r10, r14
mov qword [rsp + 0x28], rdx
mov rdx, rcx
or r15, r10
mov r10, r8
shl rdx, 0xc
shl r10, 0xc
xor rsi, r15
and r10, r14
or r13, r10
mov r10, rdx
mov rdx, r9
shr rdx, 4
and r10, r14
xor r8, r13
mov r12, rdx
mov rdx, r9
or rbp, r10
movabs r10, 0xfff0fff0fff0fff
shl rdx, 0xc
and r12, r10
xor rcx, rbp
mov r10, rdx
and r10, r14
or r12, r10
movabs r10, 0xfff0fff0fff0fff
xor r9, r12
mov qword [rsp + 0x30], r12
mov r12, r11
mov rdx, r10
shr r12, 4
and r12, r10
mov r10, r11
shl r10, 0xc
and r10, r14
or r12, r10
mov r10, rbx
xor r11, r12
mov qword [rsp + 0x38], r12
mov r12, rbx
shl r10, 0xc
shr r12, 4
and r10, r14
and r12, rdx
or r12, r10
mov r10, rax
xor rbx, r12
mov qword [rsp + 0x40], r12
mov r12, rax
shl r10, 0xc
shr r12, 4
and r10, r14
and r12, rdx
mov rdx, qword [rsp + 0x28]
or r12, r10
movabs r10, 0xff00ff00ff00ff
mov r14, rdx
xor rax, r12
shr r14, 8
and r14, r10
mov r10, rdx
movabs rdx, 0xff00ff00ff00ff00
shl r10, 8
and r10, rdx
or r10, r14
mov r14, qword [rsp + 0x50]
xor rdi, qword [r14]
mov r14, r10
mov r10, rsi
xor rdi, rax
shl r10, 8
xor r14, rdi
and r10, rdx
mov rdx, qword [rsp + 0x28]
movabs rdi, 0xff00ff00ff00ff
mov qword [rsp + 0x20], r14
mov r14, rsi
shr r14, 8
and r14, rdi
or r14, r10
xor rdx, r15
mov r15, qword [rsp + 0x50]
mov r10, r8
shr r10, 8
xor rbp, rax
xor rdx, qword [r15 + 8]
xor r13, qword [r15 + 0x10]
xor rdx, rax
xor r13, rsi
mov rsi, rcx
xor rbp, qword [r15 + 0x18]
xor r14, rdx
mov rdx, r10
shr rsi, 8
xor rbp, r8
movabs r10, 0xff00ff00ff00ff00
and rdx, rdi
mov rdi, r8
mov r8, r9
shl rdi, 8
shr r8, 8
and rdi, r10
mov r10, rsi
mov rsi, rcx
or rdi, rdx
shl rsi, 8
xor rdi, r13
mov rdx, rsi
movabs r13, 0xff00ff00ff00ff
movabs rsi, 0xff00ff00ff00ff00
and r10, r13
and rdx, rsi
or rdx, r10
mov rsi, rdx
mov rdx, r8
mov r8, r13
and rdx, r13
mov r13, r9
xor rsi, rbp
movabs rbp, 0xff00ff00ff00ff00
shl r13, 8
mov r10, r13
mov r13, r11
and r10, rbp
or r10, rdx
mov rdx, qword [rsp + 0x30]
xor rdx, rax
xor rdx, qword [r15 + 0x20]
xor rdx, rcx
mov rcx, r11
shr rcx, 8
xor r10, rdx
and rcx, r8
shl r13, 8
mov rdx, r13
and rdx, rbp
or rcx, rdx
mov rdx, qword [rsp + 0x38]
xor r9, rdx
xor r9, qword [r15 + 0x28]
mov rdx, rbx
xor r12, qword [r15 + 0x38]
xor rcx, r9
mov r9, rbx
shl rdx, 8
xor r12, rbx
shr r9, 8
and rdx, rbp
and r9, r8
or r9, rdx
mov rdx, qword [rsp + 0x40]
xor r11, rdx
mov rdx, rax
shl rax, 8
xor r11, qword [r15 + 0x30]
shr rdx, 8
and rax, rbp
xor r9, r11
and rdx, r8
or rax, rdx
mov rdx, r15
xor rax, r12
add rdx, 0x40
mov qword [rsp + 0x50], rdx
mov r15, rax
cmp qword [rsp + 0x90], rdx
jne 0x1401fde38
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xc0], rdi
mov r13, qword [rsp + 0x598]
mov qword [rsp + 0xb0], rax
mov r12, qword [rsp + 0xa0]
mov qword [rsp + 0xc8], rsi
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0xd0], r10
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xe8], r15
mov rcx, rbx
call fcn.1401ee930
mov eax, 0xf000f0
movdqa xmm1, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0x98]
movd xmm4, eax
mov eax, 0xf000f00
lea rcx, [rsp + 0xf0]
movd xmm0, eax
movdqa xmm7, xmm1
movdqa xmm2, xmm1
shl rbx, 6
pshufd xmm0, xmm0, 0
pand xmm7, xmm0
mov eax, 0xf000f000
add r12, rbx
movd xmm6, eax
movdqa xmm3, xmm7
movdqa xmm5, xmm1
pshufd xmm4, xmm4, 0
pshufd xmm6, xmm6, 0
psllq xmm7, 0x20
pand xmm2, xmm6
pand xmm5, xmm4
psrlq xmm3, 0x20
mov eax, 0xf000f
por xmm3, xmm7
movdqa xmm7, xmm2
movd xmm8, eax
psrlq xmm7, 0x30
psllq xmm2, 0x10
pshufd xmm8, xmm8, 0
pand xmm1, xmm8
por xmm2, xmm7
por xmm3, xmm2
movdqa xmm2, xmm5
psrlq xmm2, 0x10
psllq xmm5, 0x30
por xmm2, xmm5
por xmm1, xmm2
por xmm3, xmm1
movdqa xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xb0], xmm3
movdqa xmm9, xmm1
movdqa xmm5, xmm1
movdqa xmm7, xmm1
pand xmm9, xmm0
pand xmm5, xmm6
pand xmm7, xmm4
movdqa xmm2, xmm9
psllq xmm9, 0x20
pand xmm1, xmm8
psrlq xmm2, 0x20
por xmm2, xmm9
movdqa xmm9, xmm5
psrlq xmm9, 0x30
psllq xmm5, 0x10
por xmm5, xmm9
por xmm2, xmm5
movdqa xmm5, xmm7
psrlq xmm5, 0x10
psllq xmm7, 0x30
por xmm5, xmm7
por xmm1, xmm5
movdqa xmm5, xmmword [rsp + 0xd0]
por xmm2, xmm1
movdqa xmm10, xmm5
movdqa xmm7, xmm5
movdqa xmm9, xmm5
movaps xmmword [rsp + 0xc0], xmm2
pand xmm10, xmm6
pand xmm7, xmm0
pand xmm9, xmm4
movdqa xmm1, xmm10
psllq xmm10, 0x10
pand xmm5, xmm8
psrlq xmm1, 0x30
por xmm1, xmm10
movdqa xmm10, xmm7
psrlq xmm10, 0x20
psllq xmm7, 0x20
por xmm7, xmm10
por xmm1, xmm7
movdqa xmm7, xmm9
psrlq xmm7, 0x10
psllq xmm9, 0x30
por xmm7, xmm9
por xmm5, xmm7
movdqa xmm7, xmmword [rsp + 0xe0]
por xmm1, xmm5
movdqa xmm5, xmm0
pand xmm6, xmm7
pand xmm5, xmm7
movdqa xmm9, xmm7
movaps xmmword [rsp + 0xd0], xmm1
movdqa xmm0, xmm6
psrlq xmm6, 0x30
pand xmm9, xmm4
psllq xmm0, 0x10
pand xmm7, xmm8
por xmm0, xmm6
movdqa xmm6, xmm5
psllq xmm6, 0x20
psrlq xmm5, 0x20
por xmm5, xmm6
por xmm0, xmm5
movdqa xmm5, xmm9
psllq xmm5, 0x30
psrlq xmm9, 0x10
por xmm5, xmm9
por xmm5, xmm7
por xmm0, xmm5
movaps xmmword [rsp + 0xe0], xmm0
pxor xmm3, xmmword [r12]
pxor xmm2, xmmword [r12 + 0x10]
pxor xmm1, xmmword [r12 + 0x20]
pxor xmm0, xmmword [r12 + 0x30]
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xf0], xmm3
call fcn.1401eec50
mov rax, qword [rsp + 0x110]
movq xmm1, qword [rsp + 0xf0]
shl rax, 0x20
movhps xmm1, qword [rsp + 0x110]
pand xmm1, xmmword [0x141ab8380]
movq xmm0, rax
mov rax, qword [rsp + 0xf0]
shr rax, 0x20
movq xmm6, rax
mov eax, 0xffff0000
punpcklqdq xmm0, xmm6
movq xmm2, rax
mov eax, 0xff00
por xmm0, xmm1
punpcklqdq xmm2, xmm2
movdqa xmm1, xmm0
psrlq xmm1, 0x10
pxor xmm1, xmm0
pand xmm1, xmm2
movd xmm2, eax
pxor xmm0, xmm1
psllq xmm1, 0x10
pshufd xmm2, xmm2, 0
pxor xmm0, xmm1
movdqa xmm1, xmm0
psrlq xmm1, 8
pxor xmm1, xmm0
pand xmm1, xmm2
movdqa xmm2, xmm1
pxor xmm0, xmm1
psllq xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmm2
movdqa xmm1, xmm2
psrlq xmm0, 4
pxor xmm0, xmm2
pand xmm0, xmm4
movdqa xmm2, xmm0
pxor xmm0, xmm1
psllq xmm2, 4
pxor xmm0, xmm2
movups xmmword [r13], xmm0
movaps xmm6, xmmword [rsp + 0x4f0]
movaps xmm7, xmmword [rsp + 0x500]
movaps xmm8, xmmword [rsp + 0x510]
movaps xmm9, xmmword [rsp + 0x520]
movaps xmm10, xmmword [rsp + 0x530]
add rsp, 0x548
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret