Function at 0x1800365d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push r13
lea rbp, [rsp - 0x3f]
sub rsp, 0x98
mov rbx, qword [rcx]
mov rsi, rdx
mov r13, qword [rcx + 8]
cmp dword [rbx + 0x8c], 0
jne 0x180036686
movdqa xmm0, xmmword [0x1800bbf90]
xor ebx, ebx
movdqa xmm1, xmmword [0x1800bbbe0]
mov ecx, ebx
movdqu xmmword [rbp - 0x19], xmm0
mov word [rbp + 7], 0x39
movdqu xmmword [rbp - 9], xmm1
movzx eax, cl
add al, byte [rbp - 0x19]
xor byte [rbp + rcx - 0x18], al
inc rcx
cmp rcx, 0x20
jb 0x180036621
mov byte [rbp + 8], bl
lea rax, [rbp - 0x18]
mov qword [rbp - 0x29], rbx
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x21], 0xf
mov byte [rbp - 0x39], bl
inc r8
cmp byte [rax + r8], bl
jne 0x180036651
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x39]
call fcn.18000b0f0
lea rdx, [rbp - 0x39]
call fcn.18000a540
mov ecx, 0x7f
call rax
xor eax, eax
add rsp, 0x98
pop r13
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0x90], r12
lea r12, [0x1800a7d98]
movaps xmmword [rsp + 0x70], xmm6
mov rcx, r12
movsd xmm6, qword [0x1800ba7b8]
movaps xmm1, xmm6
movq rdx, xmm6
call fcn.18000ba10
mov edi, dword [rbx + 0x88]
add rdi, r13
cmp dword [rdi + 0x18], 0
je 0x180036933
cmp dword [rdi + 0x14], 0
je 0x180036933
mov qword [rsp + 0x88], r14
movaps xmm1, xmm6
movq rdx, xmm6
mov qword [rsp + 0x80], r15
mov rcx, r12
call fcn.18000ba10
mov rax, rsi
xor ebx, ebx
shr rax, 0x10
test ax, ax
jne 0x18003677b
movzx esi, si
cmp esi, dword [rdi + 0x10]
jae 0x180036763
movdqa xmm0, xmmword [0x1800bb3a0]
movdqa xmm1, xmmword [0x1800bb400]
movdqu xmmword [rbp - 0x19], xmm0
mov word [rbp + 7], 0x42
movdqu xmmword [rbp - 9], xmm1
nop dword [rax]
movzx eax, byte [rbp - 0x19]
xor byte [rbp + rbx - 0x18], al
movzx eax, byte [rbp - 0x19]
xor byte [rbp + rbx - 0x17], al
add rbx, 2
cmp rbx, 0x20
jb 0x180036730
lea rdx, [rbp - 0x18]
mov byte [rbp + 8], 0
lea rcx, [rbp - 0x39]
call fcn.18000a950
mov rdx, rax
jmp 0x18003684e
movaps xmm1, xmm6
movq rdx, xmm6
mov rcx, r12
call fcn.18000ba10
sub esi, dword [rdi + 0x10]
jmp 0x1800368a2
mov r14d, dword [rdi + 0x20]
mov esi, ebx
mov r15d, dword [rdi + 0x24]
add r14, r13
add r15, r13
cmp dword [rdi + 0x18], ebx
jbe 0x1800367c6
movaps xmm1, xmm6
movq rdx, xmm6
mov rcx, r12
call fcn.18000ba10
mov edx, dword [r14]
mov rcx, qword [rbp + 0x6f]
add rdx, r13
call fcn.180068698
test eax, eax
je 0x18003688e
inc esi
add r14, 4
add r15, 2
cmp esi, dword [rdi + 0x18]
jb 0x180036790
movaps xmm1, xmm6
movq rdx, xmm6
mov rcx, r12
call fcn.18000ba10
movdqa xmm1, xmmword [0x1800bbb20]
mov rax, rbx
movdqa xmm0, xmmword [0x1800bb2f0]
movdqu xmmword [rbp - 9], xmm1
mov byte [rbp + 7], bl
movdqa xmm1, xmmword [0x1800bac20]
movdqu xmmword [rbp - 0x19], xmm0
nop
movdqu xmm0, xmmword [rbp + rax - 0x19]
psubb xmm0, xmm1
movdqu xmmword [rbp + rax - 0x19], xmm0
add rax, 0x10
cmp rax, 0x20
jb 0x180036800
mov qword [rbp - 0x29], rbx
lea rax, [rbp - 0x19]
mov qword [rbp - 0x21], 0xf
mov r8, 0xffffffffffffffff
mov byte [rbp - 0x39], bl
inc r8
cmp byte [rax + r8], bl
jne 0x180036834
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x39]
call fcn.18000b0f0
lea rdx, [rbp - 0x39]
call fcn.18000a540
mov ecx, 0x7f
call rax
xor eax, eax
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x98
pop r13
pop rsi
pop rbx
pop rbp
ret
movzx esi, word [r15]
movaps xmm1, xmm6
movq rdx, xmm6
mov rcx, r12
call fcn.18000ba10
cmp esi, dword [rdi + 0x14]
jbe 0x180036912
movdqa xmm1, xmmword [0x1800bbbb0]
mov rax, rbx
movdqa xmm0, xmmword [0x1800bb380]
movdqu xmmword [rbp - 9], xmm1
mov byte [rbp + 7], bl
movdqa xmm1, xmmword [0x1800bac50]
movdqu xmmword [rbp - 0x19], xmm0
nop
movdqu xmm0, xmmword [rbp + rax - 0x19]
psubb xmm0, xmm1
movdqu xmmword [rbp + rax - 0x19], xmm0
add rax, 0x10
cmp rax, 0x20
jb 0x1800368d0
mov qword [rbp - 0x29], rbx
lea rax, [rbp - 0x19]
mov qword [rbp - 0x21], 0xf
mov r8, 0xffffffffffffffff
mov byte [rbp - 0x39], bl
inc r8
cmp byte [rax + r8], bl
jne 0x180036904
jmp 0x18003683d
movaps xmm1, xmm6
movq rdx, xmm6
mov rcx, r12
call fcn.18000ba10
mov eax, dword [rdi + 0x1c]
add rax, r13
mov eax, dword [rax + rsi*4]
add rax, r13
jmp 0x18003685c
movdqa xmm0, xmmword [0x1800bc590]
xor ebx, ebx
movdqa xmm1, xmmword [0x1800bc180]
mov ecx, ebx
movdqu xmmword [rbp - 0x19], xmm0
mov word [rbp + 7], 0x1f
movdqu xmmword [rbp - 9], xmm1
nop word [rax + rax]
movzx eax, cl
add al, byte [rbp - 0x19]
xor byte [rbp + rcx - 0x18], al
inc rcx
cmp rcx, 0x20
jb 0x180036960
mov byte [rbp + 8], bl
lea rax, [rbp - 0x18]
mov qword [rbp - 0x29], rbx
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x21], 0xf
mov byte [rbp - 0x39], bl
inc r8
cmp byte [rax + r8], bl
jne 0x180036990
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x39]
call fcn.18000b0f0
lea rdx, [rbp - 0x39]
call fcn.18000a540
mov ecx, 0x7f
call rax
xor eax, eax
jmp 0x18003686c