Function at 0x1400569fe
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x30], rsp
mov eax, 0x40
call fcn.140074a70
sub rsp, rax
mov r13, rsp
mov r15, qword [rcx + 0x18]
movzx r8d, word [r15 + 0x3d2]
mov rax, qword [rcx + 0x28]
mov qword [rbp - 0x18], rax
movzx edx, word [rax + 0x3d2]
movabs rax, 0xfee6b4e627e79aa6
lea r12, [rax + 1]
xor r12, rax
mov qword [rbp - 0x10], r8
add r12, r8
mov qword [rbp], rdx
lea r8, [r12 + rdx]
movabs rax, 0x5d35074859baee31
lea rdx, [rax + 0xc]
xor rax, rdx
cmp r8, rax
jae 0x140056d5c
mov rdi, qword [rcx]
mov rax, qword [rcx + 8]
mov qword [rbp - 0x28], rax
movzx ebx, word [rdi + 0x3d2]
mov r14, qword [rcx + 0x10]
mov qword [rbp - 0x20], r8
mov word [r15 + 0x3d2], r8w
mov qword [rbp - 8], r14
imul rax, r14, 0x38
lea rcx, [rdi + rax]
add rcx, 0x168
mov rax, qword [rcx + 0x30]
mov qword [r13 + 0x30], rax
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [r13 + 0x20], xmm2
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movabs rax, 0x9ca4cfa1fd88d988
lea rsi, [rax + 1]
xor rsi, rax
add rsi, r14
imul rax, rsi, 0x38
lea rdx, [rdi + rax]
add rdx, 0x168
not r14
add r14, rbx
movabs rax, 0xf7205bd42ae2e0f
lea r8, [rax + 0x28]
xor r8, rax
imul r8, r14
sub rsp, 0x20
call fcn.140084cc0
add rsp, 0x20
imul rax, qword [rbp - 0x10], 0x38
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmmword [r15 + rax + 0x168], xmm0
movups xmmword [r15 + rax + 0x178], xmm1
movups xmmword [r15 + rax + 0x188], xmm2
mov rcx, qword [r13 + 0x30]
mov qword [r15 + rax + 0x198], rcx
mov rax, qword [rbp - 0x18]
lea rdx, [rax + 0x168]
imul rax, r12, 0x38
lea rcx, [r15 + rax]
add rcx, 0x168
movabs r8, 0xffcea03b20360108
lea rax, [r8 + 0x28]
xor r8, rax
imul r8, qword [rbp]
sub rsp, 0x20
call fcn.140084cc0
add rsp, 0x20
mov rax, qword [rbp - 8]
shl rax, 5
lea rcx, [rdi + rax]
movups xmm0, xmmword [rdi + rax]
movups xmm1, xmmword [rdi + rax + 0x10]
mov r13, qword [rbp - 0x30]
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm1
mov rdx, rsi
shl rdx, 5
add rdx, rdi
mov r8, r14
shl r8, 5
sub rsp, 0x20
call fcn.140084cc0
add rsp, 0x20
mov rax, qword [rbp - 0x10]
shl rax, 5
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r15 + rax], xmm0
movups xmmword [r15 + rax + 0x10], xmm1
mov rcx, r12
shl rcx, 5
add rcx, r15
mov r8, qword [rbp]
shl r8, 5
sub rsp, 0x20
mov r13, qword [rbp - 0x18]
mov rdx, r13
call fcn.140084cc0
add rsp, 0x20
lea rcx, [rdi + rsi*8]
add rcx, 0x3d8
movabs rax, 0x94d8fc0e05ae0c78
lea rdx, [rax + 2]
xor rdx, rax
add rdx, qword [rbp - 8]
lea rdx, [rdi + rdx*8]
add rdx, 0x3d8
shl r14, 3
sub rsp, 0x20
mov r8, r14
call fcn.140084cc0
add rsp, 0x20
cmp rsi, rbx
mov r9, qword [rbp]
jae 0x140056ca1
movabs rax, 0x5013c7db35ce2016
lea rcx, [rax + 1]
xor rcx, rax
add rcx, rsi
mov rdx, qword [rdi + rsi*8 + 0x3d8]
mov qword [rdx + 0x160], rdi
mov word [rdx + 0x3d0], si
mov rsi, rcx
cmp rcx, rbx
jne 0x140056c79
dec word [rdi + 0x3d2]
movabs rax, 0x1c4da90fd659e088
lea rcx, [rax + 1]
xor rcx, rax
mov rbx, qword [rbp - 0x28]
cmp rbx, rcx
jbe 0x140056d2b
movabs rsi, 0x1203b69f94cac81a
lea rcx, [r15 + r12*8]
mov edx, 0x3d8
add rcx, rdx
add rdx, r13
movabs rax, 0x863764a5468add70
lea r8, [rax + 8]
xor r8, rax
lea r8, [r8 + r9*8]
sub rsp, 0x20
call fcn.140084cc0
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
lea rax, [rsi + 1]
xor rax, rsi
mov rcx, qword [r15 + r12*8 + 0x3d8]
mov qword [rcx + 0x160], r15
mov word [rcx + 0x3d0], r12w
lea rcx, [r12 + rax]
cmp r12, rdx
mov r12, rcx
jne 0x140056d08
mov rcx, qword [0x1400a5b60]
sub rsp, 0x20
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
add rsp, 0x20
mov rax, rdi
mov rdx, rbx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2