Function at 0x180326b20
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0xd8
call fcn.1802fb9b0
sub rsp, rax
mov rax, qword [0x1805c4898]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r12, qword [rsp + 0x140]
lea edi, [rdx - 1]
mov rax, qword [rsp + 0x130]
mov ebx, r9d
mov rsi, qword [rsp + 0x148]
mov r14, rcx
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x40], rax
test r12, r12
jne 0x180326b8a
call fcn.18031f7f0
mov r12, rax
test rsi, rsi
mov rcx, r12
cmove rsi, r12
mov qword [rsp + 0x50], rsi
call fcn.180320e80
movsxd rsi, eax
mov r15d, edi
lea eax, [rsi + rsi]
sub r15d, eax
lea ecx, [r15 - 1]
cmp ebx, ecx
jle 0x180326bdb
mov edx, 0xa0
mov dword [rsp + 0x20], 0x3a
lea r9, [0x1805d5cd8]
mov ecx, 4
lea r8d, [rdx - 0x32]
call fcn.180301550
xor eax, eax
jmp 0x180326f69
inc eax
cmp edi, eax
jge 0x180326c0a
mov edx, 0xa0
mov dword [rsp + 0x20], 0x40
lea r9, [0x1805d5cf0]
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.180301550
xor eax, eax
jmp 0x180326f69
movsxd rdx, dword [rsp + 0x138]
lea rax, [rsi + r14]
mov rcx, qword [rsp + 0x40]
mov rbx, rsi
mov qword [rsp + 0xd0], rbp
xor r9d, r9d
mov byte [r14], 0
lea rbp, [r14 + 1]
mov qword [rsp + 0xc8], r13
xor r14d, r14d
lea r13, [rax + 1]
mov qword [rsp + 0x28], r14
mov r8, r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x30], rax
call fcn.18033e4b0
test eax, eax
je 0x180326f57
movsxd r12, dword [rsp + 0x38]
xor edx, edx
sub r15d, r12d
dec r15d
movsxd r8, r15d
mov r15, qword [rsp + 0x30]
lea rcx, [r15 + 1]
add rcx, rbx
call fcn.180378170
mov rdx, qword [rsp + 0x48]
mov eax, edi
sub eax, r12d
movsxd rcx, edi
sub rcx, r12
mov r8d, r12d
sub rcx, rbx
sub eax, esi
cdqe
inc rcx
add rcx, r15
mov byte [rax + r15], 1
call fcn.180377ac0
mov edx, esi
mov rcx, rbp
call fcn.18030e750
test eax, eax
jle 0x180326f57
sub edi, esi
lea r8d, [r14 + 0x55]
mov ecx, edi
lea rdx, [0x1805d5d08]
call fcn.180300c40
mov r15, rax
test rax, rax
jne 0x180326d02
lea r9, [0x1805d5d20]
mov dword [rsp + 0x20], 0x57
mov edx, 0xa0
lea ecx, [rax + 4]
lea r8d, [r14 + 0x41]
call fcn.180301550
jmp 0x180326f57
mov r12, qword [rsp + 0x50]
mov r9d, esi
mov r8, rbp
mov qword [rsp + 0x20], r12
mov edx, edi
mov rcx, r15
call fcn.180326910
test eax, eax
js 0x180326f4f
mov r9d, r14d
test edi, edi
jle 0x180326de1
cmp edi, 0x40
jb 0x180326de1
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + r15]
lea rdx, [rcx + r13]
cmp r13, rax
ja 0x180326d54
cmp rdx, r15
jae 0x180326de1
mov ecx, edi
and ecx, 0x8000003f
jge 0x180326d65
dec ecx
or ecx, 0xffffffc0
inc ecx
mov r8, qword [rsp + 0x30]
mov eax, edi
sub eax, ecx
mov r10, r8
mov rdx, r15
movsxd r11, eax
sub rdx, r13
not r10
mov rcx, r13
movdqu xmm0, xmmword [rcx]
add r9d, 0x40
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
lea rax, [rcx + r10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [rdx + rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rdx + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [rcx + rdx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r11
jl 0x180326d80
jmp 0x180326de6
mov r8, qword [rsp + 0x30]
movsxd rax, r9d
movsxd rdx, edi
cmp rax, rdx
jge 0x180326e12
lea rcx, [r8 + 1]
mov r9, r15
add rcx, rax
sub r9, r13
sub rdx, rax
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180326e01
mov r9d, edi
mov qword [rsp + 0x20], r12
mov r8, r13
lea rcx, [rsp + 0x70]
mov edx, esi
call fcn.180326910
test eax, eax
js 0x180326f4f
test esi, esi
jle 0x180326f17
cmp esi, 0x40
jb 0x180326f17
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x70]
add rax, rcx
lea rdx, [rcx + rbp]
cmp rbp, rax
ja 0x180326e67
lea rax, [rsp + 0x70]
cmp rdx, rax
jae 0x180326f17
mov eax, esi
and eax, 0x8000003f
jge 0x180326e77
dec eax
or eax, 0xffffffc0
inc eax
mov rbx, qword [rsp + 0x58]
lea rdx, [rsp + 0x70]
sub esi, eax
lea r8, [rsp + 0x80]
lea r9, [rsp + 0x90]
movsxd r11, esi
sub rdx, rbp
lea r10, [rsp + 0xa0]
sub r8, rbp
sub r9, rbp
sub r10, rbp
mov rcx, rbp
not rbx
movdqu xmm0, xmmword [rcx]
add r14d, 0x40
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
lea rax, [rbx + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [r8 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [r9 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [r10 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r11
jl 0x180326eb0
mov rbx, qword [rsp + 0x60]
movsxd rcx, r14d
cmp rcx, rbx
jge 0x180326f40
lea rdx, [rsp + 0x70]
sub rdx, rbp
lea rax, [rcx + rbp]
sub rbx, rcx
nop
movzx ecx, byte [rax + rdx]
xor byte [rax], cl
lea rax, [rax + 1]
sub rbx, 1
jne 0x180326f30
mov rcx, r15
call fcn.180300cf0
mov eax, 1
jmp 0x180326f59
mov rcx, r15
call fcn.180300cf0
xor eax, eax
mov rbp, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1803026c0
add rsp, 0xd8
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret