Function at 0x140001b70
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc8
mov rax, qword [0x14016a508]
xor rax, rsp
mov qword [rbp + 0xf], rax
xor r15d, r15d
mov qword [rbp - 0x69], rcx
mov r13, rcx
mov dword [rbp - 0x59], 0x67452301
lea ecx, [r8*8]
mov dword [rbp - 0x55], 0xefcdab89
lea eax, [r8*8]
mov dword [rbp - 0x51], 0x98badcfe
mov dword [rbp - 0x4d], 0x10325476
mov rsi, rdx
mov dword [rbp - 0x49], ecx
mov r12, r9
mov r14d, r8d
mov edx, r15d
cmp ecx, eax
jb 0x140001f17
mov eax, r14d
mov ebx, 0x40
shr eax, 0x1d
add edx, eax
mov dword [rbp - 0x45], edx
cmp r14d, ebx
jae 0x140001e95
mov edi, r15d
mov r8d, r14d
mov edx, edi
sub r8d, edi
lea rcx, [rbp - 0x41]
add rdx, rsi
call sub.msvcrt.dll_memcpy
mov r8d, r15d
lea rdx, [rbp + 9]
mov r9d, 2
mov eax, r8d
lea rdx, [rdx + 4]
inc r8d
lea rcx, [rax*4]
movzx eax, byte [rbp + rcx - 0x49]
mov byte [rdx - 6], al
movzx eax, byte [rbp + rcx - 0x48]
mov byte [rdx - 5], al
movzx eax, byte [rbp + rcx - 0x47]
mov byte [rdx - 4], al
movzx eax, byte [rbp + rcx - 0x46]
mov byte [rdx - 3], al
sub r9, 1
jne 0x140001c21
mov ecx, dword [rbp - 0x49]
mov eax, 0x78
mov r9d, ecx
mov esi, 0x38
shr r9d, 3
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 [rbp - 0x49], ecx
cmp ecx, eax
mov ecx, dword [rbp - 0x45]
jb 0x140001f21
mov eax, esi
lea rdx, [0x14016a910]
shr eax, 0x1d
mov edi, ebx
add ecx, eax
sub edi, r9d
mov dword [rbp - 0x45], ecx
cmp esi, edi
jae 0x140001def
mov edi, r15d
lea rax, [0x14016a910]
mov edx, edi
add rdx, rax
lea rcx, [rbp - 0x41]
mov eax, r9d
sub esi, edi
add rcx, rax
mov r8d, esi
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp - 0x49]
mov ecx, eax
shr ecx, 3
add eax, ebx
and ecx, 0x3f
mov dword [rbp - 0x49], eax
cmp eax, ebx
jb 0x140001f28
sub ebx, ecx
cmp ebx, 8
jbe 0x140001e43
mov ebx, r15d
mov eax, ebx
lea rdx, [rbp + 7]
add rdx, rax
mov r8d, 8
mov eax, ecx
sub r8d, ebx
lea rcx, [rbp - 0x41]
add rcx, rax
call sub.msvcrt.dll_memcpy
lea rdx, [r12 + 2]
mov r8d, 4
nop dword [rax + rax]
lea rcx, [r15*4]
movzx eax, byte [rbp + rcx - 0x59]
lea r15d, [r15 + 1]
mov byte [rdx - 2], al
lea rdx, [rdx + 4]
movzx eax, byte [rbp + rcx - 0x58]
mov byte [rdx - 5], al
movzx eax, byte [rbp + rcx - 0x57]
mov byte [rdx - 4], al
movzx eax, byte [rbp + rcx - 0x56]
mov byte [rdx - 3], al
sub r8, 1
jne 0x140001d30
xor edx, edx
lea rcx, [rbp - 0x59]
lea r8d, [rdx + 0x58]
call sub.msvcrt.dll_memset
lea rax, [r12 + 0xf]
lea rcx, [r13 + 0xf]
cmp r13, rax
ja 0x140001d8c
cmp rcx, r12
jae 0x140001eed
movdqu xmm1, xmmword [r13]
movdqu xmm0, xmmword [r12]
pxor xmm1, xmm0
movdqu xmmword [r13], xmm1
mov rcx, qword [0x14016a048]
lea rbx, [0x14016a048]
cmp rcx, rbx
je 0x140001dce
test byte [rcx + 0x1c], 4
jne 0x140001f30
cmp rcx, rbx
je 0x140001dce
test byte [rcx + 0x1c], 4
jne 0x140001f7a
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1400071e0
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, r9d
lea rcx, [rbp - 0x41]
add rcx, rax
mov r8d, edi
call sub.msvcrt.dll_memcpy
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x59]
call fcn.140003b00
lea eax, [rdi + 0x3f]
cmp eax, esi
jae 0x140001e3b
lea r13, [0x14016a910]
nop dword [rax]
mov edx, edi
lea rcx, [rbp - 0x59]
add rdx, r13
call fcn.140003b00
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, esi
jb 0x140001e20
mov r13, qword [rbp - 0x69]
mov r9d, r15d
jmp 0x140001cb7
mov eax, ecx
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x41]
mov r8d, ebx
add rcx, rax
call sub.msvcrt.dll_memcpy
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x59]
call fcn.140003b00
lea eax, [rbx + 0x3f]
cmp eax, 8
jae 0x140001e8d
nop dword [rax]
mov eax, ebx
lea rdx, [rbp + 7]
add rdx, rax
lea rcx, [rbp - 0x59]
call fcn.140003b00
add ebx, 0x40
lea eax, [rbx + 0x3f]
cmp eax, 8
jb 0x140001e70
mov ecx, r15d
jmp 0x140001cfd
movups xmm0, xmmword [rsi]
lea rdx, [rbp - 0x41]
movups xmm1, xmmword [rsi + 0x10]
lea rcx, [rbp - 0x59]
movups xmmword [rbp - 0x41], xmm0
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rbp - 0x31], xmm1
movups xmm1, xmmword [rsi + 0x30]
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm1
call fcn.140003b00
mov edi, ebx
cmp r14d, 0x7f
jbe 0x140001c00
nop dword [rax]
mov edx, edi
lea rcx, [rbp - 0x59]
add rdx, rsi
call fcn.140003b00
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, r14d
jb 0x140001ed0
jmp 0x140001c00
mov r8, r12
mov rcx, r13
sub r8, r13
mov edx, 0x10
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x140001da2
jmp 0x140001f00
mov edx, 1
jmp 0x140001be4
inc ecx
jmp 0x140001c96
inc dword [rbp - 0x45]
jmp 0x140001cef
cmp byte [rcx + 0x19], 5
jb 0x140001dbf
mov eax, dword [r12 + 0xc]
mov edx, 0x1f5
mov rcx, qword [rcx + 0x10]
mov r9d, r14d
mov dword [rsp + 0x38], eax
mov eax, dword [r12 + 8]
mov dword [rsp + 0x30], eax
mov eax, dword [r12 + 4]
mov dword [rsp + 0x28], eax
mov eax, dword [r12]
mov dword [rsp + 0x20], eax
call fcn.1400c99e0
mov rcx, qword [0x14016a048]
jmp 0x140001dbf
cmp byte [rcx + 0x19], 5
jb 0x140001dce
mov eax, dword [r13 + 0xc]
mov edx, 0x1f6
mov rcx, qword [rcx + 0x10]
mov r9d, r14d
mov dword [rsp + 0x38], eax
mov eax, dword [r13 + 8]
mov dword [rsp + 0x30], eax
mov eax, dword [r13 + 4]
mov dword [rsp + 0x28], eax
mov eax, dword [r13]
mov dword [rsp + 0x20], eax
call fcn.1400c99e0
jmp 0x140001dce