Function at 0x1400fb404
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x140148058]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov eax, dword [r8 + 4]
mov r14d, edx
mov r12, rcx
mov edi, eax
add eax, edx
mov qword [rsp + 0x30], rcx
xor ecx, ecx
and edi, 0x3f
mov dword [rsp + 0x20], edx
mov rsi, r8
mov qword [rsp + 0x38], r8
mov dword [r8 + 4], eax
mov dword [rsp + 0x28], edi
mov r15d, ecx
mov dword [rsp + 0x24], ecx
lea edx, [rcx + 1]
cmp eax, r14d
jae 0x1400fb472
add dword [r8], edx
mov eax, 0x40
sub eax, edi
cmp r14d, eax
jb 0x1400fb6b4
lea r13, [r8 + 8]
lea rbx, [r8 + 0x48]
test edi, edi
je 0x1400fb4ab
mov r8d, 0x40
mov eax, edi
lea rcx, [rsi + 8]
mov edx, r15d
add rcx, rax
sub r8d, edi
add rdx, r12
call sub.msvcrt.dll_memcpy
mov r9d, 2
mov r8d, r15d
lea r10, [rsp + 0x60]
add r8, r12
test edi, edi
lea r11d, [r9 + 0xe]
cmovne r8, r13
lea r12d, [r9 - 1]
lea eax, [r9 - 2]
movzx edx, byte [rax + r8]
lea eax, [r9 - 1]
movzx eax, byte [rax + r8]
shl edx, 8
or edx, eax
mov eax, r9d
movzx ecx, byte [rax + r8]
shl edx, 8
lea eax, [r9 + 1]
movzx eax, byte [rax + r8]
or edx, ecx
add r9d, 4
shl edx, 8
or edx, eax
mov dword [r10], edx
lea r10, [r10 + 4]
sub r11, r12
jne 0x1400fb4ca
mov rax, qword [rbx]
lea rcx, [rsp + 0x68]
lea edx, [r11 + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x48], rax
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x2c]
xor eax, dword [rcx + 0x18]
xor eax, dword [rcx - 8]
xor eax, dword [rcx]
lea rcx, [rcx + 4]
rol eax, 1
mov dword [rcx + 0x34], eax
sub rdx, r12
jne 0x1400fb52d
mov r9d, dword [rbx + 0xc]
mov r8d, dword [rbx + 8]
mov r10d, dword [rbx + 4]
mov r12d, dword [rbx + 0x10]
xor esi, esi
lea r13, [rsp + 0x60]
lea edi, [rsi + 0x14]
lea r14d, [rsi + 1]
lea r15d, [rsi + 0x28]
movzx edx, si
mov r11d, dword [rbx]
movsx eax, dx
rol r11d, 5
cmp eax, 0x3c
jl 0x1400fb585
mov ecx, r8d
xor ecx, r9d
xor ecx, r10d
jmp 0x1400fb5b7
cmp eax, r15d
jl 0x1400fb59d
mov ecx, r8d
mov eax, r8d
or ecx, r9d
and ecx, r10d
and eax, r9d
or ecx, eax
jmp 0x1400fb5b7
cmp eax, edi
jge 0x1400fb57a
test eax, eax
js 0x1400fb5b5
mov ecx, r10d
mov eax, r8d
not ecx
and ecx, r9d
and eax, r10d
jmp 0x1400fb599
mov ecx, esi
mov eax, dword [r13]
add eax, r12d
add eax, ecx
add r11d, eax
mov eax, 0x3c
cmp dx, ax
jl 0x1400fb5d4
mov eax, 0xca62c1d6
jmp 0x1400fb5fa
cmp dx, r15w
jl 0x1400fb5e1
mov eax, 0x8f1bbcdc
jmp 0x1400fb5fa
cmp dx, di
jl 0x1400fb5ed
mov eax, 0x6ed9eba1
jmp 0x1400fb5fa
mov eax, esi
mov ecx, 0x5a827999
test dx, dx
cmovns eax, ecx
add eax, r11d
mov r12d, r9d
mov r9d, r8d
mov r8d, r10d
mov r10d, dword [rbx]
add dx, r14w
add r13, 4
ror r8d, 2
mov dword [rbx], eax
cmp dx, 0x50
jl 0x1400fb56b
mov edi, dword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x24]
lea rax, [rsp + 0x40]
mov rdx, rbx
mov dword [rbx + 8], r8d
mov dword [rbx + 0xc], r9d
mov dword [rbx + 4], r10d
sub rdx, rax
mov dword [rbx + 0x10], r12d
lea rcx, [rsp + 0x40]
mov r8d, 5
mov eax, dword [rdx + rcx]
add dword [rcx], eax
lea rcx, [rcx + 4]
dec r8
jne 0x1400fb65a
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x30]
xor ecx, ecx
mov qword [rbx], rax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], ecx
mov qword [rbx + 8], rax
mov eax, dword [rsp + 0x50]
lea r13, [rsi + 8]
mov dword [rbx + 0x10], eax
lea eax, [r8 + 0x40]
sub eax, edi
add edi, 0xffffffc0
add r14d, edi
add r15d, eax
mov edi, ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x20], r14d
cmp r14d, 0x40
jae 0x1400fb48a
test r14d, r14d
je 0x1400fb6d0
mov eax, edi
lea rcx, [rsi + 8]
mov edx, r15d
add rcx, rax
mov r8d, r14d
add rdx, r12
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140001000
mov rbx, qword [rsp + 0x208]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret