Function at 0x140014d60
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x100
mov r14, r8
mov dword [rsp + 0x28], 0x67452301
mov r8d, edx
mov dword [rsp + 0x2c], 0xefcdab89
mov rdx, rcx
mov dword [rsp + 0x30], 0x98badcfe
xor eax, eax
mov dword [rsp + 0x34], 0x10325476
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.140015a50
mov r8d, dword [rsp + 0x20]
lea rdi, [0x1400842e0]
mov eax, dword [rsp + 0x24]
mov r15d, r8d
and r15d, 0x3f
mov esi, 0x38
sub esi, r15d
mov r13d, 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 0x140014efa
add r8d, esi
mov r12d, r13d
sub r12d, r15d
mov dword [rsp + 0x20], r8d
cmp r8d, esi
jae 0x140014e5a
inc dword [rsp + 0x24]
test r15d, r15d
je 0x140014ea4
cmp esi, r12d
jl 0x140014ea4
mov eax, r15d
lea rcx, [rsp + 0x38]
mov ebx, r15d
mov r8, r13
sub r8, rax
add rcx, rbx
mov rdx, rdi
call fcn.140042070
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140015070
mov r8d, dword [rsp + 0x20]
lea rdi, [0x140084320]
sub rdi, rbx
sub esi, r12d
xor r15d, r15d
cmp esi, r13d
jl 0x140014edb
mov ebx, esi
shr rbx, 6
mov eax, ebx
neg eax
shl eax, 6
add esi, eax
nop dword [rax + rax]
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.140015070
add rdi, r13
sub rbx, 1
jne 0x140014ec0
mov r8d, dword [rsp + 0x20]
test esi, esi
jle 0x140014efa
mov eax, r15d
lea rcx, [rsp + 0x38]
add rcx, rax
movsxd r8, esi
mov rdx, rdi
call fcn.140042070
mov r8d, dword [rsp + 0x20]
mov r15d, r8d
lea rdi, [rbp + 0x77]
and r15d, 0x3f
mov esi, 8
add r8d, esi
mov r12d, r13d
sub r12d, r15d
mov dword [rsp + 0x20], r8d
cmp r8d, esi
jae 0x140014f21
inc dword [rsp + 0x24]
test r15d, r15d
je 0x140014f9b
cmp r12d, esi
jg 0x140014f9b
mov eax, r15d
lea rcx, [rsp + 0x38]
sub r13, rax
mov ebx, r15d
mov r8, r13
lea rdx, [rbp + 0x77]
add rcx, rbx
call fcn.140042070
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140015070
lea rdi, [rbp + 0xb7]
sub esi, r12d
sub rdi, rbx
xor r15d, r15d
cmp esi, 0x40
jl 0x140014f97
mov ebx, esi
shr rbx, 6
mov eax, ebx
neg eax
shl eax, 6
add esi, eax
nop dword [rax + rax]
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.140015070
add rdi, 0x40
sub rbx, 1
jne 0x140014f80
test esi, esi
jle 0x140014fb1
mov eax, r15d
lea rcx, [rsp + 0x38]
add rcx, rax
movsxd r8, esi
mov rdx, rdi
call fcn.140042070
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 rdi, qword [r11 + 0x48]
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 r13
pop r12
pop rbp
ret