Function at 0x140008980
Capabilities:
Hash data with md5

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x128
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
mov rax, qword [0x140045100]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov r12, qword [rbp + 0x90]
xor r13d, r13d
xorps xmm0, xmm0
test rcx, rcx
mov ebx, r13d
mov eax, r13d
cmovne ebx, edx
mov r10, r8
test r8, r8
mov rdi, rcx
movups xmmword [rbp - 0x70], xmm0
cmovne eax, r9d
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
cmp eax, 0x40
jbe 0x140008a08
lea r8, [rbp - 0x70]
mov edx, eax
mov rcx, r10
call fcn.140008f10
jmp 0x140008a17
mov r8d, eax
lea rcx, [rbp - 0x70]
mov rdx, r10
call fcn.140033790
movdqa xmm1, xmmword [str.6666666666666666:2_]
lea rdx, [rsp + 0x38]
movdqa xmm3, xmmword [0x1400355b0]
lea rcx, [rsp + 0x20]
movdqu xmm6, xmmword [rbp - 0x70]
movdqu xmm7, xmmword [rbp - 0x60]
movdqa xmm5, xmm6
movdqu xmm8, xmmword [rbp - 0x50]
movdqa xmm4, xmm7
movdqu xmm9, xmmword [rbp - 0x40]
movdqa xmm2, xmm8
movdqa xmm0, xmm9
mov dword [rsp + 0x20], 0x67452301
pxor xmm5, xmm1
mov dword [rsp + 0x24], 0xefcdab89
pxor xmm4, xmm1
mov dword [rsp + 0x28], 0x98badcfe
pxor xmm2, xmm1
mov dword [rsp + 0x2c], 0x10325476
pxor xmm0, xmm1
mov qword [rsp + 0x30], 0x200
movups xmmword [rsp + 0x38], xmm5
movups xmmword [rsp + 0x48], xmm4
movups xmmword [rsp + 0x58], xmm2
movups xmmword [rsp + 0x68], xmm0
pxor xmm6, xmm3
pxor xmm7, xmm3
pxor xmm8, xmm3
pxor xmm9, xmm3
call fcn.140008000
mov r8d, ebx
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.1400088b0
mov rax, qword [rsp + 0x30]
mov esi, 0x38
mov r9d, eax
mov qword [rbp - 0x80], rax
shr r9d, 3
mov edx, eax
and r9d, 0x3f
mov r15d, 0x78
mov eax, r15d
mov r14d, esi
sub eax, r9d
sub r14d, r9d
cmp r9d, esi
cmovae r14d, eax
lea ecx, [r14*8]
lea eax, [rdx + rcx]
cmp eax, ecx
mov dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x34]
jae 0x140008b1a
inc ecx
mov eax, r14d
lea rdx, [0x140035560]
shr eax, 0x1d
mov ebx, 0x40
add ecx, eax
mov edi, ebx
sub edi, r9d
mov dword [rsp + 0x34], ecx
cmp r14d, edi
jb 0x140008b91
mov eax, r9d
lea rcx, [rsp + 0x38]
add rcx, rax
mov r8d, edi
call fcn.140033790
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140008000
lea eax, [rdi + 0x3f]
cmp eax, r14d
jae 0x140008b8c
lea r13, [0x140035560]
nop dword [rax]
mov edx, edi
lea rcx, [rsp + 0x20]
add rdx, r13
call fcn.140008000
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, r14d
jb 0x140008b70
xor r13d, r13d
mov r9d, r13d
jmp 0x140008b94
mov edi, r13d
lea rax, [0x140035560]
mov edx, edi
add rdx, rax
lea rcx, [rsp + 0x38]
mov eax, r9d
sub r14d, edi
add rcx, rax
mov r8d, r14d
call fcn.140033790
mov eax, dword [rsp + 0x30]
mov ecx, eax
shr ecx, 3
add eax, ebx
and ecx, 0x3f
mov dword [rsp + 0x30], eax
cmp eax, ebx
jae 0x140008bd0
inc dword [rsp + 0x34]
mov edi, ebx
sub edi, ecx
cmp edi, 8
ja 0x140008c32
mov eax, ecx
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x38]
mov r8d, edi
add rcx, rax
call fcn.140033790
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140008000
lea eax, [rdi + 0x3f]
cmp eax, 8
jae 0x140008c2d
nop word [rax + rax]
mov eax, edi
lea rdx, [rbp - 0x80]
add rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140008000
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, 8
jb 0x140008c10
mov ecx, r13d
jmp 0x140008c35
mov edi, r13d
mov eax, edi
lea rdx, [rbp - 0x80]
add rdx, rax
mov r14d, 8
mov eax, ecx
mov r8d, r14d
lea rcx, [rsp + 0x38]
sub r8d, edi
add rcx, rax
call fcn.140033790
movups xmm0, xmmword [rsp + 0x20]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
movups xmmword [rbp - 0x70], xmm0
mov dword [rsp + 0x20], 0x67452301
mov dword [rsp + 0x24], 0xefcdab89
mov dword [rsp + 0x28], 0x98badcfe
mov dword [rsp + 0x2c], 0x10325476
mov qword [rsp + 0x30], 0x200
movups xmmword [rsp + 0x38], xmm6
movups xmmword [rsp + 0x48], xmm7
movups xmmword [rsp + 0x58], xmm8
movups xmmword [rsp + 0x68], xmm9
call fcn.140008000
mov eax, dword [rsp + 0x30]
mov ecx, eax
shr ecx, 3
sub eax, 0xffffff80
and ecx, 0x3f
mov dword [rsp + 0x30], eax
cmp eax, 0x80
jae 0x140008cce
inc dword [rsp + 0x34]
mov edi, ebx
sub edi, ecx
cmp edi, 0x10
ja 0x140008d32
mov eax, ecx
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x38]
mov r8d, edi
add rcx, rax
call fcn.140033790
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140008000
lea eax, [rdi + 0x3f]
cmp eax, 0x10
jae 0x140008d2d
nop dword [rax]
nop dword [rax + rax]
mov eax, edi
lea rdx, [rbp - 0x70]
add rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140008000
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, 0x10
jb 0x140008d10
mov ecx, r13d
jmp 0x140008d35
mov edi, r13d
mov eax, edi
lea rdx, [rbp - 0x70]
add rdx, rax
mov r8d, 0x10
mov eax, ecx
sub r8d, edi
lea rcx, [rsp + 0x38]
add rcx, rax
call fcn.140033790
mov rax, qword [rsp + 0x30]
mov r9d, eax
mov qword [rbp - 0x80], rax
shr r9d, 3
and r9d, 0x3f
sub r15d, r9d
sub esi, r9d
cmp r9d, 0x38
cmovae esi, r15d
lea ecx, [rsi*8]
add eax, ecx
cmp eax, ecx
mov dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x34]
jae 0x140008d8f
inc ecx
mov eax, esi
lea r15, [0x140035560]
shr eax, 0x1d
mov edi, ebx
add ecx, eax
sub edi, r9d
mov dword [rsp + 0x34], ecx
cmp esi, edi
jb 0x140008dfd
mov eax, r9d
lea rcx, [rsp + 0x38]
add rcx, rax
mov r8d, edi
mov rdx, r15
call fcn.140033790
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140008000
lea eax, [rdi + 0x3f]
cmp eax, esi
jae 0x140008df8
nop word [rax + rax]
mov edx, edi
lea rcx, [rsp + 0x20]
add rdx, r15
call fcn.140008000
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, esi
jb 0x140008de0
mov r9d, r13d
jmp 0x140008e00
mov edi, r13d
mov eax, r9d
lea rcx, [rsp + 0x38]
sub esi, edi
mov edx, edi
mov r8d, esi
add rdx, r15
add rcx, rax
call fcn.140033790
mov eax, dword [rsp + 0x30]
mov r9d, eax
shr r9d, 3
add eax, ebx
and r9d, 0x3f
mov dword [rsp + 0x30], eax
cmp eax, ebx
jae 0x140008e37
inc dword [rsp + 0x34]
sub ebx, r9d
cmp ebx, r14d
ja 0x140008e93
mov eax, r9d
lea rcx, [rsp + 0x38]
add rcx, rax
mov r8d, ebx
lea rdx, [rbp - 0x80]
call fcn.140033790
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140008000
lea eax, [rbx + 0x3f]
cmp eax, r14d
jae 0x140008e8e
nop dword [rax]
mov eax, ebx
lea rdx, [rbp - 0x80]
add rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140008000
add ebx, 0x40
lea eax, [rbx + 0x3f]
cmp eax, r14d
jb 0x140008e70
mov r9d, r13d
jmp 0x140008e96
mov ebx, r13d
mov ecx, ebx
lea rax, [rsp + 0x38]
lea rdx, [rbp - 0x80]
sub r14d, ebx
add rdx, rcx
mov r8d, r14d
mov ecx, r9d
add rcx, rax
call fcn.140033790
mov eax, 0x10
test r12, r12
je 0x140008ec9
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r12], xmm0
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.14001af60
lea r11, [rsp + 0x128]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret