Function at 0x180179130
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc8
mov rdi, r8
mov qword [rbp - 0x51], r8
mov rsi, rdx
mov qword [rbp - 0x29], rdx
xor r15d, r15d
mov r8, qword [r8]
mov rax, qword [rdi + 8]
sub rax, r8
sar rax, 2
test rax, rax
jne 0x180179224
mov rdx, qword [rdx + 0x18]
cmp rdx, 0xf
jbe 0x1801791b9
inc rdx
cmp rdx, 0x1000
mov rcx, qword [rsi]
jb 0x1801791b4
mov r8, qword [rcx - 8]
sub rcx, r8
add rdx, 0x27
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180179514
mov rcx, r8
call fcn.180182790
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rcx, qword [rdi]
test rcx, rcx
je 0x180179210
mov rdx, qword [rdi + 0x10]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x180179200
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18017951a
mov rcx, r8
call fcn.180182790
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, rsi
cmp qword [rdx + 0x18], 0xf
jbe 0x180179231
mov rcx, qword [rdx]
mov edx, 0x84222325
mov dword [rbp - 0x79], edx
movzx eax, byte [rcx]
test al, al
je 0x180179259
movsx eax, al
xor eax, edx
imul edx, eax, 0x1b3
lea rcx, [rcx + 1]
movzx eax, byte [rcx]
test al, al
jne 0x180179240
mov dword [rbp - 0x79], edx
mov r8d, dword [r8]
lea r10, [rbp + 0x14]
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x180179260
lea r9, [rbp + 0x7f]
lea r8, [rbp + 0x14]
mov rdx, r10
lea rcx, [rbp - 0x71]
call fcn.1800dabb0
nop
mov rbx, qword [rdi]
add rbx, 4
cmp rbx, qword [rdi + 8]
je 0x1801794a7
movzx edi, byte [rbp + 0x77]
movzx esi, byte [rbp + 0x77]
movabs r12, 0x3b3b3b3b3b3b3b3b
mov ecx, dword [rbx]
lea r10, [rbp - 0xc]
nop dword [rax + rax]
dec r10
mov eax, 0xcccccccd
mul ecx
shr edx, 3
movzx eax, dl
shl al, 2
lea r8d, [rax + rdx]
add r8b, r8b
sub cl, r8b
add cl, 0x30
mov byte [r10], cl
mov ecx, edx
test edx, edx
jne 0x1801792d0
lea r9, [rbp + 0x7f]
lea r8, [rbp - 0xc]
mov rdx, r10
lea rcx, [rbp - 0x49]
call fcn.1800dabb0
nop
mov rcx, qword [rbp - 0x31]
mov rax, rcx
mov r8, qword [rbp - 0x39]
sub rax, r8
cmp rax, 1
jb 0x18017934b
inc r8
mov qword [rbp - 0x39], r8
lea r14, [rbp - 0x49]
cmp rcx, 0xf
cmova r14, qword [rbp - 0x49]
lea rcx, [r14 + 1]
mov rdx, r14
call fcn.180184e40
mov byte [r14], r12b
lea rax, [rbp - 0x49]
jmp 0x18017936d
mov byte [rsp + 0x28], 0x3b
mov qword [rsp + 0x20], 1
xor r9d, r9d
movzx r8d, dil
lea edx, [r9 + 1]
lea rcx, [rbp - 0x49]
call fcn.1801779d0
vmovups ymm1, ymmword [rax]
vmovups ymmword [rbp - 0x21], ymm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r9, [rbp - 0x21]
vmovq r15, xmm1
vextractf128 xmm0, ymm1, 1
vpextrq r13, xmm0, 1
cmp r13, 0xf
cmova r9, r15
mov rcx, qword [rbp - 0x61]
mov qword [rbp + 0x7f], rcx
mov rdx, qword [rbp - 0x59]
mov rax, rdx
sub rax, rcx
vextractf128 xmm0, ymm1, 1
vmovq r12, xmm0
cmp r12, rax
ja 0x1801793f8
lea rax, [rcx + r12]
mov qword [rbp - 0x61], rax
lea r14, [rbp - 0x71]
cmp rdx, 0xf
cmova r14, qword [rbp - 0x71]
add rcx, r14
mov r8, r12
mov rdx, r9
vzeroupper
call fcn.180184e40
lea rax, [r12 + r14]
mov rcx, qword [rbp + 0x7f]
mov byte [rax + rcx], 0
jmp 0x180179418
mov qword [rsp + 0x20], r12
movzx r8d, sil
mov rdx, r12
lea rcx, [rbp - 0x71]
vzeroupper
call fcn.1800ded00
mov r13, qword [rbp - 9]
mov r15, qword [rbp - 0x21]
cmp r13, 0xf
jbe 0x180179450
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x180179447
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180179526
mov rcx, r15
call fcn.180182790
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 0xf
jbe 0x18017948b
inc rdx
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180179486
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18017952c
call fcn.180182790
add rbx, 4
mov rax, qword [rbp - 0x51]
xor r15d, r15d
cmp rbx, qword [rax + 8]
jne 0x1801792b8
mov rdi, rax
mov rsi, qword [rbp - 0x29]
lea rdx, [rbp - 0x71]
lea rcx, [rbp - 0x49]
call fcn.1800e2dc0
mov r8, rax
mov edx, dword [rbp - 0x79]
mov rcx, qword [rbp + 0x67]
call fcn.18017a9c0
nop
mov rdx, qword [rbp - 0x59]
cmp rdx, 0xf
jbe 0x1801794fb
inc rdx
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801794f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180179520
call fcn.180182790
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], 0xf
mov byte [rbp - 0x71], 0
mov rdx, qword [rsi + 0x18]
jmp 0x180179183
call fcn.1800e6e30
nop
call fcn.1800e6e30
nop
call fcn.1800e6e30
nop
call fcn.1800e6e30
nop
call fcn.1800e6e30
int3