Function at 0x140015dc0
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, 0x100
mov r14, r8
mov qword [rsp + 0x20], 0
mov r8d, edx
mov dword [rsp + 0x28], 0x67452301
mov rdx, rcx
mov dword [rsp + 0x2c], 0xefcdab89
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x30], 0x98badcfe
mov dword [rsp + 0x34], 0x10325476
call fcn.140016ab0
mov r8d, dword [rsp + 0x20]
lea rbx, [0x140089180]
mov eax, dword [rsp + 0x24]
mov r15d, r8d
and r15d, 0x3f
mov esi, 0x38
sub esi, r15d
mov r12d, 0x40
lea ecx, [r8*8]
lea edx, [rax*8]
mov byte [rbp + 0x77], cl
mov eax, r8d
shr eax, 0x1d
or edx, eax
mov eax, ecx
shr eax, 8
mov byte [rbp + 0x78], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp + 0x79], al
mov eax, edx
shr eax, 8
mov byte [rbp + 0x7c], al
mov eax, edx
shr eax, 0x10
shr ecx, 0x18
mov byte [rbp + 0x7d], al
mov eax, 0x78
sub eax, r15d
mov byte [rbp + 0x7b], dl
shr edx, 0x18
cmp r15d, 0x38
mov byte [rbp + 0x7a], cl
mov byte [rbp + 0x7e], dl
cmovae esi, eax
test esi, esi
jle 0x140015f5a
add r8d, esi
mov edi, r12d
sub edi, r15d
mov dword [rsp + 0x20], r8d
cmp r8d, esi
jae 0x140015eb6
inc dword [rsp + 0x24]
test r15d, r15d
je 0x140015f01
cmp esi, edi
jl 0x140015f01
mov eax, r15d
lea rcx, [rsp + 0x38]
mov r8, r12
mov rdx, rbx
sub r8, rax
mov eax, r15d
add rcx, rax
call fcn.140043570
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.1400160d0
mov r8d, dword [rsp + 0x20]
lea rbx, [0x1400891c0]
mov eax, r15d
sub esi, edi
sub rbx, rax
xor r15d, r15d
cmp esi, r12d
jl 0x140015f3b
mov edi, esi
shr rdi, 6
mov eax, edi
neg eax
shl eax, 6
add esi, eax
nop word [rax + rax]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1400160d0
add rbx, r12
sub rdi, 1
jne 0x140015f20
mov r8d, dword [rsp + 0x20]
test esi, esi
jle 0x140015f5a
mov eax, r15d
lea rcx, [rsp + 0x38]
add rcx, rax
movsxd r8, esi
mov rdx, rbx
call fcn.140043570
mov r8d, dword [rsp + 0x20]
mov r15d, r8d
lea rbx, [rbp + 0x77]
and r15d, 0x3f
mov esi, 8
add r8d, esi
mov edi, r12d
sub edi, r15d
mov dword [rsp + 0x20], r8d
cmp r8d, esi
jae 0x140015f81
inc dword [rsp + 0x24]
test r15d, r15d
je 0x140015ffb
cmp edi, esi
jg 0x140015ffb
mov eax, r15d
lea rcx, [rsp + 0x38]
sub r12, rax
lea rdx, [rbp + 0x77]
mov eax, r15d
mov r8, r12
add rcx, rax
call fcn.140043570
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.1400160d0
mov eax, r15d
lea rbx, [rbp + 0xb7]
sub rbx, rax
sub esi, edi
xor r15d, r15d
cmp esi, 0x40
jl 0x140015ff7
mov edi, esi
shr rdi, 6
mov eax, edi
neg eax
shl eax, 6
add esi, eax
nop dword [rax]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1400160d0
add rbx, 0x40
sub rdi, 1
jne 0x140015fe0
test esi, esi
jle 0x140016011
mov eax, r15d
lea rcx, [rsp + 0x38]
add rcx, rax
movsxd r8, esi
mov rdx, rbx
call fcn.140043570
mov ecx, dword [rsp + 0x28]
lea r11, [rsp + 0x100]
movzx eax, byte [rsp + 0x28]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov byte [r14], al
mov eax, ecx
shr eax, 8
mov byte [r14 + 1], al
mov eax, ecx
shr eax, 0x10
mov byte [r14 + 2], al
movzx eax, byte [rsp + 0x2c]
mov byte [r14 + 4], al
shr ecx, 0x18
mov byte [r14 + 3], cl
mov ecx, dword [rsp + 0x2c]
mov eax, ecx
shr eax, 8
mov byte [r14 + 5], al
mov eax, ecx
shr eax, 0x10
mov byte [r14 + 6], al
movzx eax, byte [rsp + 0x30]
mov byte [r14 + 8], al
shr ecx, 0x18
mov byte [r14 + 7], cl
mov ecx, dword [rsp + 0x30]
mov eax, ecx
shr eax, 8
mov byte [r14 + 9], al
mov eax, ecx
shr eax, 0x10
mov byte [r14 + 0xa], al
movzx eax, byte [rsp + 0x34]
mov byte [r14 + 0xc], al
shr ecx, 0x18
mov byte [r14 + 0xb], cl
mov ecx, dword [rsp + 0x34]
mov eax, ecx
shr eax, 8
mov byte [r14 + 0xd], al
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [r14 + 0xf], cl
mov byte [r14 + 0xe], al
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret