Function at 0x1400cdd68
Capabilities:
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x50
mov qword [rax - 0x10], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rsi, r8
mov rdi, rdx
cmp qword [0x14017b2e8], 0
jne 0x1400cddeb
mov edx, MsiPreviewDialogW
lea rcx, [0x140129fb8]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_strrchr]
nop dword [rax + rax]
test rax, rax
je 0x1400cddb6
inc rax
jmp 0x1400cddbd
lea rax, [0x140129fb8]
mov rdx, rax
lea rcx, [0x14017bb60]
call fcn.140007964
shl rax, 0x34
mov ecx, dword [0x14017b2f0]
or rcx, rax
movabs rax, 0x42500000000
or rax, rcx
jmp 0x1400ce069
mov rax, qword [r8]
mov qword [r8 + 8], rax
cmp qword [rdx + 0x10], 0
jne 0x1400cde08
movabs rax, 0x8000000000
jmp 0x1400ce069
and qword [rsp + 0x30], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8003
mov rcx, qword [0x14017b2e8]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
nop dword [rax + rax]
test eax, eax
jne 0x1400cde97
lea edx, [rax + 0x5c]
lea rcx, [0x140129fb8]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_strrchr]
nop dword [rax + rax]
test rax, rax
je 0x1400cde5a
inc rax
jmp 0x1400cde61
lea rax, [0x140129fb8]
mov rdx, rax
lea rcx, [0x14017bb60]
call fcn.140007964
mov rbx, rax
shl rbx, 0x34
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov eax, eax
or rax, rbx
movabs rcx, 0x62500000000
jmp 0x1400cdde3
mov rbx, qword [rsp + 0x30]
mov ecx, 0x18
call fcn.1400d2508
mov qword [rsp + 0x40], rax
lea rcx, vtable.appv::utility::scope_guard_func_impl_class_std::_Binder_struct_std::_Unforced__int____cdecl___unsigned_long_long_unsigned___int64____unsigned_long_long_unsigned___int64_____ptr64__.0
mov qword [rax], rcx
mov rcx, qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rbx
mov qword [rsp + 0x38], rax
mov eax, 0xffffffff
cmp qword [rdi + 0x10], rax
ja 0x1400ce07a
mov ecx, dword [rdi + 0x10]
add rcx, rcx
mov rax, rcx
shr rax, 0x20
test eax, eax
jne 0x1400ce080
cmp qword [rdi + 0x18], 8
jb 0x1400cdef7
mov rdi, qword [rdi]
xor r9d, r9d
mov r8d, ecx
mov rdx, rdi
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
nop dword [rax + rax]
test eax, eax
jne 0x1400cdf6f
lea edx, [rax + 0x5c]
lea rcx, [0x140129fb8]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_strrchr]
nop dword [rax + rax]
test rax, rax
je 0x1400cdf35
inc rax
jmp 0x1400cdf3c
lea rax, [0x140129fb8]
mov rdx, rax
lea rcx, [0x14017bb60]
call fcn.140007964
mov rbx, rax
shl rbx, 0x34
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
movabs rax, 0x72500000000
jmp 0x1400ce036
and dword [rsp + 0x60], 0
mov edx, 4
mov dword [rsp + 0x78], edx
and dword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
nop dword [rax + rax]
test eax, eax
je 0x1400cdfdf
mov edx, dword [rsp + 0x60]
mov rcx, rsi
call fcn.14001cd20
cmp dword [rsp + 0x60], 0
jbe 0x1400ce04b
and dword [rsp + 0x20], 0
lea r9, [rsp + 0x60]
mov r8, qword [rsi]
mov edx, 2
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
nop dword [rax + rax]
test eax, eax
jne 0x1400ce04b
mov edx, MsiPreviewDialogW
lea rcx, [0x140129fb8]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_strrchr]
nop dword [rax + rax]
test rax, rax
je 0x1400ce001
inc rax
jmp 0x1400ce008
lea rax, [0x140129fb8]
mov rdx, rax
lea rcx, [0x14017bb60]
call fcn.140007964
mov rbx, rax
shl rbx, 0x34
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
movabs rax, 0x82500000000
or rdi, rbx
or rdi, rax
lea rcx, [rsp + 0x38]
call fcn.140023434
mov rax, rdi
jmp 0x1400ce069
lea rcx, [rsp + 0x38]
call fcn.140023434
jmp 0x1400cddf9
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
call fcn.14001a938
nop
call fcn.14001a938
int3