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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
xor esi, esi
mov rax, r8
mov r14, rdx
mov r15, rcx
test r9b, r9b
je 0x14000f794
lea r8d, [rsi + 0x40]
mov rdx, rax
mov rcx, r14
call fcn.140024650
jmp 0x14000f797
mov r14, rax
cmp byte [0x14004b890], sil
mov r13d, 4
jne 0x14000f80d
mov r8d, esi
lea r9, [0x14004b254]
mov dword [r9 - 4], r8d
lea r10d, [r8 + 1]
mov r11, r9
mov rbx, r13
mov ecx, r10d
mov eax, 0x66666667
imul r10d
inc r10d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov dword [r11], ecx
add r11, r13
sub rbx, 1
jne 0x14000f7be
mov eax, r8d
lea ecx, [r8 - 1]
add r9, 0x14
mov r8d, r13d
test eax, eax
lea rax, [0x14004b894]
cmovne r8d, ecx
cmp r9, rax
jl 0x14000f7b0
mov byte [0x14004b890], 1
lea rax, [rbp - 0x20]
mov r8, r15
sub r8, rax
lea rcx, [rbp - 0x20]
mov edx, esi
mov eax, dword [r8 + rcx]
inc edx
mov dword [rcx], eax
add rcx, r13
movsxd rax, edx
cmp rax, 5
jb 0x14000f81d
lea rbx, [0x14004b258]
mov rdi, r14
mov r12d, 0x10
mov eax, dword [rdi]
mov r11d, eax
movsxd r10, dword [rbx - 4]
movsxd r9, dword [rbx + 8]
rol eax, 8
and eax, 0xff00ff
ror r11d, 8
and r11d, 0xff00ff00
or r11d, eax
movsxd rax, dword [rbx + 4]
mov dword [rdi], r11d
add rdi, r13
mov r8d, dword [rbp + rax*4 - 0x20]
movsxd rax, dword [rbx - 8]
mov edx, dword [rbp + rax*4 - 0x20]
movsxd rax, dword [rbx]
lea rbx, [rbx + 0x14]
rol edx, 5
mov ecx, dword [rbp + rax*4 - 0x20]
xor ecx, r8d
lea eax, [rdx + 0x5a827999]
and ecx, dword [rbp + r10*4 - 0x20]
add eax, r11d
xor ecx, r8d
add ecx, eax
add dword [rbp + r9*4 - 0x20], ecx
mov eax, dword [rbp + r10*4 - 0x20]
ror eax, 2
mov dword [rbp + r10*4 - 0x20], eax
sub r12, 1
jne 0x14000f841
lea edi, [r12 + 0xd]
mov r12, r13
lea rbx, [0x14004b398]
movsxd r10, dword [rbx - 4]
lea rax, [rdi + 5]
movsxd r9, dword [rbx + 8]
lea rdx, [rdi + 3]
and eax, 0xf
lea rcx, [rdi - 5]
and ecx, 0xf
and edx, 0xf
mov r11d, dword [r14 + rcx*4]
xor r11d, dword [r14 + rax*4]
mov rax, rdi
and eax, 0xf
inc rdi
xor r11d, dword [r14 + rax*4]
xor r11d, dword [r14 + rdx*4]
movsxd rax, dword [rbx + 4]
rol r11d, 1
mov dword [r14 + rdx*4], r11d
mov r8d, dword [rbp + rax*4 - 0x20]
movsxd rax, dword [rbx - 8]
mov edx, dword [rbp + rax*4 - 0x20]
movsxd rax, dword [rbx]
lea rbx, [rbx + 0x14]
rol edx, 5
mov ecx, dword [rbp + rax*4 - 0x20]
xor ecx, r8d
lea eax, [rdx + 0x5a827999]
and ecx, dword [rbp + r10*4 - 0x20]
add eax, r11d
xor ecx, r8d
add ecx, eax
add dword [rbp + r9*4 - 0x20], ecx
mov eax, dword [rbp + r10*4 - 0x20]
ror eax, 2
mov dword [rbp + r10*4 - 0x20], eax
sub r12, 1
jne 0x14000f8c6
lea edi, [r12 + 0x11]
lea r12d, [rdi + 3]
lea rbx, [0x14004b3e8]
movsxd r10, dword [rbx - 4]
lea rcx, [rdi - 5]
movsxd r9, dword [rbx + 8]
lea rax, [rdi + 5]
and eax, 0xf
lea rdx, [rdi + 3]
and ecx, 0xf
and edx, 0xf
mov r11d, dword [r14 + rcx*4]
xor r11d, dword [r14 + rax*4]
mov rax, rdi
movsxd rcx, dword [rbx + 4]
and eax, 0xf
inc rdi
xor r11d, dword [r14 + rax*4]
xor r11d, dword [r14 + rdx*4]
movsxd rax, dword [rbx - 8]
rol r11d, 1
mov dword [r14 + rdx*4], r11d
mov edx, dword [rbp + rcx*4 - 0x20]
mov r8d, dword [rbp + rax*4 - 0x20]
movsxd rax, dword [rbx]
lea rbx, [rbx + 0x14]
rol r8d, 5
xor edx, dword [rbp + rax*4 - 0x20]
xor edx, dword [rbp + r10*4 - 0x20]
lea ecx, [r8 + 0x6ed9eba1]
add ecx, r11d
add ecx, edx
add dword [rbp + r9*4 - 0x20], ecx
mov eax, dword [rbp + r10*4 - 0x20]
ror eax, 2
mov dword [rbp + r10*4 - 0x20], eax
sub r12, 1
jne 0x14000f964
mov esi, 0x14
lea r12, [0x14004b578]
lea r13d, [rsi + 0x11]
movsxd rbx, dword [r12 - 4]
lea rax, [r13 + 5]
movsxd r11, dword [r12 + 8]
lea rdx, [r13 + 3]
and eax, 0xf
lea rcx, [r13 - 5]
and edx, 0xf
and ecx, 0xf
mov r10d, dword [rbp + rbx*4 - 0x20]
mov edi, dword [r14 + rcx*4]
mov ecx, r10d
xor edi, dword [r14 + rax*4]
mov rax, r13
and eax, 0xf
inc r13
xor edi, dword [r14 + rax*4]
xor edi, dword [r14 + rdx*4]
movsxd rax, dword [r12]
lea r12, [r12 + 0x14]
rol edi, 1
mov dword [r14 + rdx*4], edi
mov r8d, dword [rbp + rax*4 - 0x20]
or ecx, r8d
movsxd rax, dword [r12 - 0x1c]
and r10d, r8d
mov r9d, dword [rbp + rax*4 - 0x20]
movsxd rax, dword [r12 - 0x10]
rol r9d, 5
mov edx, dword [rbp + rax*4 - 0x20]
and edx, ecx
lea eax, [rdi + r9]
add eax, 0x8f1bbcdc
or edx, r10d
add eax, edx
add dword [rbp + r11*4 - 0x20], eax
mov eax, dword [rbp + rbx*4 - 0x20]
ror eax, 2
mov dword [rbp + rbx*4 - 0x20], eax
sub rsi, 1
jne 0x14000f9fe
lea rbx, [0x14004b708]
lea edi, [rsi + 0x39]
lea r12d, [rsi + 0x14]
movsxd r10, dword [rbx - 4]
lea rcx, [rdi - 5]
movsxd r9, dword [rbx + 8]
lea rax, [rdi + 5]
and eax, 0xf
lea rdx, [rdi + 3]
and edx, 0xf
and ecx, 0xf
mov r11d, dword [r14 + rcx*4]
xor r11d, dword [r14 + rax*4]
mov rax, rdi
movsxd rcx, dword [rbx + 4]
and eax, 0xf
inc rdi
xor r11d, dword [r14 + rax*4]
xor r11d, dword [r14 + rdx*4]
movsxd rax, dword [rbx - 8]
rol r11d, 1
mov dword [r14 + rdx*4], r11d
mov edx, dword [rbp + rcx*4 - 0x20]
mov r8d, dword [rbp + rax*4 - 0x20]
movsxd rax, dword [rbx]
lea rbx, [rbx + 0x14]
rol r8d, 5
xor edx, dword [rbp + rax*4 - 0x20]
xor edx, dword [rbp + r10*4 - 0x20]
lea eax, [r11 + r8]
add eax, 0xca62c1d6
add eax, edx
add dword [rbp + r9*4 - 0x20], eax
mov eax, dword [rbp + r10*4 - 0x20]
ror eax, 2
mov dword [rbp + r10*4 - 0x20], eax
sub r12, 1
jne 0x14000faa7
lea rcx, [rbp - 0x20]
sub rcx, r15
mov eax, dword [rcx + r15]
inc esi
add dword [r15], eax
lea r15, [r15 + 4]
movsxd rax, esi
cmp rax, 5
jb 0x14000fb37
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret