Function at 0x14048b600
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x318
lea rax, [rcx + 0x10]
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [rcx + 0x10]
movups xmm1, xmmword [rcx + 0x20]
movups xmm2, xmmword [rcx + 0x30]
mov qword [rsp + 0x38], rcx
movups xmm3, xmmword [rcx + 0x40]
movups xmmword [rsp + 0x308], xmm3
movups xmmword [rsp + 0x2f8], xmm2
movups xmmword [rsp + 0x2e8], xmm1
movups xmmword [rsp + 0x2d8], xmm0
xor eax, eax
movzx ecx, byte [rdx + rax*8]
shl rcx, 0x38
movzx ebp, byte [rdx + rax*8 + 1]
shl rbp, 0x30
or rbp, rcx
movzx ecx, byte [rdx + rax*8 + 2]
shl rcx, 0x28
or rcx, rbp
movzx ebp, byte [rdx + rax*8 + 3]
shl rbp, 0x20
or rbp, rcx
movzx ecx, byte [rdx + rax*8 + 4]
shl rcx, 0x18
or rcx, rbp
movzx ebp, byte [rdx + rax*8 + 5]
shl rbp, 0x10
or rbp, rcx
movzx ecx, byte [rdx + rax*8 + 6]
shl rcx, 8
or rcx, rbp
movzx ebp, byte [rdx + rax*8 + 7]
or rbp, rcx
mov qword [rsp + rax*8 + 0x58], rbp
inc rax
cmp rax, 0x10
jne 0x14048b653
mov eax, 0x10
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + rax*8 + 0x48]
mov rbp, rdx
rol rbp, 0x2d
mov r8, qword [rsp + rax*8 - 0x20]
mov rdi, rdx
rol rdi, 3
shr rdx, 6
xor rdx, rdi
xor rdx, rbp
mov rbx, r8
ror rbx, 1
mov rsi, r8
rol rsi, 0x38
mov rbp, r8
shr rbp, 7
xor rbp, rsi
xor rbp, rbx
add rcx, qword [rsp + rax*8 + 0x20]
add rcx, rdx
add rcx, rbp
mov qword [rsp + rax*8 + 0x58], rcx
inc rax
mov rcx, r8
cmp rax, 0x50
jne 0x14048b6c3
mov r13, qword [rsp + 0x2f8]
mov r12, qword [rsp + 0x308]
mov rbp, qword [rsp + 0x300]
mov r10, qword [rsp + 0x2d8]
mov r9, qword [rsp + 0x2e0]
mov r14, qword [rsp + 0x2e8]
xor eax, eax
mov r8, r13
rol r8, 0x32
mov rsi, r13
rol rsi, 0x2e
mov r11, r13
rol r11, 0x17
mov rdi, r12
xor rdi, rbp
and rdi, r13
xor rsi, r8
xor rdi, r12
add rdi, qword [rsp + 0x310]
xor r11, rsi
mov rcx, rax
lea rax, [0x140603d30]
add rdi, qword [rax + rcx*8]
mov rsi, r10
rol rsi, 0x24
lea rax, [rcx*8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x40], rcx
mov rax, r10
rol rax, 0x1e
mov rdx, r10
xor rax, rsi
rol rdx, 0x19
xor rdx, rax
mov rax, r10
add rdi, r11
and rax, r9
mov r8, r10
or r8, r9
add rdi, qword [rsp + rcx*8 + 0x58]
and r8, r14
or r8, rax
add r8, rdx
add r8, rdi
add rdi, qword [rsp + 0x2f0]
mov qword [rsp + 0x2f0], rdi
mov qword [rsp + 0x310], r8
mov r11, rdi
rol r11, 0x32
mov r15, rdi
mov rbx, r13
rol r15, 0x2e
mov rsi, rdi
xor rbx, rbp
mov rcx, qword [rsp + 0x28]
mov rax, rcx
or rax, 8
rol rsi, 0x17
lea rdx, [0x140603d30]
add r12, qword [rax + rdx]
add r12, qword [rsp + rax + 0x58]
and rbx, rdi
mov rax, r8
rol rax, 0x24
xor r15, r11
xor rbx, rbp
mov rdx, r8
rol rdx, 0x1e
xor rsi, r15
xor rdx, rax
mov rax, r8
rol rax, 0x19
add r12, rbx
xor rax, rdx
mov rdx, r8
and rdx, r10
mov r15, r8
or r15, r10
add r12, rsi
and r15, r9
or r15, rdx
add r15, rax
add r14, r12
mov qword [rsp + 0x2e8], r14
add r15, r12
mov r11, r14
rol r11, 0x32
mov qword [rsp + 0x308], r15
mov r12, r14
mov rbx, rdi
xor rbx, r13
mov rsi, rcx
rol r12, 0x2e
mov rax, r14
or rsi, 0x10
lea rdx, [0x140603d30]
add rbp, qword [rsi + rdx]
and rbx, r14
add rbp, qword [rsp + rsi + 0x58]
rol rax, 0x17
xor rbx, r13
mov rsi, r15
rol rsi, 0x24
mov rdx, r15
xor r12, r11
rol rdx, 0x1e
xor rdx, rsi
mov rsi, r15
xor rax, r12
rol rsi, 0x19
xor rsi, rdx
mov rdx, r15
add rbp, rbx
and rdx, r8
mov rbx, r15
or rbx, r8
and rbx, r10
add rbp, rax
or rbx, rdx
add rbx, rsi
add r9, rbp
mov qword [rsp + 0x2e0], r9
add rbx, rbp
mov qword [rsp + 0x300], rbx
mov r12, r9
mov rdx, r14
rol r12, 0x32
mov rbp, r9
xor rdx, rdi
or rcx, 0x18
rol rbp, 0x2e
mov r11, r9
lea rax, [0x140603d30]
add r13, qword [rcx + rax]
rol r11, 0x17
mov rax, rbx
rol rax, 0x24
add r13, qword [rsp + rcx + 0x58]
and rdx, r9
mov rsi, rbx
rol rsi, 0x1e
xor rbp, r12
xor rdx, rdi
mov rcx, rbx
rol rcx, 0x19
xor r11, rbp
xor rsi, rax
xor rcx, rsi
mov rsi, rbx
and rsi, r15
mov rax, rbx
add r13, rdx
or rax, r15
and rax, r8
or rax, rsi
add r13, r11
add rax, rcx
add r10, r13
add rax, r13
mov qword [rsp + 0x2d8], r10
mov qword [rsp + 0x2f8], rax
mov r11, r10
mov rdx, r10
mov r12, r10
mov rcx, r9
xor rcx, r14
mov rsi, qword [rsp + 0x28]
rol r12, 0x17
or rsi, 0x20
lea rbp, [0x140603d30]
add rdi, qword [rsi + rbp]
and rcx, r10
add rdi, qword [rsp + rsi + 0x58]
rol r11, 0x32
mov rsi, rax
rol rsi, 0x24
rol rdx, 0x2e
xor rcx, r14
mov rbp, rax
rol rbp, 0x1e
xor rdx, r11
xor rbp, rsi
mov rsi, rax
rol rsi, 0x19
xor r12, rdx
xor rsi, rbp
mov rdx, rax
and rdx, rbx
mov r13, rax
or r13, rbx
add rdi, rcx
and r13, r15
or r13, rdx
add r13, rsi
add rdi, r12
add r8, rdi
mov qword [rsp + 0x310], r8
add r13, rdi
mov qword [rsp + 0x2f0], r13
mov r11, r8
rol r11, 0x32
mov rdx, r8
mov rbp, r10
rol rdx, 0x2e
mov rdi, r8
xor rbp, r9
mov rsi, qword [rsp + 0x28]
or rsi, 0x28
rol rdi, 0x17
lea rcx, [0x140603d30]
add r14, qword [rsi + rcx]
add r14, qword [rsp + rsi + 0x58]
and rbp, r8
mov rsi, r13
rol rsi, 0x24
xor rdx, r11
xor rbp, r9
mov rcx, r13
rol rcx, 0x1e
xor rdi, rdx
xor rcx, rsi
mov rdx, r13
rol rdx, 0x19
add r14, rbp
xor rdx, rcx
mov rcx, r13
and rcx, rax
mov rbp, r13
or rbp, rax
add r14, rdi
and rbp, rbx
or rbp, rcx
add rbp, rdx
add r15, r14
mov qword [rsp + 0x308], r15
add r14, rbp
mov rbp, r8
xor rbp, r10
mov qword [rsp + 0x2e8], r14
mov rdi, r15
and rbp, r15
mov r11, r15
mov r12, r15
mov rcx, r15
mov rdx, qword [rsp + 0x28]
or rdx, 0x30
rol rcx, 0x32
lea rsi, [0x140603d30]
add r9, qword [rdx + rsi]
add r9, qword [rsp + rdx + 0x58]
rol r15, 0x2e
rol rdi, 0x17
xor r15, rcx
mov rcx, r14
rol rcx, 0x24
xor rdi, r15
xor rbp, r10
mov rdx, r14
rol rdx, 0x1e
add r9, rbp
mov rsi, r9
xor rdx, rcx
mov rcx, r14
rol rcx, 0x19
add rsi, rdi
xor rcx, rdx
mov rdx, r14
and rdx, r13
mov r9, r14
or r9, r13
and r9, rax
or r9, rdx
add r9, rcx
add rbx, rsi
mov qword [rsp + 0x300], rbx
mov rcx, rbx
mov rdi, rbx
xor r11, r8
and r11, rbx
mov rbp, rbx
rol rbx, 0x32
add r9, rsi
rol rcx, 0x2e
xor rcx, rbx
rol rdi, 0x17
xor r11, r8
mov qword [rsp + 0x2e0], r9
mov rdx, qword [rsp + 0x28]
or rdx, 0x38
lea rbx, [0x140603d30]
add r10, qword [rdx + rbx]
xor rdi, rcx
add r10, qword [rsp + rdx + 0x58]
mov rcx, r9
rol rcx, 0x24
mov rbx, r9
rol rbx, 0x1e
xor rbx, rcx
mov rcx, r9
add r10, r11
mov rdx, r10
rol rcx, 0x19
xor rcx, rbx
mov rbx, r9
add rdx, rdi
and rbx, r14
mov r10, r9
or r10, r14
and r10, r13
or r10, rbx
add r10, rcx
mov qword [rsp + 0x50], r10
add rax, rdx
mov qword [rsp + 0x2f8], rax
add r10, rdx
mov qword [rsp + 0x2d8], r10
mov rcx, qword [rsp + 0x40]
add rcx, 8
mov r13, rax
mov rax, rcx
cmp rcx, 0x50
jb 0x14048b74d
mov qword [rsp + 0x48], rdx
mov rax, qword [rsp + 0x30]
movdqu xmm0, xmmword [rax]
movq xmm1, r9
movq xmm2, r10
punpcklqdq xmm2, xmm1
paddq xmm2, xmm0
movdqu xmmword [rax], xmm2
xor eax, eax
mov rcx, qword [rsp + 0x38]
movdqu xmm0, xmmword [rsp + rax*8 + 0x2e8]
movdqu xmm1, xmmword [rcx + rax*8 + 0x20]
paddq xmm1, xmm0
movdqu xmmword [rcx + rax*8 + 0x20], xmm1
lea rax, [rax + 2]
cmp rax, 6
jne 0x14048bc0e
lea rcx, [rsp + 0x48]
mov edx, 0x2d0
call fcn.14048a010
xor eax, eax
add rsp, 0x318
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret