Function at 0x1401a3d5c
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x170
mov rax, qword [0x1405f8008]
xor rax, rsp
mov qword [rsp + 0x160], rax
cmp dword [rsp + 0x1c0], 5
mov r10, r9
mov rbx, rdx
je 0x1401a3d9b
mov eax, 0xc004d104
jmp 0x1401a3f00
lea r15, [rdx + 0x40]
mov ebp, dword [r10]
lea rcx, [rsp + 0x20]
mov edi, dword [r10 + 4]
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov r11d, dword [r10 + 8]
mov rdx, rbx
mov esi, dword [r10 + 0xc]
mov r14d, dword [r10 + 0x10]
call fcn.1401ad224
lea rdx, [rsp + 0x60]
mov r8d, 0x40
lea rcx, [rsp + 0x28]
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 [rdx], eax
lea rdx, [rdx + 4]
sub r8, 1
jne 0x1401a3dd5
lea r9d, [r8 + 0x14]
mov r8d, r9d
lea rdx, [rsp + 0x20]
mov eax, esi
mov ecx, ebp
xor eax, r11d
rol ecx, 5
and eax, edi
xor eax, esi
add eax, ecx
add eax, dword [rdx]
lea rdx, [rdx + 4]
add eax, r14d
mov r14d, esi
mov esi, r11d
mov r11d, edi
rol r11d, 0x1e
mov edi, ebp
lea ebp, [rax + 0x5a827999]
sub r9, 1
jne 0x1401a3dfe
mov eax, r8d
mov edx, ebp
rol edx, 5
mov ecx, esi
xor ecx, r11d
inc r8d
xor ecx, edi
add edx, dword [rsp + rax*4 + 0x20]
add edx, r14d
mov r14d, esi
mov esi, r11d
add edx, ecx
mov r11d, edi
mov edi, ebp
rol r11d, 0x1e
lea ebp, [rdx + 0x6ed9eba1]
cmp r8d, 0x28
jb 0x1401a3e32
mov edx, ebp
mov ecx, r11d
xor ecx, edi
rol edx, 5
and ecx, esi
mov eax, r11d
and eax, edi
xor ecx, eax
add ecx, dword [rsp + r8*4 + 0x20]
lea eax, [r14 + rdx]
add eax, 0x8f1bbcdc
mov r14d, esi
mov esi, r11d
add eax, ecx
mov r11d, edi
inc r8d
rol r11d, 0x1e
mov edi, ebp
mov ebp, eax
cmp r8d, 0x3c
jb 0x1401a3e68
mov eax, dword [rsp + r8*4 + 0x20]
mov edx, ebp
mov ecx, esi
rol edx, 5
xor ecx, r11d
inc r8d
xor ecx, edi
add eax, ecx
lea ecx, [r14 + rdx]
mov r14d, esi
mov esi, r11d
add ecx, 0xca62c1d6
mov r11d, edi
add ecx, eax
rol r11d, 0x1e
mov edi, ebp
mov ebp, ecx
cmp r8d, 0x50
jb 0x1401a3ea5
add dword [r10 + 0x10], r14d
add rbx, 0x40
add dword [r10 + 0xc], esi
add dword [r10 + 8], r11d
add dword [r10 + 4], edi
add dword [r10], ecx
cmp rbx, r15
jb 0x1401a3d9f
xor eax, eax
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.14001af80
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x170
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x1405f8008]
xor rax, rsp
mov qword [rsp + 0x80], rax
cmp dword [rsp + 0xf0], 8
mov r10, r9
mov r11, rdx
je 0x1401a3fa7
mov eax, 0xc004d104
jmp 0x1401a4122
lea rax, [rdx + 0x40]
mov qword [rsp + 0x30], rax
mov eax, dword [r10 + 0xc]
lea rcx, [rsp + 0x40]
mov edi, dword [r10]
xor ebx, ebx
mov r14d, dword [r10 + 4]
mov rdx, r11
mov r15d, dword [r10 + 8]
mov esi, dword [r10 + 0x10]
mov r12d, dword [r10 + 0x14]
lea r8d, [rbx + 0x10]
mov r13d, dword [r10 + 0x18]
mov dword [rsp + 0x24], eax
mov eax, dword [r10 + 0x1c]
mov dword [rsp + 0x20], eax
call fcn.1401ad224
lea r9, [0x14039ed10]
xor ebp, ebp
mov qword [rsp + 0x28], r9
cmp ebx, 0x10
jb 0x1401a4057
lea eax, [rbx - 2]
mov r9, rbp
and eax, 0xf
and r9d, 0xf
mov ecx, dword [rsp + rax*4 + 0x40]
mov r8d, ecx
rol r8d, 0xf
lea rax, [rbp + 1]
and eax, 0xf
mov edx, dword [rsp + rax*4 + 0x40]
mov eax, ecx
rol eax, 0xd
xor r8d, eax
shr ecx, 0xa
xor r8d, ecx
mov eax, edx
rol eax, 0xe
mov ecx, edx
rol ecx, 0x19
xor ecx, eax
shr edx, 3
lea eax, [rbx - 7]
xor ecx, edx
and eax, 0xf
add r8d, ecx
add r8d, dword [rsp + rax*4 + 0x40]
add dword [rsp + r9*4 + 0x40], r8d
mov r9, qword [rsp + 0x28]
mov eax, esi
mov r8d, esi
rol eax, 0x15
mov ecx, esi
rol r8d, 0x1a
not ecx
xor r8d, eax
and ecx, r13d
mov eax, esi
mov edx, edi
rol eax, 7
inc ebx
xor r8d, eax
rol edx, 0x1e
mov eax, r12d
and eax, esi
xor ecx, eax
mov rax, rbp
and eax, 0xf
add r8d, ecx
mov ecx, r14d
inc rbp
xor ecx, edi
and ecx, r15d
add r8d, dword [rsp + rax*4 + 0x40]
mov eax, edi
add r8d, dword [r9]
add r9, 4
add r8d, dword [rsp + 0x20]
rol eax, 0x13
xor edx, eax
mov qword [rsp + 0x28], r9
mov eax, edi
rol eax, 0xa
xor edx, eax
mov eax, r14d
and eax, edi
xor ecx, eax
mov eax, r15d
add edx, ecx
mov r15d, r14d
mov ecx, r13d
mov r14d, edi
mov r13d, r12d
mov dword [rsp + 0x20], ecx
mov r12d, esi
mov esi, dword [rsp + 0x24]
add esi, r8d
mov dword [rsp + 0x24], eax
lea edi, [rdx + r8]
cmp ebx, 0x40
jb 0x1401a3ff8
add dword [r10 + 0x1c], ecx
add r11, 0x40
add dword [r10 + 0x18], r13d
add dword [r10 + 0x14], r12d
add dword [r10 + 0x10], esi
add dword [r10 + 0xc], eax
add dword [r10 + 8], r15d
add dword [r10 + 4], r14d
add dword [r10], edi
cmp r11, qword [rsp + 0x30]
jb 0x1401a3fb0
xor eax, eax
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14001af80
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, dword [rcx]
sub r8d, 1
je 0x1401a4b9e
cmp r8d, 1
je 0x1401a4b99
mov eax, 0xc004d104
ret
jmp 0x1401a3f64
jmp 0x1401a3d5c