Function at 0x180004be0
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov r15, r8
mov r8d, edx
mov rdx, rcx
xor esi, esi
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x29], 0x67452301
mov dword [rbp - 0x25], 0xefcdab89
mov dword [rbp - 0x21], 0x98badcfe
mov dword [rbp - 0x1d], 0x10325476
mov qword [rbp - 0x19], rsi
call fcn.180005b80
mov r8d, esi
lea rdx, [rbp + 0x79]
lea r9d, [rsi + 2]
nop dword [rax]
mov eax, r8d
lea rcx, [rbp - 0x19]
inc r8d
lea rcx, [rcx + rax*4]
lea rdx, [rdx + 4]
movzx eax, byte [rcx]
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
dec r9
jne 0x180004c40
mov eax, dword [rbp - 0x19]
mov r14d, 0x38
mov r9d, eax
shr r9d, 3
and r9d, 0x3f
cmp r9d, 0x38
jb 0x180004c92
mov r14d, 0x78
sub r14d, r9d
lea ecx, [rax + r14*8]
lea eax, [r14*8]
cmp ecx, eax
mov dword [rbp - 0x19], ecx
mov ecx, dword [rbp - 0x15]
jae 0x180004cad
inc ecx
mov ebx, 0x40
mov eax, r14d
lea r12, [0x18000a230]
shr eax, 0x1d
mov edi, ebx
add ecx, eax
sub edi, r9d
mov dword [rbp - 0x15], ecx
cmp r14d, edi
jb 0x180004d1d
mov eax, r9d
lea rcx, [rbp - 0x11]
mov r8d, edi
add rcx, rax
mov rdx, r12
call sub.ntdll.dll_memcpy
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x29]
call fcn.180005180
lea eax, [rdi + 0x3f]
cmp eax, r14d
jae 0x180004d18
nop dword [rax + rax]
mov edx, edi
lea rcx, [rbp - 0x29]
add rdx, r12
call fcn.180005180
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, r14d
jb 0x180004d00
mov r9d, esi
jmp 0x180004d1f
mov edi, esi
mov eax, r9d
lea rcx, [rbp - 0x11]
sub r14d, edi
mov edx, edi
add rcx, rax
mov r8d, r14d
add rdx, r12
call sub.ntdll.dll_memcpy
mov eax, dword [rbp - 0x19]
mov ecx, eax
add eax, ebx
shr ecx, 3
mov dword [rbp - 0x19], eax
and ecx, 0x3f
cmp eax, ebx
jae 0x180004d50
inc dword [rbp - 0x15]
sub ebx, ecx
cmp ebx, 8
ja 0x180004da2
mov eax, ecx
lea rcx, [rbp - 0x11]
lea rdx, [rbp + 0x77]
add rcx, rax
mov r8d, ebx
call sub.ntdll.dll_memcpy
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x29]
call fcn.180005180
lea eax, [rbx + 0x3f]
cmp eax, 8
jae 0x180004d9e
mov eax, ebx
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x29]
add rdx, rax
call fcn.180005180
add ebx, 0x40
lea eax, [rbx + 0x3f]
cmp eax, 8
jb 0x180004d81
mov ecx, esi
jmp 0x180004da4
mov ebx, esi
mov eax, ebx
mov r8d, 8
lea rdx, [rbp + 0x77]
add rdx, rax
mov eax, ecx
lea rcx, [rbp - 0x11]
add rcx, rax
sub r8d, ebx
call sub.ntdll.dll_memcpy
lea rdx, [rbp - 0x37]
mov r8d, 4
nop
lea rcx, [rbp - 0x29]
lea rdx, [rdx + 4]
movzx eax, byte [rcx + rsi*4]
lea rcx, [rcx + rsi*4]
lea esi, [rsi + 1]
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
dec r8
jne 0x180004dd0
mov eax, dword [rbp - 0x39]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov dword [r15], eax
mov eax, dword [rbp - 0x35]
mov dword [r15 + 4], eax
mov eax, dword [rbp - 0x31]
mov dword [r15 + 8], eax
mov eax, dword [rbp - 0x2d]
mov dword [r15 + 0xc], eax
lea eax, [r8 + 1]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret