Function at 0x1400e7780
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 + 0x90], r9
mov r13, rdx
mov rax, rcx
mov rcx, qword [0x14018e218]
xor rcx, rsp
mov qword [rsp + 0x1b0], rcx
movabs rsi, 0xcf1bbcdcbb000000
mov r14, qword [rax + 8]
mov r12, rdx
sub r12, r14
movzx ecx, byte [rax + 0x100]
mov edx, 1
shl edx, cl
mov ecx, dword [rax + 0x1c]
mov r9d, r12d
sub r9d, ecx
mov r10d, r12d
sub r10d, edx
cmp r9d, edx
cmovbe r10d, ecx
mov rdx, qword [rax + 0x70]
mov qword [rsp + 0x38], rdx
mov r11, qword [rax + 0x38]
cmp dword [rax + 0x28], 0
mov ebx, 1
cmovne r10d, ecx
mov dword [rsp + 0x58], r10d
mov edx, dword [rax + 0x10c]
cmp edx, 4
mov ecx, 4
cmovb ecx, edx
shl ebx, cl
mov r10, qword [rax + 0xf8]
mov r9, qword [r13]
imul r9, rsi
mov cl, 0x38
sub cl, byte [r10 + 0x34]
mov rdx, r9
shr rdx, cl
mov rcx, rdx
mov qword [rsp + 0xa8], rdx
shr rdx, 4
and edx, 0xffffff0
mov esi, dword [rax + 0x34]
mov ecx, dword [rax + 0x18]
mov qword [rsp + 0x88], rcx
mov rdi, qword [rax + 0x60]
mov rbp, qword [r10 + 0x38]
mov rcx, qword [r10 + 0x70]
mov qword [rsp + 0x98], rcx
prefetcht0 byte [rcx + rdx*4]
mov qword [rsp + 0x80], rdx
prefetcht0 byte [rbp + rdx]
cmp dword [rax + 0x12c], 0
mov cl, 0x38
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x78], r12
mov qword [rsp + 0xa0], r10
je 0x1400e78b9
xor r9, rdi
sub cl, sil
shr r9, cl
mov dword [rax + 0x2c], r12d
mov rsi, qword [rsp + 0x38]
jmp 0x1400e7c71
mov r9d, dword [rax + 0x2c]
mov ecx, r12d
sub ecx, r9d
cmp ecx, 0x181
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x70], r11
mov dword [rsp + 0x34], esi
mov qword [rsp + 0x60], rdi
mov rbp, r11
jb 0x1400e7ac7
mov r15, qword [rsp + 0x38]
cmp r9d, 0xffffff9f
ja 0x1400e79b4
lea rdx, [r9 + 0x60]
mov ecx, 0x38
sub ecx, dword [rsp + 0x34]
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x70]
nop dword [rax + rax]
mov rdi, qword [r14 + r9 + 8]
movabs r11, 0xcf1bbcdcbb000000
imul rdi, r11
xor rdi, qword [rax + 0x60]
shr rdi, cl
mov r15, rdi
shr r15, 4
and r15d, 0xffffff0
prefetcht0 byte [r8 + r15*4]
prefetcht0 byte [r10 + r15]
mov r15d, r9d
and r15d, 7
mov r13d, dword [rax + r15*4 + 0x40]
mov dword [rax + r15*4 + 0x40], edi
mov rdi, r13
shr rdi, 4
and edi, 0xffffff0
lea r15, [r8 + rdi*4]
movzx ebp, byte [r10 + rdi]
dec bpl
and bpl, 0xf
mov r11d, 0
mov esi, 0xf
cmove r11d, esi
lea rsi, [r10 + rdi]
movzx ebp, bpl
add rbp, r11
mov byte [r10 + rdi], bpl
mov byte [rsi + rbp], r13b
mov dword [r15 + rbp*4], r9d
inc r9
cmp rdx, r9
jne 0x1400e7910
mov rbp, qword [rax + 0x38]
mov r15, qword [rax + 0x70]
mov r8, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
lea r9d, [r12 - 0x20]
lea rcx, [r13 + 1]
lea rdx, [r14 + r9]
mov r11d, ecx
sub r11d, edx
inc r11d
cmp r11d, 8
mov esi, 8
cmovb esi, r11d
xor r11d, r11d
cmp rdx, rcx
cmovbe r11d, esi
lea edi, [r11 + r12]
add edi, 0xffffffe0
cmp edi, r9d
jbe 0x1400e7c08
mov rdx, qword [rax + 0x60]
mov ecx, 0x38
sub ecx, dword [rax + 0x34]
mov r11d, edi
sub edi, r9d
mov rsi, r9
not rsi
test dil, 1
jne 0x1400e7bb5
mov rdi, r9
add rsi, r11
je 0x1400e7c08
movabs r12, 0xcf1bbcdcbb000000
nop dword [rax]
mov rsi, qword [r14 + rdi]
imul rsi, r12
xor rsi, rdx
shr rsi, cl
mov r13, rsi
shr r13, 4
and r13d, 0xffffff0
prefetcht0 byte [r15 + r13*4]
prefetcht0 byte [rbp + r13]
mov r13d, edi
and r13d, 7
mov dword [rax + r13*4 + 0x40], esi
lea esi, [rdi + 1]
mov r8, r11
mov r11, qword [r14 + rdi + 1]
imul r11, r12
xor r11, rdx
shr r11, cl
mov r13, r11
shr r13, 4
and r13d, 0xffffff0
prefetcht0 byte [r15 + r13*4]
prefetcht0 byte [rbp + r13]
and esi, 7
mov dword [rax + rsi*4 + 0x40], r11d
mov r11, r8
add rdi, 2
cmp r8, rdi
jne 0x1400e7a30
mov r8, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x78]
cmp r9d, r12d
jb 0x1400e7ad5
jmp 0x1400e7c1a
mov r15, qword [rsp + 0x38]
cmp r9d, r12d
jae 0x1400e7c1a
mov qword [rsp + 0x68], r14
mov ecx, 0x38
sub ecx, dword [rax + 0x34]
mov r11, qword [rax + 8]
mov r9d, r9d
mov edx, r12d
movabs r8, 0xcf1bbcdcbb000000
nop word cs:[rax + rax]
mov rsi, qword [r11 + r9 + 8]
imul rsi, r8
xor rsi, qword [rax + 0x60]
shr rsi, cl
mov r13, rsi
shr r13, 4
and r13d, 0xffffff0
prefetcht0 byte [r15 + r13*4]
prefetcht0 byte [rbp + r13]
mov r13d, r9d
and r13d, 7
mov r14d, dword [rax + r13*4 + 0x40]
mov dword [rax + r13*4 + 0x40], esi
mov rsi, r14
shr rsi, 4
and esi, 0xffffff0
lea r13, [r15 + rsi*4]
movzx edi, byte [rbp + rsi]
dec dil
and dil, 0xf
mov r10d, 0
mov r12d, 0xf
cmove r10d, r12d
lea r12, [rsi + rbp]
movzx edi, dil
add rdi, r10
mov byte [rbp + rsi], dil
mov byte [r12 + rdi], r14b
mov dword [r13 + rdi*4], r9d
inc r9
cmp rdx, r9
jne 0x1400e7b00
mov r8, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x48]
mov r11, qword [rsp + 0x70]
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x60]
jmp 0x1400e7c27
mov qword [rsp + 0x68], rsi
mov rsi, qword [r14 + r9]
mov rdi, r11
movabs r10, 0xcf1bbcdcbb000000
imul rsi, r10
xor rsi, rdx
shr rsi, cl
mov rdi, rsi
shr rdi, 4
and edi, 0xffffff0
prefetcht0 byte [r15 + rdi*4]
prefetcht0 byte [rbp + rdi]
mov edi, r9d
and edi, 7
mov dword [rax + rdi*4 + 0x40], esi
mov rsi, qword [rsp + 0x68]
lea rdi, [r9 + 1]
add rsi, r11
jne 0x1400e7a1f
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x60]
cmp r9d, r12d
jb 0x1400e7ad5
mov edx, r12d
mov rbp, qword [rsp + 0x48]
mov r11, qword [rsp + 0x70]
mov dword [rax + 0x2c], r12d
movabs r10, 0xcf1bbcdcbb000000
imul r10, qword [r14 + rdx + 8]
xor r10, rdi
mov cl, 0x38
sub cl, sil
shr r10, cl
mov rcx, r10
shr rcx, 4
and ecx, 0xffffff0
mov rsi, qword [rsp + 0x38]
prefetcht0 byte [rsi + rcx*4]
prefetcht0 byte [r11 + rcx]
mov ecx, r12d
and ecx, 7
mov r9d, dword [rax + rcx*4 + 0x40]
mov dword [rax + rcx*4 + 0x40], r10d
add dword [rax + 0x68], r9d
mov r10d, r9d
shr r10d, 4
and r10d, 0xfffffff0
lea rdx, [r11 + r10]
movzx ecx, byte [r11 + r10]
movd xmm0, r9d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [r11 + r10]
pcmpeqb xmm1, xmm0
pmovmskb r11d, xmm1
lea r10, [rsi + r10*4]
xor esi, esi
test r11d, r11d
je 0x1400e7d07
ror r11w, cl
movzx r11d, r11w
xor r15d, r15d
nop word cs:[rax + rax]
tzcnt rdi, r11
add edi, ecx
and edi, 0xf
je 0x1400e7cf8
mov edi, dword [r10 + rdi*4]
cmp edi, dword [rsp + 0x58]
jb 0x1400e7d0a
prefetcht0 byte [r14 + rdi]
mov dword [rsp + r15*4 + 0xb0], edi
inc r15
dec ebx
lea rdi, [r11 - 1]
and r11, rdi
je 0x1400e7d0a
test ebx, ebx
jne 0x1400e7cd0
jmp 0x1400e7d0a
xor r15d, r15d
add rbp, qword [rsp + 0x80]
dec ecx
and ecx, 0xf
mov r11d, 0xf
cmove esi, r11d
add rsi, rcx
mov byte [rdx], sil
mov byte [rdx + rsi], r9b
mov ecx, dword [rax + 0x2c]
lea edx, [rcx + 1]
mov dword [rax + 0x2c], edx
mov dword [r10 + rsi*4], ecx
test r15, r15
mov qword [rsp + 0x48], rbp
je 0x1400e7eac
lea rax, [r8 - 7]
lea r10, [r8 - 3]
lea r9, [r8 - 1]
lea ecx, [r12 + 3]
mov dword [rsp + 0x58], ecx
lea rsi, [r13 + 8]
mov rcx, r14
lea rdx, [r14 + 8]
mov qword [rsp + 0x38], rdx
mov edx, 3
xor ebp, ebp
jmp 0x1400e7d8f
inc rbp
mov r14, rdx
cmp rbp, r15
je 0x1400e7eb5
mov r12d, dword [rsp + rbp*4 + 0xb0]
lea r11, [rcx + r12]
mov edi, dword [rdx + r11 - 3]
cmp edi, dword [r13 + rdx - 3]
jne 0x1400e7d80
cmp rax, r13
jbe 0x1400e7dd0
mov rdi, qword [r13]
xor rdi, qword [r11]
je 0x1400e7dea
tzcnt r14, rdi
shr r14, 3
jmp 0x1400e7e7f
mov r14, r13
cmp r14, r10
jae 0x1400e7e50
mov edi, dword [r11]
cmp edi, dword [r14]
jne 0x1400e7e50
add r14, 4
add r11, 4
jmp 0x1400e7e50
mov r8, qword [rsp + 0x38]
lea r11, [r8 + r12]
xor edi, edi
nop word cs:[rax + rax]
lea r14, [rsi + rdi]
cmp r14, rax
jae 0x1400e7e31
mov r14, qword [r14]
lea r13, [rdi + 8]
xor r14, qword [r11 + rdi]
mov rdi, r13
je 0x1400e7e00
tzcnt r14, r14
shr r14, 3
add r14, r13
mov r8, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
jmp 0x1400e7e7f
add r11, rdi
mov r8, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
cmp r14, r10
jb 0x1400e7dd8
nop word cs:[rax + rax]
cmp r14, r9
jae 0x1400e7e67
movzx edi, word [r11]
cmp di, word [r14]
jne 0x1400e7e67
add r14, 2
add r11, 2
cmp r14, r8
jae 0x1400e7e7c
movzx r11d, byte [r11]
xor edi, edi
cmp r11b, byte [r14]
sete dil
add r14, rdi
sub r14, r13
cmp r14, rdx
jbe 0x1400e7d80
mov edx, dword [rsp + 0x58]
sub edx, r12d
mov r11, qword [rsp + 0x90]
mov qword [r11], rdx
lea r11, [r14 + r13]
mov rdx, r14
cmp r11, r8
jne 0x1400e7d80
jmp 0x1400e7eb5
mov rcx, r14
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 + 0x48]
movdqu xmm1, xmmword [r11]
pcmpeqb xmm1, xmm0
pmovmskb r10d, xmm1
test r10d, r10d
je 0x1400e8013
test ebx, ebx
je 0x1400e8013
mov r8, rcx
add r8, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x98]
lea rdx, [rcx + rax*4]
mov rax, qword [rsp + 0xa0]
mov r9d, dword [rax + 0x18]
mov rdi, qword [rax]
mov rsi, qword [rax + 8]
movzx ecx, byte [r11]
ror r10w, cl
mov qword [rsp + 0x58], rdi
mov eax, edi
sub eax, esi
movzx r10d, r10w
xor ebp, ebp
nop dword [rax]
tzcnt r11, r10
add r11d, ecx
and r11d, 0xf
je 0x1400e7f69
mov r11d, dword [rdx + r11*4]
cmp r11d, r9d
jb 0x1400e7f76
prefetcht0 byte [rsi + r11]
mov dword [rsp + rbp*4 + 0xb0], r11d
inc rbp
dec ebx
lea r11, [r10 - 1]
and r10, r11
je 0x1400e7f76
test ebx, ebx
jne 0x1400e7f40
test rbp, rbp
je 0x1400e8013
mov rbx, r8
lea r12, [r13 + 4]
mov r15d, dword [r13]
mov rcx, qword [rsp + 0x78]
add eax, ecx
add eax, 3
mov dword [rsp + 0x48], eax
xor edi, edi
jmp 0x1400e7fa8
inc rdi
cmp rbp, rdi
je 0x1400e8013
mov r13d, dword [rsp + rdi*4 + 0xb0]
cmp dword [rsi + r13], r15d
jne 0x1400e7fa0
lea rdx, [rsi + r13]
add rdx, 4
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x58]
call fcn.1400b81d0
add rax, 4
cmp rax, r14
jbe 0x1400e7fa0
add r13d, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x48]
sub ecx, r13d
mov rdx, qword [rsp + 0x90]
mov qword [rdx], rcx
mov rdx, qword [rsp + 0x50]
lea rcx, [rdx + rax]
cmp rcx, qword [rsp + 0x40]
je 0x1400e8010
mov r15d, dword [rdx]
mov r14, rax
jmp 0x1400e7fa0
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