Function at 0x14006e610
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x1400f9b40]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov qword [rbp - 0x39], 0
xorps xmm0, xmm0
mov dword [rbp - 0x31], 0x67452301
mov r14, r8
mov dword [rbp - 0x2d], 0xefcdab89
mov rbx, rdx
mov dword [rbp - 0x29], 0x98badcfe
mov rdi, rcx
mov dword [rbp - 0x25], 0x10325476
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
movups xmmword [rbp + 0xf], xmm0
test rdx, rdx
je 0x14006e6b8
mov dword [rbp - 0x39], edx
cmp rdx, 0x40
jb 0x14006e6a4
nop
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.14006ddb0
mov esi, eax
test eax, eax
jne 0x14006e76c
add rdi, 0x40
sub rbx, 0x40
cmp rbx, 0x40
jae 0x14006e680
test rbx, rbx
je 0x14006e6b8
mov r8, rbx
lea rcx, [rbp - 0x21]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rbp - 0x39]
lea rcx, [rbp - 0x21]
and edx, 0x3f
mov byte [rbp + rdx - 0x21], 0x80
inc edx
mov eax, edx
add rcx, rax
cmp edx, 0x38
ja 0x14006e6e5
mov r8d, 0x38
sub r8d, edx
xor edx, edx
call fcn.14009ae90
jmp 0x14006e71d
mov r8d, 0x40
sub r8d, edx
xor edx, edx
call fcn.14009ae90
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x39]
call fcn.14006ddb0
mov esi, eax
test eax, eax
jne 0x14006e76c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp + 0xf], rax
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x35]
lea edx, [rax*8]
mov eax, ecx
shr eax, 0x1d
or edx, eax
lea eax, [rcx*8]
mov dword [rbp + 0x1b], edx
lea rcx, [rbp - 0x39]
lea rdx, [rbp - 0x21]
mov dword [rbp + 0x17], eax
call fcn.14006ddb0
mov esi, eax
test eax, eax
jne 0x14006e76c
mov eax, dword [rbp - 0x31]
mov dword [r14], eax
mov eax, dword [rbp - 0x2d]
mov dword [r14 + 4], eax
mov eax, dword [rbp - 0x29]
mov dword [r14 + 8], eax
mov eax, dword [rbp - 0x25]
mov dword [r14 + 0xc], eax
mov edx, 0x58
lea rcx, [rbp - 0x39]
call fcn.140071030
mov eax, esi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14009a250
add rsp, 0x90
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbx
mov r10, r9
mov r11, r8
mov rbx, rdx
test rcx, rcx
je case.default.0x140072335
mov eax, dword [rcx + 8]
dec eax
cmp eax, 6
ja case.default.0x140072335
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x723bc]
add rcx, rdx
jmp rcx
mov r8, r10
mov rdx, r11
mov rcx, rbx
pop rbx
jmp 0x14006e610
mov r8, r10
mov rdx, r11
mov rcx, rbx
pop rbx
jmp 0x140089eb0
mov r8, r10
mov rdx, r11
mov rcx, rbx
pop rbx
jmp 0x14008b9a0
mov r9d, 1
mov r8, r10
mov rdx, r11
mov rcx, rbx
pop rbx
jmp fcn.14006bb40
xor r9d, r9d
mov r8, r10
mov rdx, r11
mov rcx, rbx
pop rbx
jmp fcn.14006bb40
mov r9d, 1
mov r8, r10
mov rdx, r11
mov rcx, rbx
pop rbx
jmp fcn.1400850f0
xor r9d, r9d
mov r8, r10
mov rdx, r11
mov rcx, rbx
pop rbx
jmp fcn.1400850f0
mov eax, 0xffffaf00
pop rbx
ret
push rbp
push rdi
push r12
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x1400f9b40]
xor rax, rsp
mov qword [rbp + 0x1f], rax
xorps xmm0, xmm0
mov qword [rbp - 0x49], 0
mov r12, r8
mov dword [rbp - 0x41], 0x67452301
mov r8, rdx
mov dword [rbp - 0x3d], 0xefcdab89
mov rdx, rcx
mov dword [rbp - 0x39], 0x98badcfe
lea rcx, [rbp - 0x49]
mov dword [rbp - 0x35], 0x10325476
movups xmmword [rbp - 0x2d], xmm0
mov dword [rbp - 0x31], 0xc3d2e1f0
movups xmmword [rbp - 0x1d], xmm0
movups xmmword [rbp - 0xd], xmm0
movups xmmword [rbp + 3], xmm0
call fcn.14008a2b0
mov edi, eax
test eax, eax
jne 0x14008a128
mov edx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x45]
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xa8], rsi
lea rsi, [0x1400d7c10]
mov qword [rsp + 0xa0], r13
lea r13d, [rdi + 0x40]
lea ecx, [rax*8]
mov qword [rsp + 0x98], r14
mov eax, edx
mov qword [rsp + 0x90], r15
shr eax, 0x1d
mov r14d, edx
or ecx, eax
and r14d, 0x3f
lea eax, [rdx*8]
mov dword [rbp + 0x1b], ecx
mov dword [rbp + 0x17], eax
mov ecx, 0x78
sub ecx, r14d
mov eax, 0x38
sub eax, r14d
cmp r14d, 0x38
cmovae eax, ecx
mov ebx, eax
test eax, eax
je 0x14008a041
add edx, ebx
mov r15d, r13d
sub r15d, r14d
mov dword [rbp - 0x49], edx
cmp edx, ebx
jae 0x140089fb7
inc dword [rbp - 0x45]
test r14d, r14d
je 0x140089ff9
cmp rbx, r15
jb 0x140089ff9
mov eax, r14d
lea rcx, [rbp - 0x2d]
add rcx, rax
mov r8, r15
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rbp - 0x2d]
lea rcx, [rbp - 0x49]
call fcn.140088130
mov edi, eax
test eax, eax
jne 0x14008a100
mov edx, dword [rbp - 0x49]
add rsi, r15
sub rbx, r15
xor r14d, r14d
cmp rbx, r13
jb 0x14008a024
nop
mov rdx, rsi
lea rcx, [rbp - 0x49]
call fcn.140088130
mov edi, eax
test eax, eax
jne 0x14008a100
add rsi, r13
sub rbx, r13
cmp rbx, r13
jae 0x14008a000
mov edx, dword [rbp - 0x49]
test rbx, rbx
je 0x14008a041
mov eax, r14d
lea rcx, [rbp - 0x2d]
add rcx, rax
mov r8, rbx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rbp - 0x49]
mov eax, edx
lea rsi, [rbp + 0x17]
and eax, 0x3f
mov ebx, 8
sub r13d, eax
add edx, ebx
mov r14d, r13d
mov dword [rbp - 0x49], edx
cmp edx, ebx
jae 0x14008a061
inc dword [rbp - 0x45]
test eax, eax
je 0x14008a0c5
cmp r14, rbx
ja 0x14008a0c5
lea rcx, [rbp - 0x2d]
mov r8, r14
add rcx, rax
lea rdx, [rbp + 0x17]
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rbp - 0x2d]
lea rcx, [rbp - 0x49]
call fcn.140088130
mov edi, eax
test eax, eax
jne 0x14008a100
lea rsi, [rbp + 0x17]
sub rbx, r14
add rsi, r14
cmp rbx, 0x40
jb 0x14008a0c0
mov rdx, rsi
lea rcx, [rbp - 0x49]
call fcn.140088130
mov edi, eax
test eax, eax
jne 0x14008a100
add rsi, 0x40
sub rbx, 0x40
cmp rbx, 0x40
jae 0x14008a0a0
test rbx, rbx
je 0x14008a0d7
lea rcx, [rbp - 0x2d]
mov r8, rbx
add rcx, rax
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbp - 0x41]
xor edi, edi
mov dword [r12], eax
mov eax, dword [rbp - 0x3d]
mov dword [r12 + 4], eax
mov eax, dword [rbp - 0x39]
mov dword [r12 + 8], eax
mov eax, dword [rbp - 0x35]
mov dword [r12 + 0xc], eax
mov eax, dword [rbp - 0x31]
mov dword [r12 + 0x10], eax
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xe8]
mov r14, qword [rsp + 0x98]
mov edx, 0x5c
lea rcx, [rbp - 0x49]
call fcn.140071030
mov eax, edi
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14009a250
add rsp, 0xb0
pop r12
pop rdi
pop rbp
ret
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x90
mov rax, qword [0x1400f9b40]
xor rax, rsp
mov qword [rsp + 0x80], rax
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0x67452301
mov rdi, r8
mov dword [rsp + 0x2c], 0xefcdab89
mov r8, rdx
mov dword [rsp + 0x30], 0x98badcfe
mov rdx, rcx
mov dword [rsp + 0x34], 0x10325476
xor eax, eax
mov dword [rsp + 0x38], 0xc3d2e1f0
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x3c], xmm0
movups xmmword [rsp + 0x4c], xmm0
movups xmmword [rsp + 0x5c], xmm0
movups xmmword [rsp + 0x6c], xmm0
call fcn.14008bb50
mov ebx, eax
test eax, eax
jne 0x14008ba2d
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.14008ba60
mov ebx, eax
mov edx, 0x5c
lea rcx, [rsp + 0x20]
call fcn.140071030
mov eax, ebx
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14009a250
mov rbx, qword [rsp + 0xb8]
add rsp, 0x90
pop rdi
ret