Function at 0x140003d68
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x140144080]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov r13, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rdx
lea r12, [rcx + 0x38]
mov rsi, qword [r12]
shl rsi, 6
add rsi, qword [rcx + 0x28]
shl rsi, 3
lea rbx, [rcx + 0x18]
lea r14, [rbx + 0x10]
mov rcx, qword [r14]
cmp rcx, qword [rbx + 0x18]
jae 0x140003dde
lea rax, [rcx + 1]
mov qword [r14], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140003dd6
mov rax, qword [rbx]
mov word [rax + rcx], 0x80
jmp 0x140003df0
mov r9b, 0x80
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140007fb8
mov r15, qword [rdi + 0x28]
cmp r15, 0x40
jae 0x140003e37
mov rcx, qword [r14]
cmp rcx, qword [rbx + 0x18]
jae 0x140003e1e
lea rax, [rcx + 1]
mov qword [r14], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140003e17
mov rax, qword [rbx]
and word [rax + rcx], 0
jmp 0x140003e30
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov rcx, rbx
call fcn.140007fb8
cmp qword [rdi + 0x28], 0x40
jb 0x140003dfa
mov r8, qword [rbx + 0x18]
xor r9d, r9d
mov r11, rbx
cmp r8, 0x10
jb 0x140003e4a
mov r11, qword [rbx]
mov r10, rbx
jb 0x140003e52
mov r10, qword [rbx]
mov rcx, rbx
jb 0x140003e5a
mov rcx, qword [rbx]
mov rax, rbx
jb 0x140003e62
mov rax, qword [rbx]
movsx edx, byte [rax + r9]
shl edx, 8
movzx eax, byte [rcx + r9 + 1]
or edx, eax
shl edx, 8
movzx eax, byte [r10 + r9 + 2]
or edx, eax
shl edx, 8
movsx eax, byte [r11 + r9 + 3]
movzx ecx, al
or edx, ecx
mov dword [rbp + r9 + 0x30], edx
add r9, 4
cmp r9, 0x40
jb 0x140003e3e
cmp r15, 0x38
jbe 0x140003ec4
mov r8, r12
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.140002394
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
mov r8, r12
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.140002394
xor edx, edx
mov r8d, 0xe8
lea rcx, [rsp + 0x40]
call fcn.1400e73c0
lea rcx, [rsp + 0x40]
call fcn.140004664
nop
xor r15d, r15d
mov esi, r15d
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.1400bee04
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 [rdi + rsi*4]
lea rcx, [rsp + 0x40]
call fcn.140004748
inc rsi
cmp rsi, 5
jb 0x140003f00
mov dword [rdi], 0x67452301
mov dword [rdi + 4], 0xefcdab89
mov dword [rdi + 8], 0x98badcfe
mov dword [rdi + 0xc], 0x10325476
mov dword [rdi + 0x10], 0xc3d2e1f0
cmp qword [rbx + 0x18], 0x10
jb 0x140003f94
mov rbx, qword [rbx]
mov qword [r14], r15
mov byte [rbx], r15b
mov qword [r12], r15
mov rdx, r13
lea rcx, [rsp + 0x48]
call fcn.14000659c
nop
lea rcx, [rbp - 0x38]
call fcn.1400045e8
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x38]
call fcn.1400bed0c
nop
mov rax, r13
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400e4680
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret