Function at 0x1400a6cf8
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140101078]
xor rax, rsp
mov qword [rbp], rax
mov r14, rdx
mov r15, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x60], rdx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
xor r12d, r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], r12b
lea rax, [rsp + 0x48]
mov qword [rsp + 0x40], rax
xor edx, edx
lea r8d, [r12 + 0x68]
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov qword [rbp - 0x70], r12
mov dword [rbp - 0x68], 0x67452301
mov dword [rbp - 0x64], 0xefcdab89
mov dword [rbp - 0x60], 0x98badcfe
mov dword [rbp - 0x5c], 0x10325476
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1400a6da2
mov rcx, qword [r14]
mov rdi, qword [r14 + 0x10]
add rdi, rcx
mov rbx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1400a6dd1
mov rbx, qword [r14]
jmp 0x1400a6dd1
mov al, byte [rbx]
mov byte [rsp + 0x20], al
mov r8d, 1
lea rdx, [rsp + 0x20]
call fcn.1400b73c0
inc rbx
lea rcx, [rbp - 0x70]
cmp rbx, rdi
jne 0x1400a6db8
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x40]
call fcn.1400a7118
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov rsi, r12
mov qword [rsp + 0x38], r12
mov r13, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov dl, r12b
mov rdi, qword [rsp + 0x30]
cmp rbx, r13
je 0x1400a6f88
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx ecx, byte [rbx]
mov byte [rsp + 0x20], cl
lea eax, [r12 + 2]
mov r8d, ecx
mov cl, al
shr r8, cl
movzx eax, dl
or r8, rax
add r8, r9
cmp rdi, rsi
je 0x1400a6e4d
mov al, byte [r8]
mov byte [rdi], al
inc rdi
mov qword [rsp + 0x30], rdi
jmp 0x1400a6e6b
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.1400a7338
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
add r12d, 2
mov ecx, r12d
mov edx, 1
shl dl, cl
dec dl
and dl, byte [rsp + 0x20]
mov ecx, 6
sub ecx, r12d
shl dl, cl
cmp r12d, 6
jne 0x1400a6ecd
movzx r8d, dl
add r8, r9
cmp rdi, rsi
je 0x1400a6eaa
mov al, byte [r8]
mov byte [rdi], al
inc rdi
mov qword [rsp + 0x30], rdi
jmp 0x1400a6ec8
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.1400a7338
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
xor dl, dl
xor r12d, r12d
inc rbx
cmp rbx, r13
jne 0x1400a6e1c
test r12d, r12d
je 0x1400a6f88
movzx r8d, dl
add r8, r9
cmp rdi, rsi
je 0x1400a6efd
mov al, byte [r8]
mov byte [rdi], al
inc rdi
mov qword [rsp + 0x30], rdi
jmp 0x1400a6f14
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.1400a7338
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
cmp r12d, 2
je 0x1400a6f22
cmp r12d, 4
je 0x1400a6f55
jmp 0x1400a6f88
mov byte [rsp + 0x20], 0x3d
cmp rdi, rsi
je 0x1400a6f39
mov byte [rdi], 0x3d
inc rdi
mov qword [rsp + 0x30], rdi
jmp 0x1400a6f55
lea r8, [rsp + 0x20]
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.1400a7338
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov byte [rsp + 0x20], 0x3d
cmp rdi, rsi
je 0x1400a6f6c
mov byte [rdi], 0x3d
inc rdi
mov qword [rsp + 0x30], rdi
jmp 0x1400a6f88
lea r8, [rsp + 0x20]
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.1400a7338
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
xor r12d, r12d
mov qword [r15], r12
mov qword [r15 + 0x10], r12
lea r13d, [r12 + 0xf]
mov qword [r15 + 0x18], r13
mov byte [r15], r12b
mov rbx, qword [rsp + 0x28]
cmp rbx, rdi
je 0x1400a6fd9
sub rdi, rbx
cmp rdi, r13
ja 0x1400a6fca
mov qword [r15 + 0x10], rdi
mov r8, rdi
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.VCRUNTIME140.dll_memmove]
nop
mov byte [rdi + r15], r12b
jmp 0x1400a6fd9
mov r9, rbx
mov rdx, rdi
mov rcx, r15
call fcn.14008540c
nop
mov edi, 0x1000
test rbx, rbx
je 0x1400a7016
sub rsi, rbx
mov rax, rbx
cmp rsi, rdi
jb 0x1400a700a
add rsi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a700a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rsi
mov rcx, rbx
call fcn.1400b8460
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1400a7051
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, rdi
jb 0x1400a704c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a704c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b8460
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r13
mov byte [rsp + 0x68], r12b
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400a70a8
mov rdx, qword [rsp + 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, rdi
jb 0x1400a7095
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a7095
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b8460
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x1400a70da
inc rdx
mov rcx, qword [r14]
cmp rdx, rdi
jb 0x1400a70d5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400a710f
mov rcx, r8
call fcn.1400b8460
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r13
mov byte [r14], r12b
mov rax, r15
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400b8190
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3