Function at 0x1400e88e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
mov qword [rsp + 0x88], r9
mov rax, rcx
mov rcx, qword [0x14018e218]
xor rcx, rsp
mov qword [rsp + 0x1b0], rcx
mov r13, qword [rax + 8]
mov rbp, rdx
sub rbp, r13
movzx ecx, byte [rax + 0x100]
mov r10d, 1
shl r10d, cl
mov ecx, dword [rax + 0x1c]
mov r9d, ebp
sub r9d, ecx
mov r11d, ebp
sub r11d, r10d
cmp r9d, r10d
cmovbe r11d, ecx
mov qword [rsp + 0x60], r8
movabs r10, 0xcf1bbcdcbb000000
cmp dword [rax + 0x28], 0
mov r9d, 1
cmovne r11d, ecx
mov dword [rsp + 0x50], r11d
mov r8d, dword [rax + 0x10c]
cmp r8d, 6
mov ecx, 6
cmovb ecx, r8d
shl r9d, cl
mov dword [rsp + 0x34], r9d
mov rdi, qword [rax + 0x70]
mov r8, qword [rax + 0xf8]
mov r12, qword [rdx]
imul r12, r10
mov cl, 0x38
sub cl, byte [r8 + 0x34]
mov r11, r12
shr r11, cl
mov r15, qword [rax + 0x38]
mov r9, r11
shr r9, 2
and r9d, 0x3fffffc0
mov r14d, dword [rax + 0x34]
mov ecx, dword [rax + 0x18]
mov qword [rsp + 0x80], rcx
mov rbx, qword [rax + 0x60]
mov rcx, qword [r8 + 0x38]
mov r10, qword [r8 + 0x70]
prefetcht0 byte [r10 + r9*4]
prefetcht0 byte [r10 + r9*4 + 0x40]
prefetcht0 byte [rcx + r9]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x78], r9
prefetcht0 byte [rcx + r9 + 0x20]
cmp dword [rax + 0x12c], 0
mov cl, 0x38
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x98], r10
mov qword [rsp + 0xa8], r11
je 0x1400e8a2c
xor r12, rbx
sub cl, r14b
shr r12, cl
mov dword [rax + 0x2c], ebp
jmp 0x1400e8d07
mov r12d, dword [rax + 0x2c]
mov ecx, ebp
sub ecx, r12d
cmp ecx, 0x181
mov qword [rsp + 0x48], rbx
mov rsi, r15
mov r8, rdi
jb 0x1400e8bc9
cmp r12d, 0xffffff9f
ja 0x1400e8b16
lea rdx, [r12 + 0x60]
mov ecx, 0x38
mov r9d, r14d
sub ecx, r14d
movabs r8, 0xcf1bbcdcbb000000
mov r11, qword [r13 + r12 + 8]
imul r11, r8
xor r11, qword [rax + 0x60]
shr r11, cl
mov rsi, r11
shr rsi, 2
and esi, 0x3fffffc0
prefetcht0 byte [rdi + rsi*4]
prefetcht0 byte [rdi + rsi*4 + 0x40]
prefetcht0 byte [r15 + rsi]
prefetcht0 byte [r15 + rsi + 0x20]
mov esi, r12d
and esi, 7
mov ebx, dword [rax + rsi*4 + 0x40]
mov dword [rax + rsi*4 + 0x40], r11d
mov r11, rbx
shr r11, 2
and r11d, 0x3fffffc0
lea rsi, [rdi + r11*4]
movzx r13d, byte [r15 + r11]
dec r13b
and r13b, 0x3f
mov r10d, 0
mov r14d, 0x3f
cmove r10d, r14d
lea r14, [r15 + r11]
movzx r13d, r13b
add r13, r10
mov byte [r15 + r11], r13b
mov byte [r14 + r13], bl
mov dword [rsi + r13*4], r12d
mov r13, qword [rsp + 0x38]
inc r12
cmp rdx, r12
jne 0x1400e8a70
mov rsi, qword [rax + 0x38]
mov r8, qword [rax + 0x70]
mov rdx, qword [rsp + 0x40]
mov r14d, r9d
lea r12d, [rbp - 0x20]
lea rcx, [rdx + 1]
lea r10, [r12 + r13]
mov r11d, ecx
sub r11d, r10d
inc r11d
cmp r11d, 8
mov ebx, 8
cmovb ebx, r11d
xor r11d, r11d
cmp r10, rcx
cmovbe r11d, ebx
add r11d, ebp
add r11d, 0xffffffe0
cmp r11d, r12d
jbe 0x1400e8bc4
mov r9d, r14d
mov r10, qword [rax + 0x60]
mov ecx, 0x38
sub ecx, dword [rax + 0x34]
mov r11d, r11d
mov rbx, r12
movabs rdx, 0xcf1bbcdcbb000000
nop dword [rax]
mov r14, qword [r13 + rbx]
imul r14, rdx
xor r14, r10
shr r14, cl
mov r13, r14
shr r13, 2
and r13d, 0x3fffffc0
prefetcht0 byte [r8 + r13*4]
prefetcht0 byte [r8 + r13*4 + 0x40]
prefetcht0 byte [rsi + r13]
prefetcht0 byte [rsi + r13 + 0x20]
mov r13d, ebx
and r13d, 7
mov dword [rax + r13*4 + 0x40], r14d
mov r13, qword [rsp + 0x38]
inc rbx
cmp r11, rbx
jne 0x1400e8b70
mov rdx, qword [rsp + 0x40]
mov r14d, r9d
mov rbx, qword [rsp + 0x48]
cmp r12d, ebp
jae 0x1400e8cb6
mov dword [rsp + 0x6c], r14d
mov qword [rsp + 0x90], rdi
mov ecx, 0x38
sub ecx, dword [rax + 0x34]
mov r11, qword [rax + 8]
mov r12d, r12d
mov r10d, ebp
movabs rdx, 0xcf1bbcdcbb000000
nop dword [rax + rax]
mov r14, qword [r11 + r12 + 8]
imul r14, rdx
xor r14, qword [rax + 0x60]
shr r14, cl
mov r13, r14
shr r13, 2
and r13d, 0x3fffffc0
prefetcht0 byte [r8 + r13*4]
prefetcht0 byte [r8 + r13*4 + 0x40]
prefetcht0 byte [rsi + r13]
prefetcht0 byte [rsi + r13 + 0x20]
mov r13d, r12d
and r13d, 7
mov ebp, dword [rax + r13*4 + 0x40]
mov dword [rax + r13*4 + 0x40], r14d
mov r14, rbp
shr r14, 2
and r14d, 0x3fffffc0
lea r13, [r8 + r14*4]
movzx ebx, byte [rsi + r14]
dec bl
and bl, 0x3f
mov r9d, 0
mov edi, 0x3f
cmove r9d, edi
lea rdi, [rsi + r14]
movzx ebx, bl
add rbx, r9
mov byte [rsi + r14], bl
mov byte [rdi + rbx], bpl
mov dword [r13 + rbx*4], r12d
inc r12
cmp r10, r12
jne 0x1400e8c00
mov rdx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x90]
mov r14d, dword [rsp + 0x6c]
mov rbx, qword [rsp + 0x48]
jmp 0x1400e8cb9
mov r10d, ebp
mov dword [rax + 0x2c], ebp
movabs r8, 0xcf1bbcdcbb000000
imul r8, qword [r13 + r10 + 8]
xor r8, rbx
mov cl, 0x38
sub cl, r14b
shr r8, cl
mov rcx, r8
shr rcx, 2
and ecx, 0x3fffffc0
prefetcht0 byte [rdi + rcx*4]
prefetcht0 byte [rdi + rcx*4 + 0x40]
prefetcht0 byte [r15 + rcx]
prefetcht0 byte [r15 + rcx + 0x20]
mov ecx, ebp
and ecx, 7
mov r12d, dword [rax + rcx*4 + 0x40]
mov dword [rax + rcx*4 + 0x40], r8d
mov r10, rdi
add dword [rax + 0x68], r12d
mov r9d, r12d
shr r9d, 2
and r9d, 0xffffffc0
lea r8, [r15 + r9]
movzx ecx, byte [r15 + r9]
movd xmm0, r12d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [r15 + r9]
movdqu xmm2, xmmword [r15 + r9 + 0x10]
movdqu xmm3, xmmword [r15 + r9 + 0x20]
movdqu xmm4, xmmword [r15 + r9 + 0x30]
pcmpeqb xmm1, xmm0
pmovmskb r11d, xmm1
pcmpeqb xmm2, xmm0
pmovmskb edi, xmm2
pcmpeqb xmm3, xmm0
pmovmskb esi, xmm3
pcmpeqb xmm4, xmm0
pmovmskb ebx, xmm4
lea r10, [r10 + r9*4]
shl rbx, 0x30
shl rsi, 0x20
or rsi, rbx
shl rdi, 0x10
or rdi, rsi
xor esi, esi
or r11, rdi
je 0x1400e8dda
ror r11, cl
xor r9d, r9d
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x58]
nop
tzcnt rbx, r11
add ebx, ecx
and ebx, 0x3f
je 0x1400e8dca
mov ebx, dword [r10 + rbx*4]
cmp ebx, dword [rsp + 0x50]
jb 0x1400e8de7
prefetcht0 byte [r13 + rbx]
mov dword [rsp + r9*4 + 0xb0], ebx
inc r9
dec r14d
lea rdi, [r11 - 1]
and r11, rdi
je 0x1400e8de7
test r14d, r14d
jne 0x1400e8da0
jmp 0x1400e8de7
xor r9d, r9d
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x58]
add r15, qword [rsp + 0x78]
dec ecx
and ecx, 0x3f
mov r11d, 0x3f
cmove esi, r11d
add rsi, rcx
mov byte [r8], sil
mov byte [r8 + rsi], r12b
mov ecx, dword [rax + 0x2c]
lea r8d, [rcx + 1]
mov dword [rax + 0x2c], r8d
mov dword [r10 + rsi*4], ecx
test r9, r9
mov dword [rsp + 0x34], r14d
mov qword [rsp + 0x58], r15
je 0x1400e8f8d
mov r8, qword [rsp + 0x60]
lea rax, [r8 - 7]
lea rcx, [r8 - 3]
lea r15, [r8 - 1]
lea r10d, [rbp + 3]
mov dword [rsp + 0x50], r10d
lea r12, [rdx + 8]
lea r10, [r13 + 8]
mov qword [rsp + 0x48], r10
mov esi, 3
xor ebp, ebp
jmp 0x1400e8e6f
inc rbp
mov r14, rsi
cmp rbp, r9
je 0x1400e8f93
mov r10d, dword [rsp + rbp*4 + 0xb0]
lea r11, [r10 + r13]
mov edi, dword [rsi + r11 - 3]
cmp edi, dword [rdx + rsi - 3]
jne 0x1400e8e60
cmp rax, rdx
jbe 0x1400e8eb0
mov rbx, qword [rdx]
xor rbx, qword [r11]
je 0x1400e8eca
tzcnt r14, rbx
shr r14, 3
jmp 0x1400e8f5f
mov r14, rdx
cmp r14, rcx
jae 0x1400e8f30
mov edi, dword [r11]
cmp edi, dword [r14]
jne 0x1400e8f30
add r14, 4
add r11, 4
jmp 0x1400e8f30
mov rdx, qword [rsp + 0x48]
lea r11, [rdx + r10]
xor ebx, ebx
nop word cs:[rax + rax]
lea r14, [r12 + rbx]
cmp r14, rax
jae 0x1400e8f11
mov r14, qword [r14]
lea r13, [rbx + 8]
xor r14, qword [r11 + rbx]
mov rbx, r13
je 0x1400e8ee0
tzcnt r14, r14
shr r14, 3
add r14, r13
mov rdx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
jmp 0x1400e8f5f
add r11, rbx
mov rdx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
cmp r14, rcx
jb 0x1400e8eb8
nop word cs:[rax + rax]
cmp r14, r15
jae 0x1400e8f47
movzx edi, word [r11]
cmp di, word [r14]
jne 0x1400e8f47
add r14, 2
add r11, 2
cmp r14, r8
jae 0x1400e8f5c
movzx r11d, byte [r11]
xor edi, edi
cmp r11b, byte [r14]
sete dil
add r14, rdi
sub r14, rdx
cmp r14, rsi
jbe 0x1400e8e60
mov r11d, dword [rsp + 0x50]
sub r11d, r10d
mov r10, qword [rsp + 0x88]
mov qword [r10], r11
lea r10, [rdx + r14]
mov rsi, r14
cmp r10, r8
jne 0x1400e8e60
jmp 0x1400e8f93
mov r14d, 3
movzx eax, byte [rsp + 0xa8]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
mov r11, qword [rsp + 0x58]
movdqu xmm1, xmmword [r11]
movdqu xmm2, xmmword [r11 + 0x10]
movdqu xmm3, xmmword [r11 + 0x20]
movdqu xmm4, xmmword [r11 + 0x30]
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
pcmpeqb xmm2, xmm0
pmovmskb ecx, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r8d, xmm3
pcmpeqb xmm4, xmm0
pmovmskb r9d, xmm4
shl r9, 0x30
shl r8, 0x20
or r8, r9
shl rcx, 0x10
or rcx, r8
or rax, rcx
je 0x1400e9126
mov edi, dword [rsp + 0x34]
test edi, edi
je 0x1400e9126
add r13, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x98]
lea r9, [r8 + rcx*4]
mov rcx, qword [rsp + 0xa0]
mov r10d, dword [rcx + 0x18]
mov r8, qword [rcx]
mov rsi, qword [rcx + 8]
mov qword [rsp + 0x50], r8
sub r8d, esi
movzx ecx, byte [r11]
ror rax, cl
xor ebp, ebp
nop
tzcnt r11, rax
add r11d, ecx
and r11d, 0x3f
je 0x1400e9079
mov r11d, dword [r9 + r11*4]
cmp r11d, r10d
jb 0x1400e9086
prefetcht0 byte [rsi + r11]
mov dword [rsp + rbp*4 + 0xb0], r11d
inc rbp
dec edi
lea r11, [rax - 1]
and rax, r11
je 0x1400e9086
test edi, edi
jne 0x1400e9050
test rbp, rbp
je 0x1400e9126
mov rdi, r13
lea r12, [rdx + 4]
mov r15d, dword [rdx]
mov rax, qword [rsp + 0x70]
add eax, r8d
add eax, 3
mov dword [rsp + 0x38], eax
xor ebx, ebx
jmp 0x1400e90b8
inc rbx
cmp rbp, rbx
je 0x1400e9126
mov r13d, dword [rsp + rbx*4 + 0xb0]
cmp dword [rsi + r13], r15d
jne 0x1400e90b0
lea rdx, [rsi + r13]
add rdx, 4
mov qword [rsp + 0x20], rdi
mov rcx, r12
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
call fcn.1400b81d0
mov r8, qword [rsp + 0x60]
add rax, 4
cmp rax, r14
jbe 0x1400e90b0
add r13d, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x38]
sub ecx, r13d
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
mov rdx, qword [rsp + 0x40]
lea rcx, [rdx + rax]
cmp rcx, r8
je 0x1400e9123
mov r15d, dword [rdx]
mov r14, rax
jmp 0x1400e90b0
mov r14, rax
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.14011fde0
mov rax, r14
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret