Function at 0x140007008
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov rax, qword [0x14005bec0]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, rcx
mov qword [rbp - 0x61], rcx
lea rcx, [rbp - 0x19]
mov r8d, 0x40
call fcn.140045040
mov rax, qword [rbx + 0xf8]
lea r9, [0x140048b70]
mov r8, qword [rbx + 0x100]
xor ecx, ecx
mov edx, ecx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [0x140048b70]
movups xmmword [rbp - 0x49], xmm1
movups xmmword [rbp - 0x39], xmm0
mov eax, dword [rdx + r9 + 0x10]
xor eax, dword [rdx + r8]
mov dword [rbp + rdx - 0x29], eax
add rdx, 4
cmp rdx, 8
jl 0x140007082
mov rdx, qword [rbx + 0x108]
mov eax, dword [rdx + rcx]
xor eax, dword [rcx + r9 + 0x18]
mov dword [rbp + rcx - 0x21], eax
add rcx, 4
cmp rcx, 8
jl 0x1400070a0
mov r14d, dword [rbp - 0x1d]
lea r11, [0x140048ad1]
mov r13d, dword [rbp - 0x21]
mov r15d, dword [rbp - 0x25]
mov r12d, dword [rbp - 0x29]
mov ebx, dword [rbp - 0x3d]
mov r10d, dword [rbp - 0x41]
mov edi, dword [rbp - 0x45]
mov esi, dword [rbp - 0x49]
mov qword [rsp + 0x28], r11
mov qword [rbp - 0x69], 0xa
movzx eax, byte [r11 - 1]
mov ecx, dword [rbp - 0x39]
mov edx, dword [rbp + rax*4 - 0x19]
add edx, esi
add edx, dword [rbp - 0x59]
mov eax, edx
mov r9d, edx
xor eax, r12d
xor r9d, r12d
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
add ecx, r9d
mov eax, ecx
mov r8d, ecx
xor eax, esi
xor r8d, esi
shl eax, 0x14
shr r8d, 0xc
or r8d, eax
movzx eax, byte [r11]
mov r12d, dword [rbp + rax*4 - 0x19]
mov eax, r9d
add r12d, edx
add r12d, r8d
xor eax, r12d
xor r9d, r12d
shl eax, 0x18
shr r9d, 8
or eax, r9d
mov dword [rsp + 0x20], eax
add eax, ecx
mov ecx, eax
mov dword [rsp + 0x34], eax
xor eax, r8d
xor ecx, r8d
shr eax, 7
shl ecx, 0x19
or ecx, eax
movzx eax, byte [r11 + 1]
mov dword [rbp - 0x7d], ecx
mov ecx, dword [rbp - 0x35]
mov edx, dword [rbp + rax*4 - 0x19]
add edx, edi
add edx, dword [rbp - 0x55]
mov eax, edx
mov r9d, edx
xor eax, r15d
xor r9d, r15d
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
add ecx, r9d
mov eax, ecx
mov r8d, ecx
xor eax, edi
xor r8d, edi
shl eax, 0x14
shr r8d, 0xc
or r8d, eax
movzx eax, byte [r11 + 2]
mov r15d, dword [rbp + rax*4 - 0x19]
mov eax, r9d
add r15d, edx
add r15d, r8d
xor eax, r15d
xor r9d, r15d
shl eax, 0x18
shr r9d, 8
or eax, r9d
mov dword [rsp + 0x30], eax
add eax, ecx
mov edi, eax
mov dword [rbp - 0x75], eax
xor eax, r8d
xor edi, r8d
shr eax, 7
shl edi, 0x19
or edi, eax
movzx eax, byte [r11 + 3]
mov edx, dword [rbp + rax*4 - 0x19]
mov ecx, dword [rbp - 0x31]
add edx, r10d
add edx, dword [rbp - 0x51]
mov r9d, edx
mov eax, edx
xor eax, r13d
xor r9d, r13d
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
add ecx, r9d
mov eax, ecx
mov r8d, ecx
xor eax, r10d
xor r8d, r10d
shl eax, 0x14
mov r10d, r14d
shr r8d, 0xc
or r8d, eax
movzx eax, byte [r11 + 4]
mov r13d, dword [rbp + rax*4 - 0x19]
mov eax, r9d
add r13d, edx
add r13d, r8d
xor eax, r13d
xor r9d, r13d
shl eax, 0x18
shr r9d, 8
or eax, r9d
mov r9, qword [rsp + 0x28]
mov dword [rbp - 0x79], eax
lea r11d, [rcx + rax]
mov ecx, dword [rbp - 0x2d]
mov eax, r11d
mov esi, r11d
xor eax, r8d
xor esi, r8d
shr eax, 7
shl esi, 0x19
or esi, eax
movzx eax, byte [r9 + 5]
mov edx, dword [rbp + rax*4 - 0x19]
movzx eax, byte [r9 + 6]
add edx, ebx
add edx, dword [rbp - 0x4d]
xor r10d, edx
xor r14d, edx
shl r14d, 0x10
mov eax, dword [rbp + rax*4 - 0x19]
add eax, edx
shr r10d, 0x10
or r10d, r14d
add ecx, r10d
mov r9d, r10d
mov r8d, ecx
xor r8d, ebx
xor ebx, ecx
shl ebx, 0x14
shr r8d, 0xc
or r8d, ebx
add eax, r8d
xor r9d, eax
mov dword [rsp + 0x38], eax
xor r10d, eax
shl r9d, 0x18
shr r10d, 8
or r9d, r10d
lea ebx, [r9 + rcx]
mov eax, ebx
mov r14d, ebx
xor eax, r8d
xor r14d, r8d
shr eax, 7
shl r14d, 0x19
or r14d, eax
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax + 7]
mov edx, dword [rbp + rax*4 - 0x19]
add edx, edi
add edx, r12d
mov r10d, edx
xor r10d, r9d
mov eax, edx
xor eax, r9d
shr r10d, 0x10
shl eax, 0x10
or r10d, eax
lea r8d, [r11 + r10]
mov r11, qword [rsp + 0x28]
mov eax, r8d
mov r9d, r8d
xor eax, edi
xor r9d, edi
shr eax, 0xc
shl r9d, 0x14
or r9d, eax
movzx eax, byte [r11 + 8]
mov ecx, dword [rbp + rax*4 - 0x19]
mov eax, r10d
add ecx, edx
add ecx, r9d
xor eax, ecx
mov dword [rbp - 0x59], ecx
shl eax, 0x18
xor r10d, ecx
shr r10d, 8
or eax, r10d
mov r10d, esi
mov dword [rbp - 0x6d], eax
mov dword [rbp - 0x1d], eax
add eax, r8d
xor r9d, eax
mov dword [rbp - 0x31], eax
movzx eax, byte [r11 + 9]
ror r9d, 7
mov dword [rbp - 0x71], r9d
mov dword [rbp - 0x45], r9d
mov edx, dword [rbp + rax*4 - 0x19]
add edx, r15d
add edx, esi
mov eax, edx
mov r9d, edx
xor eax, dword [rsp + 0x20]
xor r9d, dword [rsp + 0x20]
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
movzx eax, byte [r11 + 0xa]
mov r12d, r9d
mov eax, dword [rbp + rax*4 - 0x19]
lea r8d, [rbx + r9]
add eax, edx
xor r10d, r8d
shl r10d, 0x14
xor esi, r8d
shr esi, 0xc
or r10d, esi
add eax, r10d
xor r9d, eax
mov dword [rbp - 0x55], eax
xor r12d, eax
shr r9d, 8
shl r12d, 0x18
or r12d, r9d
lea eax, [r12 + r8]
mov r8d, dword [rsp + 0x34]
xor r10d, eax
mov dword [rbp - 0x2d], eax
movzx eax, byte [r11 + 0xb]
ror r10d, 7
mov dword [rsp + 0x20], r10d
mov dword [rbp - 0x41], r10d
mov edx, dword [rbp + rax*4 - 0x19]
add edx, r13d
add edx, r14d
mov r9d, edx
mov eax, edx
xor r9d, dword [rsp + 0x30]
xor eax, dword [rsp + 0x30]
shr r9d, 0x10
shl eax, 0x10
or r9d, eax
movzx eax, byte [r11 + 0xc]
add r8d, r9d
mov r10d, dword [rbp - 0x7d]
mov r15d, r9d
mov edi, dword [rbp - 0x71]
mov ebx, r14d
xor ebx, r8d
xor r14d, r8d
mov eax, dword [rbp + rax*4 - 0x19]
mov esi, r10d
add eax, edx
shl ebx, 0x14
shr r14d, 0xc
or ebx, r14d
mov r14d, dword [rbp - 0x6d]
add eax, ebx
xor r9d, eax
mov dword [rbp - 0x51], eax
xor r15d, eax
shr r9d, 8
shl r15d, 0x18
or r15d, r9d
lea eax, [r15 + r8]
mov r8d, dword [rbp - 0x75]
xor ebx, eax
mov dword [rbp - 0x39], eax
movzx eax, byte [r11 + 0xd]
ror ebx, 7
mov edx, dword [rbp + rax*4 - 0x19]
add edx, dword [rsp + 0x38]
add edx, r10d
mov eax, edx
mov r9d, edx
xor eax, dword [rbp - 0x79]
xor r9d, dword [rbp - 0x79]
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
movzx eax, byte [r11 + 0xe]
add r8d, r9d
mov r13d, r9d
xor esi, r8d
xor r10d, r8d
shl esi, 0x14
add r11, 0x10
mov eax, dword [rbp + rax*4 - 0x19]
shr r10d, 0xc
add eax, edx
or esi, r10d
mov qword [rsp + 0x28], r11
mov r10d, dword [rsp + 0x20]
add eax, esi
xor r13d, eax
mov dword [rbp - 0x4d], eax
xor r9d, eax
shl r13d, 0x18
shr r9d, 8
or r13d, r9d
lea eax, [r8 + r13]
xor esi, eax
mov dword [rbp - 0x35], eax
ror esi, 7
sub qword [rbp - 0x69], 1
jne 0x1400070e7
mov r8, qword [rbp - 0x61]
xor edx, edx
mov dword [rbp - 0x3d], ebx
mov dword [rbp - 0x49], esi
mov dword [rbp - 0x21], r13d
mov dword [rbp - 0x25], r15d
mov dword [rbp - 0x29], r12d
mov rcx, qword [r8 + 0xf8]
mov eax, dword [rbp + rdx - 0x39]
xor eax, dword [rdx + rcx]
xor eax, dword [rbp + rdx - 0x59]
mov dword [rdx + rcx], eax
add rdx, 4
cmp rdx, 0x20
jb 0x1400074f1
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140031d00
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret