Function at 0x18000beb0
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x180063080]
xor rax, rsp
mov qword [rsp + 0x28], rax
xor r9d, r9d
lea r8, [rsp + 0x22]
mov r15, rdx
mov rbx, rcx
lea r10d, [r9 + 2]
nop word [rax + rax]
movzx eax, byte [rbx + r9*4 + 0x18]
lea rcx, [rbx + r9*4]
mov byte [r8 - 2], al
lea r8, [r8 + 4]
movzx eax, byte [rcx + 0x19]
lea r9d, [r9 + 1]
mov byte [r8 - 5], al
movzx eax, byte [rcx + 0x1a]
mov byte [r8 - 4], al
movzx eax, byte [rcx + 0x1b]
mov byte [r8 - 3], al
sub r10, 1
jne 0x18000bef0
mov ecx, dword [rbx + 0x18]
mov eax, 0x78
mov edx, dword [rbx + 0x1c]
mov r9d, ecx
shr r9d, 3
mov esi, 0x38
and r9d, 0x3f
sub eax, r9d
sub esi, r9d
cmp r9d, 0x38
cmovae esi, eax
lea ecx, [rcx + rsi*8]
lea eax, [rsi*8]
mov dword [rbx + 0x18], ecx
cmp ecx, eax
jae 0x18000bf5f
inc edx
mov eax, esi
lea r13, [0x180063b60]
shr eax, 0x1d
mov ebp, 0x40
add eax, edx
mov r14d, ebp
sub r14d, r9d
mov dword [rbx + 0x1c], eax
xor edi, edi
cmp esi, r14d
jb 0x18000bfc9
mov eax, r9d
lea rcx, [rbx + 0x20]
add rcx, rax
mov r8d, r14d
mov rdx, r13
call fcn.180022420
lea rdx, [rbx + 0x20]
mov rcx, rbx
call fcn.18000c120
lea eax, [r14 + 0x3f]
mov edi, r14d
cmp eax, esi
jae 0x18000bfc6
nop
mov edx, edi
mov rcx, rbx
add rdx, r13
call fcn.18000c120
add edi, ebp
lea eax, [rdi + 0x3f]
cmp eax, esi
jb 0x18000bfb0
xor r9d, r9d
mov eax, r9d
lea rcx, [rbx + 0x20]
sub esi, edi
mov edx, edi
mov r8d, esi
add rdx, r13
add rcx, rax
call fcn.180022420
mov eax, dword [rbx + 0x18]
mov ecx, eax
shr ecx, 3
add eax, ebp
and ecx, 0x3f
mov dword [rbx + 0x18], eax
cmp eax, ebp
jae 0x18000bff9
inc dword [rbx + 0x1c]
sub ebp, ecx
xor edi, edi
cmp ebp, 8
ja 0x18000c04f
mov eax, ecx
lea rdx, [rsp + 0x20]
lea rcx, [rbx + 0x20]
mov r8d, ebp
add rcx, rax
call fcn.180022420
lea rdx, [rbx + 0x20]
mov rcx, rbx
call fcn.18000c120
lea eax, [rbp + 0x3f]
mov edi, ebp
cmp eax, 8
jae 0x18000c04d
nop
mov eax, edi
lea rdx, [rsp + 0x20]
add rdx, rax
mov rcx, rbx
call fcn.18000c120
add edi, 0x40
lea eax, [rdi + 0x3f]
cmp eax, 8
jb 0x18000c030
xor ecx, ecx
mov eax, edi
lea rdx, [rsp + 0x20]
add rdx, rax
mov r8d, 8
mov eax, ecx
sub r8d, edi
lea rcx, [rbx + 0x20]
add rcx, rax
call fcn.180022420
xor r8d, r8d
lea rdx, [r15 + 2]
lea r9d, [r8 + 4]
nop dword [rax + rax]
movzx eax, byte [rbx + r8*4 + 8]
lea rcx, [rbx + r8*4]
mov byte [rdx - 2], al
lea rdx, [rdx + 4]
movzx eax, byte [rcx + 9]
lea r8d, [r8 + 1]
mov byte [rdx - 5], al
movzx eax, byte [rcx + 0xa]
mov byte [rdx - 4], al
movzx eax, byte [rcx + 0xb]
mov byte [rdx - 3], al
sub r9, 1
jne 0x18000c080
xor eax, eax
mov qword [rbx + 0x18], r9
mov dword [rbx + 8], 0x67452301
mov dword [rbx + 0xc], 0xefcdab89
mov dword [rbx + 0x10], 0x98badcfe
mov dword [rbx + 0x14], 0x10325476
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x58], rax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1800205b0
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret