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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r14
push r15
sub rsp, 0x420
mov rbx, rdx
mov dword [rcx], 0x67452301
lea r14, [rcx + 0x10]
mov dword [rcx + 4], 0xefcdab89
xor ebp, ebp
mov dword [rcx + 8], 0x98badcfe
mov dword [rcx + 0x14], ebp
lea rdx, [0x7ff65a7859f8]
mov rdi, rcx
mov dword [rcx + 0xc], 0x10325476
mov rcx, rbx
mov dword [r14], ebp
call qword [sym.imp.ucrtbase.dll_fopen]
mov r15, rax
test rax, rax
jne 0x7ff65a71125f
mov rdx, rbx
lea rcx, [0x7ff65a785a00]
call fcn.7ff65a6fe270
jmp 0x7ff65a711482
mov r9, r15
mov qword [rsp + 0x448], rsi
mov edx, 1
lea rcx, [rsp + 0x20]
mov r8d, 0x400
call qword [sym.imp.ucrtbase.dll_fread]
mov rsi, rax
test eax, eax
je 0x7ff65a711358
nop dword [rax + rax]
mov edx, dword [r14]
lea ecx, [rsi*8]
mov r9d, edx
shr r9d, 3
and r9d, 0x3f
lea eax, [rcx + rdx]
mov dword [r14], eax
cmp eax, ecx
jae 0x7ff65a7112b2
inc dword [rdi + 0x14]
mov eax, esi
mov ebx, 0x40
shr eax, 0x1d
sub ebx, r9d
add dword [rdi + 0x14], eax
cmp esi, ebx
jb 0x7ff65a711311
mov ecx, r9d
lea rdx, [rsp + 0x20]
add rcx, 0x18
mov r8d, ebx
add rcx, rdi
call sub.VCRUNTIME140.dll_memcpy_1
lea rdx, [rdi + 0x18]
mov rcx, rdi
call fcn.7ff65a70d5d0
lea eax, [rbx + 0x3f]
cmp eax, esi
jae 0x7ff65a71130c
mov eax, ebx
lea rdx, [rsp + 0x20]
add rdx, rax
mov rcx, rdi
call fcn.7ff65a70d5d0
add ebx, 0x40
lea eax, [rbx + 0x3f]
cmp eax, esi
jb 0x7ff65a7112f0
mov r9d, ebp
jmp 0x7ff65a711313
mov ebx, ebp
mov ecx, r9d
lea rdx, [rsp + 0x20]
add rcx, 0x18
mov eax, ebx
sub esi, ebx
add rcx, rdi
mov r8d, esi
add rdx, rax
call sub.VCRUNTIME140.dll_memcpy_1
mov r9, r15
lea rcx, [rsp + 0x20]
mov edx, 1
mov r8d, 0x400
call qword [sym.imp.ucrtbase.dll_fread]
mov esi, eax
test eax, eax
jne 0x7ff65a711290
lea r14, [rdi + 0x10]
mov r8d, ebp
lea rdx, [rsp + 0x442]
mov r9d, 2
nop dword [rax]
mov eax, r8d
lea rdx, [rdx + 4]
inc r8d
lea rcx, [r14 + rax*4]
movzx eax, byte [r14 + rax*4]
mov byte [rdx - 6], al
movzx eax, byte [rcx + 1]
mov byte [rdx - 5], al
movzx eax, byte [rcx + 2]
mov byte [rdx - 4], al
movzx eax, byte [rcx + 3]
mov byte [rdx - 3], al
sub r9, 1
jne 0x7ff65a711370
mov ecx, dword [rdi + 0x10]
lea rdx, [0x7ff65a7b0050]
shr ecx, 3
mov eax, 0x78
and ecx, 0x3f
mov r8d, 0x38
sub eax, ecx
sub r8d, ecx
cmp ecx, 0x38
mov rcx, rdi
cmovae r8d, eax
call fcn.7ff65a70ec80
mov r8d, 8
lea rdx, [rsp + 0x440]
mov rcx, rdi
call fcn.7ff65a70ec80
lea rdx, [rdi + 0x5a]
mov r8d, 4
movzx eax, byte [rdi + rbp*4]
lea rcx, [rdi + rbp*4]
mov byte [rdx - 2], al
lea rdx, [rdx + 4]
movzx eax, byte [rcx + 1]
lea ebp, [rbp + 1]
mov byte [rdx - 5], al
movzx eax, byte [rcx + 2]
mov byte [rdx - 4], al
movzx eax, byte [rcx + 3]
mov byte [rdx - 3], al
sub r8, 1
jne 0x7ff65a7113f0
xorps xmm0, xmm0
lea rbx, [rdi + 0x58]
movups xmmword [rdi], xmm0
xor eax, eax
lea rsi, [rdi + 0x68]
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
lea ebp, [rax + 0x10]
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x40], xmm0
mov qword [rdi + 0x50], rax
nop dword [rax]
nop dword [rax + rax]
movzx r8d, byte [rbx]
lea rdx, [0x7ff65a7859f0]
mov rcx, rsi
call fcn.7ff65a717b50
add rsi, 2
lea rbx, [rbx + 1]
sub rbp, 1
jne 0x7ff65a711450
mov rsi, qword [rsp + 0x448]
mov rcx, r15
call qword [sym.imp.ucrtbase.dll_fclose]
lea r11, [rsp + 0x420]
mov rbx, qword [r11 + 0x30]
lea rax, [rdi + 0x68]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret