Function at 0x1400da410
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x48], r8
mov rax, rcx
mov rcx, qword [0x14018e218]
xor rcx, rsp
mov qword [rsp + 0x170], rcx
mov rbp, qword [rax + 8]
mov rsi, rdx
sub rsi, rbp
movzx ecx, byte [rax + 0x100]
mov r8d, 1
shl r8d, cl
mov ecx, dword [rax + 0x1c]
mov r10d, esi
sub r10d, ecx
mov r9d, esi
sub r9d, r8d
cmp r10d, r8d
cmovbe r9d, ecx
mov r12, qword [rax + 0x70]
mov r13, qword [rax + 0x38]
cmp dword [rax + 0x28], 0
mov edi, 1
cmovne r9d, ecx
mov r8d, dword [rax + 0x10c]
cmp r8d, 5
mov ecx, 5
cmovb ecx, r8d
shl edi, cl
mov r8d, dword [rax + 0x34]
mov r11, qword [rax + 0x60]
cmp dword [rax + 0x12c], 0
je 0x1400da4cf
movabs r14, 0xcf1bbcdcbb000000
imul r14, qword [rdx]
xor r14, r11
mov cl, 0x38
sub cl, r8b
shr r14, cl
mov dword [rax + 0x2c], esi
jmp 0x1400da8b3
movabs r15, 0xcf1bbcdcbb000000
mov r10d, dword [rax + 0x2c]
mov ecx, esi
sub ecx, r10d
cmp ecx, 0x181
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x24], r9d
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x34], r8d
mov qword [rsp + 0x58], r11
jb 0x1400da704
mov r14, r13
mov rbx, r12
cmp r10d, 0xffffff9f
ja 0x1400da5df
lea r11, [r10 + 0x60]
mov ecx, 0x38
sub ecx, dword [rsp + 0x34]
mov r15, qword [rsp + 0x38]
nop dword [rax]
mov r14, qword [rbp + r10 + 8]
movabs r8, 0xcf1bbcdcbb000000
imul r14, r8
xor r14, qword [rax + 0x60]
shr r14, cl
mov r13, r14
shr r13, 3
and r13d, 0x1fffffe0
prefetcht0 byte [r12 + r13*4]
prefetcht0 byte [r12 + r13*4 + 0x40]
prefetcht0 byte [r15 + r13]
mov r13d, r10d
and r13d, 7
mov r9, rbp
mov ebp, dword [rax + r13*4 + 0x40]
mov dword [rax + r13*4 + 0x40], r14d
mov r14, rbp
shr r14, 3
and r14d, 0x1fffffe0
lea r13, [r12 + r14*4]
movzx ebx, byte [r15 + r14]
dec bl
and bl, 0x1f
mov r8d, 0
mov esi, 0x1f
cmove r8d, esi
lea rsi, [r15 + r14]
movzx ebx, bl
add rbx, r8
mov byte [r15 + r14], bl
mov byte [rsi + rbx], bpl
mov rbp, r9
mov dword [r13 + rbx*4], r10d
inc r10
cmp r11, r10
jne 0x1400da530
mov r14, qword [rax + 0x38]
mov rbx, qword [rax + 0x70]
mov rsi, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x24]
lea r10d, [rsi - 0x20]
lea rcx, [rdx + 1]
lea r8, [r10 + rbp]
mov r11d, ecx
sub r11d, r8d
inc r11d
cmp r11d, 8
mov esi, 8
cmovb esi, r11d
xor r11d, r11d
cmp r8, rcx
cmovbe r11d, esi
mov rsi, qword [rsp + 0x28]
lea r13d, [r11 + rsi]
add r13d, 0xffffffe0
cmp r13d, r10d
jbe 0x1400da84d
mov qword [rsp + 0x40], r12
mov r9, rbp
mov r11, qword [rax + 0x60]
mov ecx, 0x38
sub ecx, dword [rax + 0x34]
mov r12d, r13d
sub r13d, r10d
mov rbp, r10
not rbp
test r13b, 1
jne 0x1400da7f0
mov r13, r10
add rbp, r12
je 0x1400da840
movabs r15, 0xcf1bbcdcbb000000
nop word cs:[rax + rax]
mov r8, qword [r9 + r13]
imul r8, r15
xor r8, r11
shr r8, cl
mov rsi, r8
shr rsi, 3
and esi, 0x1fffffe0
prefetcht0 byte [rbx + rsi*4]
prefetcht0 byte [rbx + rsi*4 + 0x40]
prefetcht0 byte [r14 + rsi]
mov esi, r13d
and esi, 7
mov dword [rax + rsi*4 + 0x40], r8d
mov r8, qword [r9 + r13 + 1]
imul r8, r15
xor r8, r11
shr r8, cl
lea esi, [r13 + 1]
mov rbp, r8
shr rbp, 3
and ebp, 0x1fffffe0
prefetcht0 byte [rbx + rbp*4]
prefetcht0 byte [rbx + rbp*4 + 0x40]
prefetcht0 byte [r14 + rbp]
and esi, 7
mov dword [rax + rsi*4 + 0x40], r8d
add r13, 2
cmp r12, r13
jne 0x1400da670
mov rbp, r9
mov rsi, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x24]
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
cmp r10d, esi
jb 0x1400da713
jmp 0x1400da865
mov r14, r13
mov rbx, r12
cmp r10d, esi
jae 0x1400da865
mov dword [rsp + 0x54], edi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x60], rbp
mov ecx, 0x38
sub ecx, dword [rax + 0x34]
mov r13, qword [rax + 8]
mov r9d, r10d
mov r11d, esi
nop word cs:[rax + rax]
mov r8, qword [r13 + r9 + 8]
imul r8, r15
xor r8, qword [rax + 0x60]
shr r8, cl
mov rsi, r8
shr rsi, 3
and esi, 0x1fffffe0
prefetcht0 byte [rbx + rsi*4]
prefetcht0 byte [rbx + rsi*4 + 0x40]
prefetcht0 byte [r14 + rsi]
mov esi, r9d
and esi, 7
mov ebp, dword [rax + rsi*4 + 0x40]
mov dword [rax + rsi*4 + 0x40], r8d
mov r8, rbp
shr r8, 3
and r8d, 0x1fffffe0
lea rsi, [rbx + r8*4]
mov rdi, r15
movzx r15d, byte [r14 + r8]
dec r15b
and r15b, 0x1f
mov r12d, 0
mov r10d, 0x1f
cmove r12d, r10d
lea r10, [r14 + r8]
movzx r15d, r15b
add r15, r12
mov byte [r14 + r8], r15b
mov byte [r10 + r15], bpl
mov dword [rsi + r15*4], r9d
mov r15, rdi
inc r9
cmp r11, r9
jne 0x1400da740
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x24]
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
mov edi, dword [rsp + 0x54]
jmp 0x1400da868
mov r8, qword [r9 + r10]
movabs rsi, 0xcf1bbcdcbb000000
imul r8, rsi
xor r8, r11
shr r8, cl
mov rsi, r8
shr rsi, 3
and esi, 0x1fffffe0
prefetcht0 byte [rbx + rsi*4]
prefetcht0 byte [rbx + rsi*4 + 0x40]
prefetcht0 byte [r14 + rsi]
mov esi, r10d
and esi, 7
mov dword [rax + rsi*4 + 0x40], r8d
mov rsi, qword [rsp + 0x28]
lea r13, [r10 + 1]
add rbp, r12
jne 0x1400da657
mov rbp, r9
mov r9d, dword [rsp + 0x24]
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
movabs r15, 0xcf1bbcdcbb000000
cmp r10d, esi
jb 0x1400da713
mov r11d, esi
mov r8d, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x58]
mov dword [rax + 0x2c], esi
imul r15, qword [rbp + r11 + 8]
xor r15, rcx
mov cl, 0x38
sub cl, r8b
shr r15, cl
mov rcx, r15
shr rcx, 3
and ecx, 0x1fffffe0
prefetcht0 byte [r12 + rcx*4]
prefetcht0 byte [r12 + rcx*4 + 0x40]
prefetcht0 byte [r13 + rcx]
mov ecx, esi
and ecx, 7
mov r14d, dword [rax + rcx*4 + 0x40]
mov dword [rax + rcx*4 + 0x40], r15d
add dword [rax + 0x68], r14d
mov r8d, r14d
shr r8d, 3
and r8d, 0xffffffe0
lea r15, [r8 + r13]
movzx ecx, byte [r13 + r8]
movd xmm0, r14d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [r13 + r8]
movdqu xmm2, xmmword [r13 + r8 + 0x10]
pcmpeqb xmm1, xmm0
pmovmskb r10d, xmm1
pcmpeqb xmm2, xmm0
pmovmskb r13d, xmm2
lea r11, [r12 + r8*4]
shl r13d, 0x10
xor r12d, r12d
or r13d, r10d
je 0x1400da956
ror r13d, cl
xor ebx, ebx
nop word cs:[rax + rax]
tzcnt r8, r13
add r8d, ecx
and r8d, 0x1f
je 0x1400da947
mov r8d, dword [r11 + r8*4]
cmp r8d, r9d
jb 0x1400da958
prefetcht0 byte [rbp + r8]
mov dword [rsp + rbx*4 + 0x70], r8d
inc rbx
dec edi
lea r8, [r13 - 1]
and r13, r8
je 0x1400da958
test edi, edi
jne 0x1400da920
jmp 0x1400da958
xor ebx, ebx
dec ecx
and ecx, 0x1f
mov r8d, 0x1f
cmove r12d, r8d
add r12, rcx
mov byte [r15], r12b
mov byte [r15 + r12], r14b
mov ecx, dword [rax + 0x2c]
lea r8d, [rcx + 1]
mov dword [rax + 0x2c], r8d
mov dword [r11 + r12*4], ecx
test rbx, rbx
je 0x1400daac9
mov r15, qword [rsp + 0x48]
lea rax, [r15 - 7]
lea rcx, [r15 - 3]
lea rdi, [r15 - 1]
lea r9d, [rsi + 3]
lea r14, [rdx + 8]
mov r11, rbp
lea r8, [rbp + 8]
mov qword [rsp + 0x28], r8
mov r13d, 3
xor r12d, r12d
jmp 0x1400da9cf
inc r12
mov rsi, r13
cmp r12, rbx
je 0x1400daace
mov ebp, dword [rsp + r12*4 + 0x70]
lea r10, [r11 + rbp]
mov r8d, dword [r13 + r10 - 3]
cmp r8d, dword [rdx + r13 - 3]
jne 0x1400da9c0
cmp rax, rdx
jbe 0x1400daa00
mov r8, qword [rdx]
xor r8, qword [r10]
je 0x1400daa1a
tzcnt rsi, r8
shr rsi, 3
jmp 0x1400daaa0
mov rsi, rdx
cmp rsi, rcx
jae 0x1400daa70
mov r8d, dword [r10]
cmp r8d, dword [rsi]
jne 0x1400daa70
add rsi, 4
add r10, 4
jmp 0x1400daa70
mov r8, qword [rsp + 0x28]
lea r10, [r8 + rbp]
xor r8d, r8d
nop word cs:[rax + rax]
lea rsi, [r14 + r8]
cmp rsi, rax
jae 0x1400daa5c
mov rsi, qword [rsi]
lea r15, [r8 + 8]
xor rsi, qword [r10 + r8]
mov r8, r15
je 0x1400daa30
tzcnt rsi, rsi
shr rsi, 3
add rsi, r15
mov r15, qword [rsp + 0x48]
jmp 0x1400daaa0
add r10, r8
mov r15, qword [rsp + 0x48]
cmp rsi, rcx
jb 0x1400daa08
nop dword [rax]
cmp rsi, rdi
jae 0x1400daa87
movzx r8d, word [r10]
cmp r8w, word [rsi]
jne 0x1400daa87
add rsi, 2
add r10, 2
cmp rsi, r15
jae 0x1400daa9d
movzx r8d, byte [r10]
xor r10d, r10d
cmp r8b, byte [rsi]
sete r10b
add rsi, r10
sub rsi, rdx
cmp rsi, r13
jbe 0x1400da9c0
mov r8d, r9d
sub r8d, ebp
mov r10, qword [rsp + 0x68]
mov qword [r10], r8
lea r8, [rdx + rsi]
mov r13, rsi
cmp r8, r15
jne 0x1400da9c0
jmp 0x1400daace
mov esi, 3
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.14011fde0
mov rax, rsi
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret