Function at 0x14000ab20
Capabilities:
Hash data with md5

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x1403630c0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r15d, 0
mov qword [rsp + 0x38], rcx
lea rbx, [r8 + 0x48]
mov dword [r11 - 0x58], 0x67452301
mov dword [r11 - 0x4c], 0x10325476
mov r14d, 0xefcdab89
mov dword [r11 - 0x54], r14d
mov r13d, 0x98badcfe
mov dword [r11 - 0x50], r13d
mov rdi, r8
mov qword [rsp + 0x20], r15
mov rsi, rdx
lea rbp, [r8*8]
mov r12d, r15d
and rbx, 0xffffffffffffffc0
je 0x14000ac00
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x14000aff5
cmp rbx, 0x1000
jb 0x14000abdf
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x14000afe9
call fcn.140046c50
test rax, rax
je 0x14000afef
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14000abea
mov rcx, rbx
call fcn.140046c50
mov r15, rax
mov r8, rbx
mov qword [rsp + 0x20], r15
xor edx, edx
lea r12, [r15 + rbx]
mov rcx, r15
call main
mov r8, rdi
mov rdx, rsi
mov rcx, r15
call fcn.140071ee0
sub r12, r15
mov byte [r15 + rdi], 0x80
mov rcx, r12
mov qword [r15 + rbx - 8], rbp
shr rcx, 6
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x14000af7a
mov r12, r15
lea r10, [0x140000000]
mov r15d, 0x67452301
mov eax, 0x10325476
nop word [rax + rax]
movups xmm0, xmmword [r12]
xor r8d, r8d
mov ebp, 2
movups xmm1, xmmword [r12 + 0x10]
mov r9d, r14d
mov esi, r13d
movaps xmmword [rsp + 0x40], xmm0
mov r11d, r15d
movups xmm0, xmmword [r12 + 0x20]
mov edi, eax
xor r14d, r14d
movaps xmmword [rsp + 0x50], xmm1
mov r13d, ebp
movups xmm1, xmmword [r12 + 0x30]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
cmp r8d, 0x10
jge 0x14000acad
mov eax, esi
mov edx, r9d
not edx
and eax, r9d
and edx, edi
or edx, eax
mov eax, r8d
jmp 0x14000acfe
mov edx, edi
cmp r8d, 0x20
jge 0x14000accd
not edx
mov eax, edi
and eax, r9d
and edx, esi
or edx, eax
lea eax, [r8*4 + 1]
add eax, r8d
jmp 0x14000acf0
cmp r8d, 0x30
jge 0x14000ace5
xor edx, esi
lea eax, [r8*2 + 5]
xor edx, r9d
add eax, r8d
jmp 0x14000acf0
not edx
or edx, r9d
xor edx, esi
imul eax, r8d, 7
and eax, 0x8000000f
jge 0x14000acfe
dec eax
or eax, 0xfffffff0
inc eax
mov eax, dword [rsp + rax*4 + 0x40]
mov ebx, r9d
add eax, dword [r14 + r10 + 0x76d10]
movzx ecx, byte [r14 + r10 + 0x76c10]
add eax, edx
add eax, r11d
rol eax, cl
add r9d, eax
lea eax, [r13 - 1]
cmp eax, 0x10
jge 0x14000ad41
mov edx, r9d
lea r10d, [r8 + 2]
not edx
mov eax, ebx
and eax, r9d
and edx, esi
or edx, eax
lea eax, [r10 - 1]
jmp 0x14000adad
lea eax, [rbp - 1]
mov edx, esi
cmp eax, 0x20
jge 0x14000ad75
not edx
mov eax, esi
and eax, r9d
and edx, ebx
or edx, eax
lea eax, [r8*4 + 6]
add eax, r8d
and eax, 0x8000000f
jge 0x14000ad6f
dec eax
or eax, 0xfffffff0
inc eax
lea r10d, [r8 + 2]
jmp 0x14000adad
lea r10d, [r8 + 2]
lea eax, [r10 - 1]
cmp eax, 0x30
jge 0x14000ad91
xor edx, ebx
lea eax, [r8 + 4]
xor edx, r9d
lea eax, [r8 + rax*2]
jmp 0x14000ad9f
not edx
lea eax, [r8 + 1]
or edx, r9d
xor edx, ebx
imul eax, eax, 7
and eax, 0x8000000f
jge 0x14000adad
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, dword [rsp + rax*4 + 0x40]
mov r11d, r9d
lea rax, [0x140000000]
add ecx, dword [r14 + rax + 0x76d14]
lea eax, [rdx + rcx]
add eax, edi
lea rdi, [0x140000000]
movzx ecx, byte [r14 + rdi + 0x76c14]
rol eax, cl
add r9d, eax
cmp r10d, 0x10
jge 0x14000adf7
mov eax, r11d
mov edx, r9d
not edx
and eax, r9d
and edx, ebx
or edx, eax
mov eax, r10d
jmp 0x14000ae4e
mov edx, ebx
cmp r10d, 0x20
jge 0x14000ae18
not edx
mov eax, ebx
and eax, r9d
and edx, r11d
or edx, eax
lea eax, [r8*4 + 0xb]
add eax, r8d
jmp 0x14000ae40
cmp r10d, 0x30
jge 0x14000ae31
xor edx, r11d
lea eax, [r8*2 + 0xb]
xor edx, r9d
add eax, r8d
jmp 0x14000ae40
not edx
lea eax, [r8 + 2]
or edx, r9d
xor edx, r11d
imul eax, eax, 7
and eax, 0x8000000f
jge 0x14000ae4e
dec eax
or eax, 0xfffffff0
inc eax
mov eax, dword [rsp + rax*4 + 0x40]
lea rcx, [0x140000000]
add eax, dword [r14 + rdi + 0x76d18]
mov edi, r9d
movzx ecx, byte [r14 + rcx + 0x76c18]
add eax, edx
add eax, esi
rol eax, cl
add r9d, eax
lea eax, [r10 + 1]
cmp eax, 0x10
jge 0x14000ae90
mov edx, r9d
mov ecx, edi
not edx
and ecx, r9d
and edx, r11d
or edx, ecx
jmp 0x14000aede
mov edx, r11d
cmp eax, 0x20
jge 0x14000aeae
not edx
mov eax, r11d
and eax, r9d
and edx, edi
or edx, eax
lea eax, [r8 + 4]
lea eax, [r8 + rax*4]
jmp 0x14000aed0
cmp eax, 0x30
jge 0x14000aec2
xor edx, edi
lea eax, [r8 + 7]
xor edx, r9d
lea eax, [r8 + rax*2]
jmp 0x14000aed0
not edx
lea eax, [r8 + 3]
or edx, r9d
xor edx, edi
imul eax, eax, 7
and eax, 0x8000000f
jge 0x14000aede
dec eax
or eax, 0xfffffff0
inc eax
mov eax, dword [rsp + rax*4 + 0x40]
lea r10, [0x140000000]
add eax, dword [r14 + r10 + 0x76d1c]
mov esi, r9d
movzx ecx, byte [r14 + r10 + 0x76c1c]
add edx, eax
add edx, ebx
add r8d, 4
rol edx, cl
add r14, 0x10
add r9d, edx
add r13d, 4
add ebp, 4
cmp r8d, 0x40
jl 0x14000ac94
mov r14d, dword [rsp + 0x84]
add r15d, r11d
mov r13d, dword [rsp + 0x88]
add r14d, r9d
mov eax, dword [rsp + 0x8c]
add r13d, esi
add eax, edi
mov dword [rsp + 0x84], r14d
add r12, 0x40
mov dword [rsp + 0x88], r13d
sub qword [rsp + 0x28], 1
mov dword [rsp + 0x8c], eax
jne 0x14000ac50
mov r12, qword [rsp + 0x30]
mov dword [rsp + 0x80], r15d
mov r15, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rbx], xmm0
test r15, r15
je 0x14000afbb
cmp r12, 0x1000
jb 0x14000afb0
mov rcx, qword [r15 - 8]
add r12, 0x27
sub r15, rcx
lea rax, [r15 - 8]
cmp rax, 0x1f
ja 0x14000afef
mov r15, rcx
mov rdx, r12
mov rcx, r15
call fcn.140046c8c
mov rax, rbx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140046ff0
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140006c80
int3
call fcn.14004ccb4
int3
call fcn.140006ce0
int3