Function at 0x14006bf90
Capabilities:
Hash data with md5
Read file on windows

Disassembly:
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x90
mov rax, qword [0x1401990d8]
xor rax, rsp
mov qword [rbp - 0x21], rax
mov rdi, qword [rbp + 0x6f]
mov r14, rcx
mov dword [rcx], 0x67452301
mov rax, r8
mov dword [rcx + 4], 0xefcdab89
lea r8, [0x140153140]
mov dword [rcx + 8], 0x98badcfe
mov r12, rdx
mov dword [rcx + 0xc], 0x10325476
xor ecx, ecx
mov qword [rbp - 0x49], rdx
mov rdx, rax
mov qword [rbp - 0x31], rcx
mov qword [rbp - 0x29], rcx
lea rcx, [rbp - 0x41]
mov qword [rbp - 0x49], rdi
xor edi, edi
mov qword [rbp - 0x51], rdi
mov r15d, edi
mov qword [rbp - 0x41], rdi
mov qword [rbp - 0x39], r9
call fcn.1400b29d4
test eax, eax
jne 0x14006c219
mov qword [rsp + 0x88], rbx
mov ebx, edi
mov qword [rsp + 0x80], rsi
mov rsi, qword [rbp - 0x49]
mov qword [rsp + 0x78], r13
mov r13, qword [rbp + 0x7f]
movaps xmmword [rsp + 0x60], xmm6
movsd xmm6, qword [rbp + 0x77]
mov eax, 0x40
test r13, r13
je 0x14006c057
cmp byte [r13], 0
je 0x14006c14b
test rbx, rbx
jne 0x14006c07e
mov r9, qword [rbp - 0x41]
lea edx, [rbx + 1]
mov rcx, qword [r14 + 0x10]
mov r8d, 0x2000
call fcn.1400e2ef8
mov rsi, qword [r14 + 0x10]
mov rbx, rax
mov eax, 0x40
cmp rbx, 0x40
mov rdi, rbx
cmova rdi, rax
add r15, rdi
cmp r15, 0x989680
jb 0x14006c0b1
mov rax, qword [rbp - 0x39]
test rax, rax
je 0x14006c0aa
mov rdx, qword [rbp - 0x49]
movaps xmm2, xmm6
mov ecx, r15d
call rax
xor r15d, r15d
lea eax, [r15 + 0x40]
mov rdx, qword [rbp - 0x51]
lea rdx, [rdx + rdi*8]
mov qword [rbp - 0x51], rdx
cmp rdi, 0x40
jne 0x14006c0d9
mov rdx, rsi
mov rcx, r14
call fcn.14006ca60
add rsi, rdi
sub rbx, rdi
jmp 0x14006c042
mov byte [rdi + rsi], 0x80
inc rdi
cmp rdi, 0x38
jle 0x14006c10b
cmp edi, 0x40
jge 0x14006c0fa
sub eax, edi
movsxd rdi, edi
add rdi, rsi
movsxd rcx, eax
xor eax, eax
rep stosb byte [rdi], al
xor edi, edi
mov rdx, rsi
mov rcx, r14
call fcn.14006ca60
mov rdx, qword [rbp - 0x51]
movsxd rax, edi
cmp rax, 0x40
jge 0x14006c140
lea ecx, [rdi*8 - 0x1c0]
nop dword [rax + rax]
cmp rax, 0x38
jge 0x14006c12a
xor dl, dl
jmp 0x14006c12d
sar rdx, cl
mov byte [rax + rsi], dl
add ecx, 8
mov rdx, qword [rbp - 0x51]
inc rax
cmp rax, 0x40
jl 0x14006c120
mov rdx, rsi
mov rcx, r14
call fcn.14006ca60
mov rcx, qword [rbp - 0x41]
call fcn.1400b2b48
movzx eax, byte [r14]
mov r13, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov byte [rbp - 0x31], al
movzx eax, byte [r14 + 1]
mov byte [rbp - 0x30], al
movzx eax, byte [r14 + 2]
mov byte [rbp - 0x2f], al
movzx eax, byte [r14 + 3]
mov byte [rbp - 0x2e], al
movzx eax, byte [r14 + 4]
mov byte [rbp - 0x2d], al
movzx eax, byte [r14 + 5]
mov byte [rbp - 0x2c], al
movzx eax, byte [r14 + 6]
mov byte [rbp - 0x2b], al
movzx eax, byte [r14 + 7]
mov byte [rbp - 0x2a], al
movzx eax, byte [r14 + 8]
mov byte [rbp - 0x29], al
movzx eax, byte [r14 + 9]
mov byte [rbp - 0x28], al
movzx eax, byte [r14 + 0xa]
mov byte [rbp - 0x27], al
movzx eax, byte [r14 + 0xb]
mov byte [rbp - 0x26], al
movzx eax, byte [r14 + 0xc]
mov byte [rbp - 0x25], al
movzx eax, byte [r14 + 0xd]
mov byte [rbp - 0x24], al
movzx eax, byte [r14 + 0xe]
mov byte [rbp - 0x23], al
movzx eax, byte [r14 + 0xf]
mov byte [rbp - 0x22], al
test r15, r15
je 0x14006c203
mov r9, qword [rbp - 0x39]
test r9, r9
je 0x14006c203
mov rdx, qword [rbp - 0x49]
movaps xmm2, xmm6
mov ecx, r15d
call r9
lea r8, [rbp - 0x31]
mov rdx, r12
mov rcx, r14
call fcn.14006a9b0
movaps xmm6, xmmword [rsp + 0x60]
jmp 0x14006c23e
mov qword [r12 + 0x10], rdi
lea rdx, [0x140126890]
mov qword [r12 + 0x18], 7
xor r8d, r8d
mov rcx, r12
mov word [r12], di
call fcn.14005fe50
mov rax, r12
mov rcx, qword [rbp - 0x21]
xor rcx, rsp
call fcn.14009ed10
add rsp, 0x90
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret