Function at 0x1400e52e4
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 [0x14015e020]
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.1400ed290
mov rax, qword [rbx + 0xf8]
lea r10, [0x140132da0]
mov r9, qword [rbx + 0x100]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [0x140132db0]
movups xmmword [rbp - 0x59], xmm0
sub r9, rax
movups xmm0, xmmword [0x140132da0]
xor edx, edx
movups xmmword [rbp - 0x49], xmm1
mov r8d, edx
movups xmmword [rbp - 0x39], xmm0
lea rax, [r8 + r10]
mov ecx, dword [r9 + rax + 0x10]
xor ecx, dword [rax + 0x10]
mov dword [rbp + r8 - 0x29], ecx
add r8, 4
cmp r8, 8
jl 0x1400e5369
mov r8, qword [rbx + 0x108]
lea rax, [0x140132db8]
sub r8, rax
lea rax, [rdx + r10]
mov ecx, dword [r8 + rax + 0x18]
xor ecx, dword [rax + 0x18]
mov dword [rbp + rdx - 0x21], ecx
add rdx, 4
cmp rdx, 8
jl 0x1400e5395
mov eax, dword [rbp - 0x4d]
lea rbx, [0x140132d01]
mov esi, dword [rbp - 0x1d]
mov edi, dword [rbp - 0x21]
mov r15d, dword [rbp - 0x25]
mov r14d, dword [rbp - 0x29]
mov r13d, dword [rbp - 0x3d]
mov r9d, dword [rbp - 0x41]
mov r10d, dword [rbp - 0x45]
mov r11d, dword [rbp - 0x49]
mov r12d, dword [rbp - 0x51]
mov edx, dword [rbp - 0x59]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x55]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x38], rbx
mov qword [rbp - 0x69], 0xa
movzx eax, byte [rbx - 1]
mov ecx, dword [rbp + rax*4 - 0x19]
add ecx, r11d
add edx, ecx
mov ecx, dword [rbp - 0x39]
mov eax, edx
mov dword [rsp + 0x24], edx
xor eax, r14d
mov r8d, edx
shl eax, 0x10
xor r8d, r14d
shr r8d, 0x10
or r8d, eax
add ecx, r8d
mov eax, ecx
mov edx, ecx
xor eax, r11d
xor edx, r11d
mov r11d, dword [rsp + 0x20]
shl eax, 0x14
shr edx, 0xc
or edx, eax
movzx eax, byte [rbx]
mov r14d, dword [rbp + rax*4 - 0x19]
mov eax, r8d
add r14d, dword [rsp + 0x24]
add r14d, edx
xor eax, r14d
xor r8d, r14d
shl eax, 0x18
shr r8d, 8
or eax, r8d
mov dword [rsp + 0x28], eax
add eax, ecx
mov ecx, eax
mov dword [rbp - 0x39], eax
xor eax, edx
xor ecx, edx
shr eax, 7
shl ecx, 0x19
or ecx, eax
movzx eax, byte [rbx + 1]
mov dword [rbp - 0x79], ecx
mov ecx, dword [rbp + rax*4 - 0x19]
add ecx, r10d
add r11d, ecx
mov ecx, dword [rbp - 0x35]
mov eax, r11d
mov r8d, r11d
xor eax, r15d
xor r8d, r15d
shl eax, 0x10
shr r8d, 0x10
or r8d, eax
add ecx, r8d
mov eax, ecx
mov edx, ecx
xor eax, r10d
xor edx, r10d
shl eax, 0x14
shr edx, 0xc
or edx, eax
movzx eax, byte [rbx + 2]
mov r15d, dword [rbp + rax*4 - 0x19]
mov eax, r8d
add r15d, r11d
add r15d, edx
xor eax, r15d
xor r8d, r15d
shl eax, 0x18
shr r8d, 8
or eax, r8d
mov dword [rsp + 0x2c], eax
add eax, ecx
mov ebx, eax
mov dword [rbp - 0x35], eax
xor ebx, edx
xor eax, edx
shl ebx, 0x19
shr eax, 7
or ebx, eax
mov r11, qword [rsp + 0x38]
movzx eax, byte [r11 + 3]
mov ecx, dword [rbp + rax*4 - 0x19]
add ecx, r9d
add r12d, ecx
mov ecx, dword [rbp - 0x31]
mov eax, r12d
mov dword [rsp + 0x20], r12d
xor eax, edi
mov r8d, r12d
shl eax, 0x10
xor r8d, edi
shr r8d, 0x10
or r8d, eax
add ecx, r8d
mov eax, ecx
mov edx, ecx
xor eax, r9d
xor edx, r9d
shl eax, 0x14
mov r9d, esi
shr edx, 0xc
or edx, eax
movzx eax, byte [r11 + 4]
mov r12d, dword [rbp + rax*4 - 0x19]
mov eax, r8d
add r12d, dword [rsp + 0x20]
add r12d, edx
xor eax, r12d
xor r8d, r12d
shl eax, 0x18
shr r8d, 8
or eax, r8d
mov r8d, dword [rsp + 0x30]
mov dword [rbp - 0x75], eax
lea r10d, [rcx + rax]
mov eax, r10d
mov edi, r10d
xor eax, edx
xor edi, edx
shr eax, 7
shl edi, 0x19
or edi, eax
movzx eax, byte [r11 + 5]
mov ecx, dword [rbp + rax*4 - 0x19]
movzx eax, byte [r11 + 6]
add ecx, r13d
add r8d, ecx
mov ecx, dword [rbp - 0x2d]
xor r9d, r8d
xor esi, r8d
shl esi, 0x10
shr r9d, 0x10
or r9d, esi
add ecx, r9d
mov edx, ecx
xor edx, r13d
xor r13d, ecx
shl r13d, 0x14
shr edx, 0xc
or edx, r13d
mov r13d, dword [rbp + rax*4 - 0x19]
add r13d, r8d
mov r8d, r9d
add r13d, edx
xor r8d, r13d
xor r9d, r13d
shl r8d, 0x18
shr r9d, 8
or r8d, r9d
lea r11d, [r8 + rcx]
mov eax, r11d
mov esi, r11d
xor eax, edx
xor esi, edx
shr eax, 7
shl esi, 0x19
or esi, eax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax + 7]
mov edx, dword [rbp + rax*4 - 0x19]
add edx, ebx
add edx, r14d
mov eax, edx
mov r9d, edx
xor eax, r8d
xor r9d, r8d
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
lea r8d, [r10 + r9]
mov eax, r8d
mov r10d, r8d
xor eax, ebx
xor r10d, ebx
mov rbx, qword [rsp + 0x38]
shr eax, 0xc
shl r10d, 0x14
or r10d, eax
movzx eax, byte [rbx + 8]
mov ecx, dword [rbp + rax*4 - 0x19]
mov eax, r9d
add ecx, edx
add ecx, r10d
xor eax, ecx
mov dword [rsp + 0x24], ecx
shl eax, 0x18
xor r9d, ecx
shr r9d, 8
or eax, r9d
mov dword [rbp - 0x59], ecx
mov dword [rbp - 0x71], eax
mov dword [rbp - 0x1d], eax
lea ecx, [rax + r8]
mov eax, r10d
xor eax, ecx
mov dword [rbp - 0x31], ecx
shl eax, 0x19
xor r10d, ecx
shr r10d, 7
or eax, r10d
mov r10d, edi
mov dword [rbp - 0x6d], eax
mov dword [rbp - 0x45], eax
movzx eax, byte [rbx + 9]
mov edx, dword [rbp + rax*4 - 0x19]
add edx, r15d
add edx, edi
mov eax, edx
mov r9d, edx
xor eax, dword [rsp + 0x28]
xor r9d, dword [rsp + 0x28]
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
movzx eax, byte [rbx + 0xa]
mov r14d, r9d
mov eax, dword [rbp + rax*4 - 0x19]
lea r8d, [r11 + r9]
xor r10d, r8d
add eax, edx
shl r10d, 0x14
xor edi, r8d
shr edi, 0xc
or r10d, edi
add eax, r10d
xor r14d, eax
mov dword [rsp + 0x20], eax
xor r9d, eax
mov dword [rbp - 0x55], eax
mov eax, r10d
shl r14d, 0x18
shr r9d, 8
or r14d, r9d
mov dword [rbp - 0x29], r14d
lea ecx, [r14 + r8]
xor eax, ecx
mov dword [rbp - 0x2d], ecx
xor r10d, ecx
shl eax, 0x19
shr r10d, 7
or eax, r10d
mov r8d, dword [rbp - 0x39]
mov r10d, esi
mov r11d, dword [rbp - 0x79]
mov dword [rsp + 0x28], eax
mov dword [rbp - 0x41], eax
movzx eax, byte [rbx + 0xb]
mov edx, dword [rbp + rax*4 - 0x19]
add edx, r12d
add edx, esi
mov eax, edx
mov r9d, edx
xor eax, dword [rsp + 0x2c]
xor r9d, dword [rsp + 0x2c]
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
movzx eax, byte [rbx + 0xc]
add r8d, r9d
mov r15d, r9d
xor r10d, r8d
xor esi, r8d
shl r10d, 0x14
mov r12d, dword [rbp + rax*4 - 0x19]
add r12d, edx
shr esi, 0xc
or r10d, esi
add r12d, r10d
mov eax, r10d
xor r9d, r12d
mov dword [rbp - 0x51], r12d
shr r9d, 8
xor r15d, r12d
shl r15d, 0x18
or r15d, r9d
mov dword [rbp - 0x25], r15d
lea ecx, [r15 + r8]
mov r8d, dword [rbp - 0x35]
xor eax, ecx
mov dword [rbp - 0x39], ecx
shl eax, 0x19
xor r10d, ecx
shr r10d, 7
or eax, r10d
mov r10d, r11d
mov dword [rsp + 0x2c], eax
mov dword [rbp - 0x3d], eax
movzx eax, byte [rbx + 0xd]
mov edx, dword [rbp + rax*4 - 0x19]
add edx, r13d
add edx, r11d
mov eax, edx
mov r9d, edx
xor eax, dword [rbp - 0x75]
xor r9d, dword [rbp - 0x75]
shl eax, 0x10
shr r9d, 0x10
or r9d, eax
movzx eax, byte [rbx + 0xe]
add r8d, r9d
mov edi, r9d
xor r11d, r8d
xor r10d, r8d
shr r11d, 0xc
mov eax, dword [rbp + rax*4 - 0x19]
add eax, edx
shl r10d, 0x14
or r10d, r11d
add eax, r10d
mov r11d, r10d
xor edi, eax
mov dword [rsp + 0x30], eax
xor r9d, eax
shl edi, 0x18
shr r9d, 8
or edi, r9d
mov dword [rbp - 0x4d], eax
mov dword [rbp - 0x21], edi
lea eax, [r8 + rdi]
xor r11d, eax
mov dword [rbp - 0x35], eax
shl r11d, 0x19
mov esi, dword [rbp - 0x71]
xor r10d, eax
mov r13d, dword [rsp + 0x2c]
add rbx, 0x10
mov r9d, dword [rsp + 0x28]
mov edx, dword [rsp + 0x24]
shr r10d, 7
or r11d, r10d
mov qword [rsp + 0x38], rbx
sub qword [rbp - 0x69], 1
mov r10d, dword [rbp - 0x6d]
mov dword [rbp - 0x49], r11d
jne 0x1400e53f6
mov r8, qword [rbp - 0x61]
xor edx, edx
mov eax, dword [rbp + rdx - 0x39]
xor eax, dword [rbp + rdx - 0x59]
mov rcx, qword [r8 + 0xf8]
xor dword [rdx + rcx], eax
add rdx, 4
cmp rdx, 0x20
jb 0x1400e5844
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400eb9c0
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