Function at 0x140039880
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov qword [rsp + 0x38], r8
mov rax, qword [0x1400c3c40]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r12, qword [rcx]
mov r14, qword [rcx + 8]
mov rdi, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x18]
mov r11, qword [rcx + 0x20]
mov rax, qword [rcx + 0x28]
mov r15, qword [rcx + 0x30]
mov qword [rsp + 0x30], rcx
mov r8, qword [rcx + 0x38]
movups xmm0, xmmword [rdx + 0x70]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rdx + 0x60]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rdx + 0x50]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rdx + 0x40]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movaps xmmword [rsp + 0x70], xmm3
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
xor r13d, r13d
lea rcx, [0x14009bca0]
mov qword [rsp + 0x28], r12
mov rbx, r8
mov r8, r15
mov r15, rax
mov rax, r11
mov r11, rsi
mov rsi, rdi
mov rdi, r14
mov r14, rax
rol r14, 0x32
mov rbp, rax
rol rbp, 0x2e
xor rbp, r14
mov r14, rax
rol r14, 0x17
xor r14, rbp
mov r9, r15
and r9, rax
add r9, rbx
mov rbp, rax
not rbp
and rbp, r8
add rbp, r9
add rbp, r14
add rbp, qword [r13 + rcx]
add rbp, qword [rdx + r13]
mov r14, r12
mov r9, r12
rol r9, 0x24
mov rbx, r12
rol rbx, 0x1e
xor rbx, r9
mov r9, r12
rol r9, 0x19
xor r9, rbx
mov rbx, rsi
xor rbx, rdi
and rbx, r12
mov r12, rsi
and r12, rdi
xor r12, rbx
add r12, r9
add r11, rbp
add r12, rbp
add r13, 8
cmp r13, 0x80
jne 0x140039930
mov edx, 0x1e
mov r13, r8
mov r8, r15
mov r15, rax
mov rax, r11
mov r11, rsi
mov rsi, rdi
mov rdi, r14
mov r14, r12
lea r9d, [rdx - 0xd]
and r9d, 0xf
mov r12, qword [rsp + r9*8 + 0x40]
mov r9, r12
ror r9, 1
mov rbx, r12
rol rbx, 0x38
xor rbx, r9
shr r12, 7
xor r12, rbx
mov r9d, edx
and r9d, 0xf
mov rbp, qword [rsp + r9*8 + 0x40]
mov r9, rbp
rol r9, 0x2d
mov rbx, rbp
rol rbx, 3
xor rbx, r9
shr rbp, 6
mov r9, rax
rol r9, 0x32
xor rbp, rbx
mov r10, rax
rol r10, 0x2e
xor r10, r9
mov r9, rax
rol r9, 0x17
lea ebx, [rdx - 0xe]
xor r9, r10
mov r10, r15
and r10, rax
add r10, r13
mov r13, rax
not r13
and r13, r8
add r13, r10
add r13, r9
lea r9d, [rdx - 5]
and r9d, 0xf
and ebx, 0xf
add r12, qword [rsp + r9*8 + 0x40]
add r12, rbp
add r12, qword [rsp + rbx*8 + 0x40]
add r13, qword [rcx + rdx*8 - 0x70]
mov qword [rsp + rbx*8 + 0x40], r12
mov r9, r14
rol r9, 0x24
add r13, r12
mov r10, r14
rol r10, 0x1e
xor r10, r9
mov r9, r14
rol r9, 0x19
xor r9, r10
mov r10, rsi
xor r10, rdi
and r10, r14
mov r12, rsi
and r12, rdi
xor r12, r10
add r12, r9
add r11, r13
add r12, r13
inc rdx
cmp rdx, 0x5e
jne 0x1400399d0
add r12, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], r12
mov rdx, qword [rsp + 0x30]
add r14, qword [rdx + 8]
mov qword [rcx + 8], r14
add rdi, qword [rdx + 0x10]
mov qword [rcx + 0x10], rdi
add rsi, qword [rdx + 0x18]
mov qword [rcx + 0x18], rsi
add r11, qword [rdx + 0x20]
mov qword [rcx + 0x20], r11
add rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
add r15, qword [rdx + 0x30]
mov qword [rcx + 0x30], r15
add r8, qword [rdx + 0x38]
mov qword [rcx + 0x38], r8
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140043380
nop
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret