Function at 0x140003d8c
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x140162100]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov r15, rdx
mov rbx, rcx
mov qword [rsp + 0x28], rdx
mov rsi, qword [rcx + 0x38]
shl rsi, 6
add rsi, qword [rcx + 0x28]
shl rsi, 3
lea rdi, [rcx + 0x18]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x140003df8
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140003df0
mov rax, qword [rdi]
mov word [rax + rcx], 0x80
jmp 0x140003e0d
mov r9b, 0x80
mov r8b, byte [rsp + 0x20]
mov edx, 1
mov rcx, rdi
call fcn.140008250
mov r14, qword [rbx + 0x28]
cmp r14, 0x40
jae 0x140003e58
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x140003e3d
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140003e36
mov rax, qword [rdi]
and word [rax + rcx], 0
jmp 0x140003e51
xor r9d, r9d
mov r8b, byte [rsp + 0x20]
lea edx, [r9 + 1]
mov rcx, rdi
call fcn.140008250
cmp qword [rbx + 0x28], 0x40
jb 0x140003e17
lea r8, [rbx + 0x18]
mov r9, qword [r8 + 0x18]
xor r10d, r10d
mov rdi, r8
cmp r9, 0xf
jbe 0x140003e6f
mov rdi, qword [r8]
mov r11, r8
jbe 0x140003e77
mov r11, qword [r8]
mov rcx, r8
jbe 0x140003e7f
mov rcx, qword [r8]
mov rax, r8
jbe 0x140003e87
mov rax, qword [r8]
movsx edx, byte [rax + r10]
shl edx, 8
movzx eax, byte [rcx + r10 + 1]
or edx, eax
shl edx, 8
movzx eax, byte [r11 + r10 + 2]
or edx, eax
shl edx, 8
movsx eax, byte [rdi + r10 + 3]
movzx ecx, al
or edx, ecx
mov dword [rbp + r10 + 0x30], edx
add r10, 4
cmp r10, 0x40
jb 0x140003e63
cmp r14, 0x38
jbe 0x140003eea
lea r8, [rbx + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.1400023a4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x6c], esi
shr rsi, 0x20
mov dword [rbp + 0x68], esi
lea r8, [rbx + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.1400023a4
xor edx, edx
mov r8d, 0xe8
lea rcx, [rsp + 0x40]
call fcn.1401224d0
lea rcx, [rsp + 0x40]
call fcn.140005158
nop
xor edi, edi
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov eax, dword [rsp + rcx + 0x58]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rsp + rcx + 0x58], eax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov byte [rbp + rcx - 0x68], 0x30
mov edx, 8
lea rcx, [rsp + 0x28]
call fcn.1400d2c94
mov rdx, qword [rax + 8]
mov r8, qword [rax]
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x40]
add rcx, rax
call r8
mov edx, dword [rbx + rdi*4]
lea rcx, [rsp + 0x40]
call fcn.140005270
inc rdi
cmp rdi, 5
jb 0x140003f23
mov dword [rbx], 0x67452301
mov dword [rbx + 4], 0xefcdab89
mov dword [rbx + 8], 0x98badcfe
mov dword [rbx + 0xc], 0x10325476
mov dword [rbx + 0x10], 0xc3d2e1f0
lea rcx, [rbx + 0x18]
cmp qword [rbx + 0x30], 0xf
jbe 0x140003fbc
mov rcx, qword [rbx + 0x18]
and qword [rbx + 0x28], 0
mov byte [rcx], 0
and qword [rbx + 0x38], 0
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14000662c
nop
lea rcx, [rbp - 0x38]
call fcn.1400050dc
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x38]
call fcn.1400d2b9c
nop
mov rax, r15
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400f7bc0
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x180
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret