Function at 0x180024f00
Capabilities:
Hash data with md5

Disassembly:
mov r11, rsp
push rbp
push rbx
push rdi
push r13
push r15
lea rbp, [r11 - 0x48]
sub rsp, 0x120
mov rax, qword [0x1800d1eb0]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r13, rdx
xor edx, edx
mov rdi, rcx
mov qword [r11 + 8], rsi
lea rcx, [rbp - 0x5f]
lea r8d, [rdx + 0x63]
mov qword [r11 + 0x20], r14
mov dword [rsp + 0x38], 0x67452301
mov dword [rsp + 0x3c], 0xefcdab89
mov dword [rsp + 0x40], 0x98badcfe
mov dword [rsp + 0x44], 0x10325476
mov byte [rbp - 0x60], 0
call fcn.18007e840
lea rcx, [rbp - 0x60]
sub rcx, rdi
nop dword [rax + rax]
movzx eax, byte [rdi]
inc rdi
mov byte [rcx + rdi - 1], al
test al, al
jne 0x180024f70
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp - 0x60]
repne scasb al, byte [rdi]
mov r15d, 1
mov ebx, 0x40
not rcx
lea edx, [rcx*8 - 8]
lea eax, [rcx*8 - 8]
lea rsi, [rcx - 1]
xor ecx, ecx
cmp edx, eax
mov eax, esi
cmovb ecx, r15d
shr eax, 0x1d
mov dword [rsp + 0x30], edx
add ecx, eax
mov dword [rsp + 0x34], ecx
cmp esi, ebx
jb 0x18002504c
mov rax, qword [rbp - 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x70], rax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x78], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x80], rax
call fcn.180024680
mov edi, ebx
cmp esi, 0x80
jb 0x18002504e
nop dword [rax]
mov eax, edi
lea rcx, [rsp + 0x38]
lea rdx, [rbp + rax - 0x60]
call fcn.180024680
add edi, ebx
lea eax, [rdi + 0x40]
cmp eax, esi
jbe 0x180025030
jmp 0x18002504e
xor edi, edi
mov eax, edi
sub esi, edi
lea rcx, [rsp + 0x48]
lea rdx, [rbp + rax - 0x60]
mov r8d, esi
call fcn.18007abc0
mov r11d, dword [rsp + 0x30]
mov esi, 0x38
mov r9d, r11d
shr r9d, 3
and r9d, 0x3f
cmp r9d, 0x38
jb 0x180025084
mov esi, 0x78
sub esi, r9d
lea rcx, [rbp - 0x6f]
lea rdx, [rsp + 0x31]
mov edi, 2
nop word [rax + rax]
movzx eax, byte [rdx - 1]
add rcx, 4
add rdx, 4
dec rdi
mov byte [rcx - 5], al
movzx eax, byte [rdx - 4]
mov byte [rcx - 4], al
movzx eax, byte [rdx - 3]
mov byte [rcx - 3], al
movzx eax, byte [rdx - 2]
mov byte [rcx - 2], al
jne 0x1800250a0
lea ecx, [r11 + rsi*8]
lea eax, [rsi*8]
mov edi, ebx
sub edi, r9d
mov dword [rsp + 0x30], ecx
cmp ecx, eax
mov ecx, dword [rsp + 0x34]
jae 0x1800250e7
inc ecx
mov eax, esi
lea r14, [0x1800d35d0]
shr eax, 0x1d
add ecx, eax
mov dword [rsp + 0x34], ecx
cmp esi, edi
jb 0x180025157
lea rcx, [rsp + r9 + 0x48]
mov r8d, edi
mov rdx, r14
mov qword [rsp + 0x160], r12
call fcn.18007abc0
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x38]
call fcn.180024680
lea r12d, [rdi + 0x40]
cmp r12d, esi
ja 0x18002514a
nop dword [rax]
mov edx, edi
lea rcx, [rsp + 0x38]
add rdx, r14
call fcn.180024680
mov edi, r12d
add r12d, ebx
cmp r12d, esi
jbe 0x180025130
mov r12, qword [rsp + 0x160]
xor r9d, r9d
jmp 0x180025159
xor edi, edi
sub esi, edi
mov edx, edi
lea rcx, [rsp + r9 + 0x48]
mov r8d, esi
add rdx, r14
call fcn.18007abc0
mov edx, dword [rsp + 0x30]
mov r14, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x150]
mov ecx, edx
add edx, 0x40
shr ecx, 3
mov dword [rsp + 0x30], edx
and ecx, 0x3f
sub ebx, ecx
cmp edx, 0x40
jae 0x18002519b
inc dword [rsp + 0x34]
cmp ebx, 8
ja 0x1800251ef
lea rcx, [rsp + rcx + 0x48]
lea rdx, [rbp - 0x70]
mov r8d, ebx
call fcn.18007abc0
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x38]
call fcn.180024680
lea edi, [rbx + 0x40]
cmp edi, 8
ja 0x1800251eb
nop dword [rax + rax]
mov eax, ebx
lea rcx, [rsp + 0x38]
lea rdx, [rbp + rax - 0x70]
call fcn.180024680
mov ebx, edi
add edi, 0x40
cmp edi, 8
jbe 0x1800251d0
xor ecx, ecx
jmp 0x1800251f1
xor ebx, ebx
mov eax, ebx
mov r8d, 8
lea rcx, [rsp + rcx + 0x48]
lea rdx, [rbp + rax - 0x70]
sub r8d, ebx
call fcn.18007abc0
lea rdx, [rbp - 0x6f]
lea rcx, [rsp + 0x3a]
mov edi, 4
nop dword [rax]
movzx eax, byte [rcx - 2]
add rdx, 4
add rcx, 4
dec rdi
mov byte [rdx - 5], al
movzx eax, byte [rcx - 5]
mov byte [rdx - 4], al
movzx eax, byte [rcx - 4]
mov byte [rdx - 3], al
movzx eax, byte [rcx - 3]
mov byte [rdx - 2], al
jne 0x180025220
xor eax, eax
mov ebx, 4
mov qword [r13], rax
mov qword [r13 + 8], rax
mov byte [r13 + 0x10], al
nop dword [rax]
movzx r9d, byte [rbp + rbx - 0x70]
lea r8, str._02x
lea rcx, [rsp + 0x20]
mov edx, 4
call fcn.18007b784
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
lea r8, [rsp + 0x20]
repne scasb al, byte [rdi]
xor edx, edx
nop
movzx ecx, byte [r8 + rdx]
inc rdx
mov byte [rdi + rdx - 2], cl
test cl, cl
jne 0x180025290
inc rbx
cmp rbx, 0xc
jl 0x180025260
mov eax, r15d
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.18007a7c0
add rsp, 0x120
pop r15
pop r13
pop rdi
pop rbx
pop rbp
ret