Function at 0x1400dfd70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
mov qword [rsp + 0x88], r9
mov rax, rcx
mov rcx, qword [0x14018e218]
xor rcx, rsp
mov qword [rsp + 0x190], rcx
mov r15, qword [rax + 0x70]
mov r11, qword [rax + 0x38]
mov r13, qword [rax + 8]
mov r12, rdx
sub r12, r13
movzx ecx, byte [rax + 0x100]
mov r9d, 1
shl r9d, cl
mov ecx, dword [rax + 0x1c]
mov esi, r12d
sub esi, ecx
mov r10d, r12d
sub r10d, r9d
cmp esi, r9d
cmovbe r10d, ecx
mov edi, dword [rax + 0x34]
mov rbx, qword [rax + 0x10]
cmp dword [rax + 0x28], 0
mov r9d, 1
cmovne r10d, ecx
mov dword [rsp + 0x58], r10d
mov esi, dword [rax + 0x10c]
cmp esi, 6
mov ecx, 6
cmovb ecx, esi
shl r9d, cl
mov ecx, dword [rax + 0x18]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rax + 0x60]
cmp dword [rax + 0x12c], 0
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x80], r8
je 0x1400dfe44
imul ebp, dword [rdx], 0x9e3779b1
xor ebp, ecx
mov cl, 0x18
sub cl, dil
shr ebp, cl
mov dword [rax + 0x2c], r12d
jmp 0x1400e00e8
mov qword [rsp + 0x48], rcx
mov r14d, dword [rax + 0x2c]
mov ecx, r12d
sub ecx, r14d
cmp ecx, 0x181
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
mov r12, r15
mov r15, r11
jb 0x1400dffc0
cmp r14d, 0xffffff9f
ja 0x1400dff32
mov r10d, edi
lea r8, [r14 + 0x60]
mov ecx, 0x18
mov dword [rsp + 0x30], edi
sub ecx, edi
mov r15, qword [rsp + 0x38]
imul esi, dword [r13 + r14 + 8], 0x9e3779b1
xor esi, dword [rax + 0x60]
shr esi, cl
mov r12d, esi
shr r12d, 2
and r12d, 0xffffffc0
prefetcht0 byte [r15 + r12*4]
prefetcht0 byte [r15 + r12*4 + 0x40]
prefetcht0 byte [r11 + r12]
prefetcht0 byte [r11 + r12 + 0x20]
mov r12d, r14d
and r12d, 7
mov rbx, r13
mov r13d, dword [rax + r12*4 + 0x40]
mov dword [rax + r12*4 + 0x40], esi
mov rsi, r13
shr rsi, 2
and esi, 0x3fffffc0
lea r12, [r15 + rsi*4]
movzx edi, byte [r11 + rsi]
dec dil
and dil, 0x3f
mov r10d, 0
mov ebp, 0x3f
cmove r10d, ebp
lea rbp, [r11 + rsi]
movzx edi, dil
add rdi, r10
mov byte [r11 + rsi], dil
mov byte [rbp + rdi], r13b
mov r13, rbx
mov dword [r12 + rdi*4], r14d
inc r14
cmp r8, r14
jne 0x1400dfe90
mov r15, qword [rax + 0x38]
mov r12, qword [rax + 0x70]
mov edi, dword [rsp + 0x30]
mov ebx, edi
mov r10, qword [rsp + 0x40]
lea r14d, [r10 - 0x20]
lea rcx, [rdx + 1]
lea rdx, [r14 + r13]
mov esi, ecx
sub esi, edx
inc esi
cmp esi, 8
mov edi, 8
cmovb edi, esi
xor esi, esi
cmp rdx, rcx
cmovbe esi, edi
lea ebp, [rsi + r10]
add ebp, 0xffffffe0
cmp ebp, r14d
jbe 0x1400dffbe
mov esi, dword [rax + 0x60]
mov ecx, 0x18
sub ecx, dword [rax + 0x34]
mov r10, r13
mov r13d, ebp
mov rbp, r14
nop
imul edx, dword [r10 + rbp], 0x9e3779b1
xor edx, esi
shr edx, cl
mov edi, edx
shr edi, 2
and edi, 0xffffffc0
prefetcht0 byte [r12 + rdi*4]
prefetcht0 byte [r12 + rdi*4 + 0x40]
prefetcht0 byte [r15 + rdi]
prefetcht0 byte [r15 + rdi + 0x20]
mov edi, ebp
and edi, 7
mov dword [rax + rdi*4 + 0x40], edx
inc rbp
cmp r13, rbp
jne 0x1400dff80
mov r13, r10
mov edi, ebx
mov rdx, qword [rsp + 0x40]
cmp r14d, edx
jae 0x1400e0091
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x50], r13
mov ecx, 0x18
sub ecx, dword [rax + 0x34]
mov r13, qword [rax + 8]
mov ebp, r14d
mov r14d, edx
nop dword [rax]
imul edx, dword [r13 + rbp + 8], 0x9e3779b1
xor edx, dword [rax + 0x60]
shr edx, cl
mov edi, edx
shr edi, 2
and edi, 0xffffffc0
prefetcht0 byte [r12 + rdi*4]
prefetcht0 byte [r12 + rdi*4 + 0x40]
prefetcht0 byte [r15 + rdi]
prefetcht0 byte [r15 + rdi + 0x20]
mov edi, ebp
and edi, 7
mov r10d, dword [rax + rdi*4 + 0x40]
mov dword [rax + rdi*4 + 0x40], edx
mov rdx, r10
shr rdx, 2
and edx, 0x3fffffc0
lea rdi, [r12 + rdx*4]
movzx r8d, byte [r15 + rdx]
dec r8b
and r8b, 0x3f
mov esi, 0
mov ebx, 0x3f
cmove esi, ebx
lea rbx, [r15 + rdx]
movzx r8d, r8b
add r8, rsi
mov byte [r15 + rdx], r8b
mov byte [rbx + r8], r10b
mov dword [rdi + r8*4], ebp
inc rbp
cmp r14, rbp
jne 0x1400dfff0
mov r13, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov edi, dword [rsp + 0x30]
jmp 0x1400e00a1
mov r14d, edx
mov rbx, qword [rsp + 0x60]
mov r12, rdx
mov r15, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov dword [rax + 0x2c], r12d
imul edx, dword [r13 + r14 + 8], 0x9e3779b1
xor edx, ecx
mov cl, 0x18
sub cl, dil
shr edx, cl
mov ecx, edx
shr ecx, 2
and ecx, 0xffffffc0
prefetcht0 byte [r15 + rcx*4]
prefetcht0 byte [r15 + rcx*4 + 0x40]
prefetcht0 byte [r11 + rcx]
prefetcht0 byte [r11 + rcx + 0x20]
mov ecx, r12d
and ecx, 7
mov ebp, dword [rax + rcx*4 + 0x40]
mov dword [rax + rcx*4 + 0x40], edx
add dword [rax + 0x68], ebp
mov edi, ebp
shr edi, 2
and edi, 0xffffffc0
lea rsi, [r11 + rdi]
movzx ecx, byte [r11 + rdi]
movd xmm0, ebp
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [r11 + rdi]
movdqu xmm2, xmmword [r11 + rdi + 0x10]
movdqu xmm3, xmmword [r11 + rdi + 0x20]
movdqu xmm4, xmmword [r11 + rdi + 0x30]
pcmpeqb xmm1, xmm0
pmovmskb r14d, xmm1
pcmpeqb xmm2, xmm0
pmovmskb edx, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r8d, xmm3
pcmpeqb xmm4, xmm0
pmovmskb r11d, xmm4
lea r10, [r15 + rdi*4]
shl r11, 0x30
shl r8, 0x20
or r8, r11
shl rdx, 0x10
or rdx, r8
xor r11d, r11d
or r14, rdx
je 0x1400e01c6
ror r14, cl
xor edi, edi
mov r8d, dword [rsp + 0x58]
nop word cs:[rax + rax]
tzcnt r15, r14
add r15d, ecx
and r15d, 0x3f
je 0x1400e01b6
mov r15d, dword [r10 + r15*4]
cmp r15d, r8d
jb 0x1400e01c8
cmp r15d, dword [rsp + 0x68]
mov rdx, r13
cmovb rdx, rbx
prefetcht0 byte [rdx + r15]
mov dword [rsp + rdi*4 + 0x90], r15d
inc rdi
dec r9d
lea rdx, [r14 - 1]
and r14, rdx
je 0x1400e01c8
test r9d, r9d
jne 0x1400e0180
jmp 0x1400e01c8
xor edi, edi
dec ecx
and ecx, 0x3f
mov edx, 0x3f
cmove r11d, edx
add r11, rcx
mov byte [rsi], r11b
mov byte [rsi + r11], bpl
mov ecx, dword [rax + 0x2c]
lea edx, [rcx + 1]
mov dword [rax + 0x2c], edx
mov dword [r10 + r11*4], ecx
test rdi, rdi
je 0x1400e03bf
mov r11, qword [rsp + 0x68]
lea rax, [r11 + r13]
mov qword [rsp + 0x58], rax
mov rax, r11
add rax, rbx
mov qword [rsp + 0x40], rax
mov r8, qword [rsp + 0x80]
lea r15, [r8 - 7]
lea rax, [r8 - 3]
mov qword [rsp + 0x30], rax
lea rax, [r8 - 1]
mov qword [rsp + 0x50], rax
mov r10, qword [rsp + 0x70]
lea rax, [r10 + 4]
mov qword [rsp + 0x38], rax
lea eax, [r12 + 3]
mov dword [rsp + 0x48], eax
lea rsi, [r10 + 8]
mov rbx, r13
lea rax, [r13 + 8]
mov qword [rsp + 0x78], rax
mov r13d, 3
xor ebp, ebp
jmp 0x1400e026f
inc rbp
mov r12, r13
cmp rbp, rdi
je 0x1400e03c5
mov r14d, dword [rsp + rbp*4 + 0x90]
cmp r14d, r11d
jae 0x1400e02d0
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + r14]
cmp eax, dword [r10]
jne 0x1400e0260
lea rdx, [rcx + r14]
add rdx, 4
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r12, r8
call fcn.1400b81d0
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
mov r8, r12
mov r12, rax
add r12, 4
jmp 0x1400e0392
lea rax, [rbx + r14]
mov ecx, dword [r13 + rax - 3]
cmp ecx, dword [r10 + r13 - 3]
jne 0x1400e0260
cmp r15, r10
jbe 0x1400e02fb
mov rcx, qword [r10]
xor rcx, qword [rax]
je 0x1400e0317
tzcnt r12, rcx
shr r12, 3
jmp 0x1400e0392
mov r12, r10
cmp r12, qword [rsp + 0x30]
jae 0x1400e0362
mov ecx, dword [rax]
cmp ecx, dword [r12]
jne 0x1400e0362
add r12, 4
add rax, 4
jmp 0x1400e0362
mov rax, qword [rsp + 0x78]
add rax, r14
xor ecx, ecx
nop word cs:[rax + rax]
lea r12, [rsi + rcx]
cmp r12, r15
jae 0x1400e0358
mov r9, qword [r12]
lea rdx, [rcx + 8]
xor r9, qword [rax + rcx]
mov rcx, rdx
je 0x1400e0330
tzcnt r12, r9
shr r12, 3
add r12, rdx
jmp 0x1400e0392
add rax, rcx
cmp r12, qword [rsp + 0x30]
jb 0x1400e0305
cmp r12, qword [rsp + 0x50]
jae 0x1400e037b
movzx ecx, word [rax]
cmp cx, word [r12]
jne 0x1400e037b
add r12, 2
add rax, 2
cmp r12, r8
jae 0x1400e038f
movzx eax, byte [rax]
xor ecx, ecx
cmp al, byte [r12]
sete cl
add r12, rcx
sub r12, r10
cmp r12, r13
jbe 0x1400e0260
mov eax, dword [rsp + 0x48]
sub eax, r14d
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
lea rax, [r10 + r12]
mov r13, r12
cmp rax, r8
jne 0x1400e0260
jmp 0x1400e03c5
mov r12d, 3
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.14011fde0
mov rax, r12
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret