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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, r8
mov r13, rdx
mov rbx, rcx
test r9b, r9b
je 0x14001b4bd
mov r13, rax
mov qword [r11 + 0x10], rax
jmp 0x14001b4ce
mov r8d, 0x40
mov rdx, rax
mov rcx, r13
call fcn.140045040
mov ebp, dword [rbx]
mov r15d, dword [rbx + 4]
mov edi, dword [rbx + 8]
mov r12d, dword [rbx + 0xc]
mov ecx, dword [r13]
mov ebx, dword [rbx + 0x10]
mov dword [rsp + 0x24], ebp
call fcn.140036a04
add ebx, 0x5a827999
mov dword [r13], eax
mov r14d, r12d
mov qword [rsp + 0x30], 3
xor r14d, edi
mov ecx, ebp
and r14d, r15d
ror ecx, 0x1b
xor r14d, r12d
add eax, ecx
add r14d, eax
add r14d, ebx
lea rbx, [r13 + 8]
mov qword [rsp + 0x28], rbx
mov r13d, edi
mov dword [rsp + 0x20], r14d
ror r15d, 2
mov ecx, dword [rbx - 4]
call fcn.140036a04
mov rsi, qword [rsp + 0x28]
mov ecx, r14d
mov dword [rbx - 4], eax
mov ebx, r13d
xor ebx, r15d
ror ecx, 0x1b
and ebx, ebp
add ecx, 0x5a827999
add eax, ecx
shl ebp, 0x1e
mov ecx, dword [rsi]
xor ebx, r13d
add ebx, eax
mov eax, dword [rsp + 0x24]
shr eax, 2
add ebx, r12d
or ebp, eax
call fcn.140036a04
mov dword [rsi], eax
mov ecx, ebx
ror ecx, 0x1b
mov edi, r15d
xor edi, ebp
add ecx, 0x5a827999
and edi, r14d
add eax, ecx
mov ecx, dword [rsi + 4]
xor edi, r15d
add edi, eax
shl r14d, 0x1e
mov eax, dword [rsp + 0x20]
add edi, r13d
shr eax, 2
or r14d, eax
call fcn.140036a04
mov dword [rsi + 4], eax
mov r12d, ebx
mov ecx, edi
shl r12d, 0x1e
ror ecx, 0x1b
mov esi, r14d
xor esi, ebp
add ecx, 0x5a827999
and esi, ebx
add eax, ecx
shr ebx, 2
xor esi, ebp
add esi, eax
or r12d, ebx
mov rbx, qword [rsp + 0x28]
add esi, r15d
mov ecx, dword [rbx + 8]
call fcn.140036a04
mov dword [rbx + 8], eax
mov ecx, esi
ror ecx, 0x1b
mov edx, r14d
xor edx, r12d
add ecx, 0x5a827999
and edx, edi
add eax, ecx
mov ecx, dword [rbx + 0xc]
xor edx, r14d
add rbx, 0x14
add edx, eax
mov r13d, edi
mov qword [rsp + 0x28], rbx
add ebp, edx
shl r13d, 0x1e
shr edi, 2
mov dword [rsp + 0x24], ebp
or r13d, edi
call fcn.140036a04
mov ecx, ebp
mov dword [rbx - 8], eax
mov edx, r12d
ror ecx, 0x1b
xor edx, r13d
and edx, esi
xor edx, r12d
add eax, ecx
add edx, 0x5a827999
mov r15d, esi
add edx, eax
shl r15d, 0x1e
shr esi, 2
add r14d, edx
or r15d, esi
mov dword [rsp + 0x20], r14d
sub qword [rsp + 0x30], 1
jne 0x14001b52c
mov r11d, r14d
mov dword [rsp + 0x98], r13d
mov r13, qword [rsp + 0x88]
mov r10d, ebp
mov edi, dword [rsp + 0x98]
mov ebx, r15d
mov r8d, edi
shl r10d, 0x1e
xor r8d, r15d
shl r11d, 0x1e
mov eax, dword [r13 + 0x34]
and r8d, ebp
xor eax, dword [r13 + 0x20]
xor r8d, edi
xor eax, dword [r13]
add edi, 0x5a827999
xor eax, dword [r13 + 8]
mov r9d, eax
shr ebp, 2
add eax, eax
shr r9d, 0x1f
or r9d, eax
or r10d, ebp
mov eax, r14d
mov dword [r13], r9d
ror eax, 0x1b
xor ebx, r10d
add eax, 0x5a827999
and ebx, r14d
add eax, r9d
shr r14d, 2
add r8d, eax
or r11d, r14d
mov eax, dword [r13 + 0x38]
add r8d, r12d
xor eax, dword [r13 + 0x24]
xor ebx, r15d
xor eax, dword [r13 + 4]
mov r14d, r11d
xor eax, dword [r13 + 0xc]
xor r14d, r10d
mov edx, eax
and r14d, r8d
add eax, eax
shr edx, 0x1f
or edx, eax
xor r14d, r10d
mov dword [r13 + 4], edx
mov eax, r8d
ror eax, 0x1b
add eax, edx
add ebx, eax
mov eax, dword [r13 + 0x3c]
xor eax, dword [r13 + 0x28]
add ebx, edi
xor eax, dword [r13 + 0x10]
mov edi, r8d
xor eax, dword [r13 + 8]
mov edx, eax
shl edi, 0x1e
add eax, eax
shr edx, 0x1f
or edx, eax
shr r8d, 2
mov dword [r13 + 8], edx
or edi, r8d
add edx, 0x5a827999
mov dword [rsp + 0x98], edi
mov eax, ebx
ror eax, 0x1b
add eax, edx
add r14d, eax
mov eax, dword [r13 + 0x2c]
xor eax, dword [r13 + 0x14]
add r14d, r15d
xor eax, dword [r13 + 0xc]
xor eax, r9d
mov edx, eax
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, r14d
mov dword [r13 + 0xc], edx
ror eax, 0x1b
mov esi, r11d
xor esi, edi
add eax, 0x5a827999
add eax, edx
and esi, ebx
xor esi, r11d
add esi, eax
add esi, r10d
mov r10d, 0x11
ror ebx, 2
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], ebx
lea eax, [r10 - 0xd]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rcx, [r10 - 5]
mov rax, r10
and eax, 0xf
lea r15, [r10 + 3]
and ecx, 0xf
lea r12, [r10 + 5]
mov r9, r12
mov ebp, r14d
and r9d, 0xf
shl ebp, 0x1e
and r15d, 0xf
mov edx, dword [r13 + rcx*4]
mov ecx, edi
xor edx, dword [r13 + rax*4]
lea rdi, [r10 + 6]
xor ecx, ebx
and edi, 0xf
xor edx, dword [r13 + r15*4]
xor ecx, r14d
xor edx, dword [r13 + r9*4]
mov r8d, edx
shr r14d, 2
shr r8d, 0x1f
or ebp, r14d
lea r14, [r10 + 4]
lea eax, [rdx + rdx]
and r14d, 0xf
or r8d, eax
mov eax, esi
mov dword [r13 + r15*4], r8d
add r8d, 0x6ed9eba1
ror eax, 0x1b
add eax, r8d
add ecx, eax
lea rax, [r10 + 1]
and eax, 0xf
add r11d, ecx
lea rcx, [r10 - 4]
mov r10d, ebx
and ecx, 0xf
xor r10d, ebp
xor r10d, esi
shl esi, 0x1e
mov edx, dword [r13 + rcx*4]
xor edx, dword [r13 + rax*4]
xor edx, dword [r13 + r14*4]
xor edx, dword [r13 + rdi*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, r11d
mov dword [r13 + r14*4], r8d
ror eax, 0x1b
add eax, r8d
mov r8d, dword [rsp + 0x98]
add r10d, eax
add r8d, 0x6ed9eba1
mov eax, dword [rsp + 0x20]
add r10d, r8d
shr eax, 2
or esi, eax
mov rax, qword [rsp + 0x28]
lea rcx, [rax - 3]
lea rbx, [rax + 7]
and ecx, 0xf
add rax, 2
and ebx, 0xf
and eax, 0xf
mov edx, dword [r13 + rcx*4]
xor edx, dword [r13 + rax*4]
xor edx, dword [r13 + r9*4]
xor edx, dword [r13 + rbx*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, r10d
mov dword [r13 + r9*4], r8d
mov r9d, r11d
ror eax, 0x1b
add eax, r8d
xor r9d, ebp
mov r8d, dword [rsp + 0x24]
xor r9d, esi
add r9d, eax
add r8d, 0x6ed9eba1
add r9d, r8d
mov eax, r11d
shl eax, 0x1e
shr r11d, 2
or eax, r11d
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x28]
mov r11d, dword [rsp + 0x98]
lea rcx, [rax - 8]
add rax, 0xfffffffffffffffe
and eax, 0xf
and ecx, 0xf
mov edx, dword [r13 + rcx*4]
mov ecx, r11d
xor edx, dword [r13 + rax*4]
xor ecx, r10d
xor edx, dword [r13 + rdi*4]
xor ecx, esi
xor edx, dword [r13 + r15*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, r9d
mov dword [r13 + rdi*4], r8d
add r8d, 0x6ed9eba1
ror eax, 0x1b
mov edi, r10d
add eax, r8d
shr r10d, 2
add eax, ecx
shl edi, 0x1e
add eax, ebp
or edi, r10d
mov dword [rsp + 0x24], eax
mov r10, r12
mov rax, qword [rsp + 0x28]
mov dword [rsp + 0x98], edi
mov qword [rsp + 0x28], r12
lea rcx, [rax - 7]
and ecx, 0xf
dec rax
and eax, 0xf
mov edx, dword [r13 + rcx*4]
mov ecx, r11d
xor ecx, edi
xor edx, dword [r13 + rax*4]
xor ecx, r9d
xor edx, dword [r13 + rbx*4]
add ecx, 0x6ed9eba1
xor edx, dword [r13 + r14*4]
mov r14d, dword [rsp + 0x24]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, r14d
mov dword [r13 + rbx*4], r8d
mov ebx, r9d
ror eax, 0x1b
add eax, r8d
shl ebx, 0x1e
add ecx, eax
shr r9d, 2
add esi, ecx
or ebx, r9d
sub qword [rsp + 0x30], 1
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], ebx
jne 0x14001b7b2
mov r10d, 0x25
mov qword [rsp + 0x30], 4
mov qword [rsp + 0x28], r10
lea rcx, [r10 - 5]
mov rax, r10
and ecx, 0xf
lea r15, [r10 + 3]
and eax, 0xf
lea r12, [r10 + 5]
mov ebp, r14d
mov r9, r12
and r15d, 0xf
shl ebp, 0x1e
mov edx, dword [r13 + rcx*4]
and r9d, 0xf
xor edx, dword [r13 + rax*4]
mov ecx, ebx
or ecx, r14d
xor edx, dword [r13 + r15*4]
and ecx, edi
xor edx, dword [r13 + r9*4]
lea rdi, [r10 + 6]
mov r8d, edx
and edi, 0xf
shr r8d, 0x1f
lea eax, [rdx + rdx]
mov edx, esi
or r8d, eax
ror edx, 0x1b
mov dword [r13 + r15*4], r8d
mov eax, ebx
and eax, r14d
shr r14d, 2
or ecx, eax
or ebp, r14d
add ecx, r8d
lea rax, [r10 + 1]
add ecx, r11d
lea r14, [r10 + 4]
and eax, 0xf
lea r11d, [rdx - 0x70e44324]
add r11d, ecx
and r14d, 0xf
lea rcx, [r10 - 4]
mov r10d, r11d
and ecx, 0xf
ror r10d, 0x1b
mov edx, dword [r13 + rcx*4]
mov ecx, ebp
xor edx, dword [r13 + rax*4]
or ecx, esi
xor edx, dword [r13 + r14*4]
and ecx, ebx
xor edx, dword [r13 + rdi*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, ebp
and eax, esi
mov dword [r13 + r14*4], r8d
or ecx, eax
shl esi, 0x1e
mov eax, dword [rsp + 0x20]
add ecx, r8d
mov r8d, dword [rsp + 0x98]
shr eax, 2
add r8d, 0x8f1bbcdc
add ecx, r8d
or esi, eax
mov rax, qword [rsp + 0x28]
add r10d, ecx
lea rcx, [rax - 3]
lea rbx, [rax + 7]
and ecx, 0xf
add rax, 2
and ebx, 0xf
and eax, 0xf
mov edx, dword [r13 + rcx*4]
xor edx, dword [r13 + rax*4]
xor edx, dword [r13 + r9*4]
xor edx, dword [r13 + rbx*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
mov ecx, r11d
or r8d, eax
or ecx, esi
and ecx, ebp
mov dword [r13 + r9*4], r8d
mov eax, r11d
mov r9d, r10d
and eax, esi
ror r9d, 0x1b
or ecx, eax
mov eax, r11d
add ecx, r8d
shl eax, 0x1e
mov r8d, dword [rsp + 0x24]
add r8d, 0x8f1bbcdc
shr r11d, 2
add ecx, r8d
or eax, r11d
add r9d, ecx
mov dword [rsp + 0x98], eax
mov r11d, dword [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rax - 8]
add rax, 0xfffffffffffffffe
and ecx, 0xf
and eax, 0xf
mov edx, dword [r13 + rcx*4]
mov ecx, r11d
xor edx, dword [r13 + rax*4]
or ecx, r10d
xor edx, dword [r13 + rdi*4]
and ecx, esi
xor edx, dword [r13 + r15*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
mov edx, r9d
or r8d, eax
ror edx, 0x1b
mov dword [r13 + rdi*4], r8d
mov eax, r11d
and eax, r10d
mov edi, r10d
or ecx, eax
shl edi, 0x1e
add ecx, r8d
shr r10d, 2
add ecx, ebp
lea eax, [rdx - 0x70e44324]
add eax, ecx
or edi, r10d
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x28]
mov dword [rsp + 0x98], edi
lea rcx, [rax - 7]
and ecx, 0xf
dec rax
and eax, 0xf
mov edx, dword [r13 + rcx*4]
mov ecx, edi
or ecx, r9d
xor edx, dword [r13 + rax*4]
and ecx, r11d
xor edx, dword [r13 + rbx*4]
xor edx, dword [r13 + r14*4]
mov r14d, dword [rsp + 0x24]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
mov edx, r14d
or r8d, eax
ror edx, 0x1b
mov eax, edi
mov dword [r13 + rbx*4], r8d
and eax, r9d
or ecx, eax
add ecx, r8d
add ecx, esi
lea esi, [rdx - 0x70e44324]
add esi, ecx
mov ebx, r9d
mov dword [rsp + 0x20], esi
shl ebx, 0x1e
mov r10, r12
shr r9d, 2
or ebx, r9d
mov qword [rsp + 0x28], r12
sub qword [rsp + 0x30], 1
mov dword [rsp + 0x24], ebx
jne 0x14001ba18
mov r10d, 0x39
mov qword [rsp + 0x28], r10
lea rcx, [r10 - 5]
mov rax, r10
and eax, 0xf
lea r15, [r10 + 3]
and ecx, 0xf
lea r12, [r10 + 5]
mov r9, r12
mov ebp, r14d
and r9d, 0xf
shl ebp, 0x1e
and r15d, 0xf
mov edx, dword [r13 + rcx*4]
mov ecx, esi
xor edx, dword [r13 + rax*4]
ror ecx, 0x1b
xor edx, dword [r13 + r15*4]
xor edx, dword [r13 + r9*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, edi
xor eax, ebx
mov dword [r13 + r15*4], r8d
xor eax, r14d
lea rdi, [r10 + 6]
add eax, r8d
shr r14d, 2
add eax, r11d
or ebp, r14d
lea r14, [r10 + 4]
and edi, 0xf
lea r11d, [rcx - 0x359d3e2a]
and r14d, 0xf
add r11d, eax
lea rcx, [r10 - 4]
lea rax, [r10 + 1]
and ecx, 0xf
and eax, 0xf
mov r10d, r11d
ror r10d, 0x1b
mov edx, dword [r13 + rcx*4]
xor edx, dword [r13 + rax*4]
xor edx, dword [r13 + r14*4]
xor edx, dword [r13 + rdi*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, ebx
xor eax, ebp
mov dword [r13 + r14*4], r8d
xor eax, esi
add r8d, 0xca62c1d6
add eax, r8d
shl esi, 0x1e
add eax, dword [rsp + 0x98]
add r10d, eax
mov eax, dword [rsp + 0x20]
shr eax, 2
or esi, eax
mov rax, qword [rsp + 0x28]
lea rcx, [rax - 3]
lea rbx, [rax + 7]
and ecx, 0xf
add rax, 2
and ebx, 0xf
and eax, 0xf
mov edx, dword [r13 + rcx*4]
xor edx, dword [r13 + rax*4]
xor edx, dword [r13 + r9*4]
xor edx, dword [r13 + rbx*4]
mov r8d, edx
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, r11d
mov dword [r13 + r9*4], r8d
mov r9d, r10d
ror r9d, 0x1b
xor eax, ebp
xor eax, esi
add eax, r8d
mov r8d, dword [rsp + 0x24]
add r8d, 0xca62c1d6
add eax, r8d
add r9d, eax
mov eax, r11d
shl eax, 0x1e
shr r11d, 2
or eax, r11d
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x28]
mov r11d, dword [rsp + 0x98]
lea rcx, [rax - 8]
add rax, 0xfffffffffffffffe
and eax, 0xf
and ecx, 0xf
mov edx, dword [r13 + rcx*4]
mov ecx, r9d
xor edx, dword [r13 + rax*4]
xor edx, dword [r13 + rdi*4]
xor edx, dword [r13 + r15*4]
ror ecx, 0x1b
mov r8d, edx
add ecx, 0xca62c1d6
shr r8d, 0x1f
lea eax, [rdx + rdx]
or r8d, eax
mov eax, r11d
xor eax, r10d
mov dword [r13 + rdi*4], r8d
xor eax, esi
mov edi, r10d
add eax, r8d
shr r10d, 2
add eax, ebp
shl edi, 0x1e
add eax, ecx
or edi, r10d
mov dword [rsp + 0x24], eax
mov r10, r12
mov rax, qword [rsp + 0x28]
mov dword [rsp + 0x98], edi
mov qword [rsp + 0x28], r12
lea rcx, [rax - 7]
and ecx, 0xf
dec rax
and eax, 0xf
mov edx, dword [r13 + rcx*4]
xor edx, dword [r13 + rax*4]
xor edx, dword [r13 + r14*4]
xor edx, dword [r13 + rbx*4]
mov r14d, dword [rsp + 0x24]
mov r8d, edx
shr r8d, 0x1f
mov ecx, r14d
ror ecx, 0x1b
lea eax, [rdx + rdx]
or r8d, eax
mov eax, r11d
xor eax, edi
mov dword [r13 + rbx*4], r8d
xor eax, r9d
mov ebx, r9d
add eax, r8d
shl ebx, 0x1e
add eax, esi
shr r9d, 2
or ebx, r9d
lea esi, [rcx - 0x359d3e2a]
add esi, eax
mov dword [rsp + 0x24], ebx
sub qword [rsp + 0x38], 1
mov dword [rsp + 0x20], esi
jne 0x14001bc95
mov rax, qword [rsp + 0x80]
add dword [rax + 8], ebx
add dword [rax], esi
add dword [rax + 4], r14d
add dword [rax + 0xc], edi
add dword [rax + 0x10], r11d
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret