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

Disassembly:
push 0x398
mov eax, 0x1001243f
call fcn.10011033
mov edi, ecx
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x354], eax
mov al, byte [ebp + 0x1c]
mov dword [edi], vtable.CUrlFilter.0
mov dword [edi + 0x5cc], ebx
mov byte [edi + 0x5d4], al
mov dword [edi + 0x5d8], ebx
mov dword [ebp - 0x368], edi
mov dword [edi + 0x5ec], ebx
mov eax, dword [ebp + 0x18]
lea edx, [ebp - 0x364]
push ebx
mov dword [edi + 0x5f0], eax
lea eax, [edi + 4]
push edx
push eax
push ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x364], 0x104
call dword [sym.imp.shlwapi.dll_PathCreateFromUrlW]
test eax, eax
jns 0x1000ccac
mov dword [ebp - 0x354], eax
push 0x10017740
lea eax, [ebp - 0x354]
push eax
call sub.MSVCR120.dll__CxxThrowException
lea eax, [ebp - 0x3a4]
push eax
push esi
call fcn.1000e8d5
pop ecx
pop ecx
test al, al
jne 0x1000cccb
mov dword [ebp - 0x354], 0x80004005
jmp 0x1000cc9b
cmp dword [ebp - 0x398], 5
je 0x1000cda1
cmp dword [ebp - 0x398], 3
je 0x1000ccea
cmp dword [ebp - 0x398], 4
jne 0x1000ccbf
push 0x1e
lea eax, [edi + 0x2d4]
push eax
push dword [ebp - 0x39c]
push dword [ebp - 0x3a0]
push ebx
push 0xfde9
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov esi, dword [ebp - 0x394]
xor ecx, ecx
push 0x2f
push dword [ebp - 0x378]
mov word [edi + eax*2 + 0x2d4], cx
mov dword [ebp - 0x358], esi
call dword [sym.imp.MSVCR120.dll_strrchr]
mov ebx, eax
sub ebx, esi
lea eax, [ebx + 1]
push eax
call fcn.1000e8d5
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x35c], esi
test esi, esi
je 0x1000ccbf
push ebx
push dword [ebp - 0x358]
push esi
call fcn.1000e8d5
add esp, 0xc
lea eax, [ebp - 0x34c]
xor ecx, ecx
mov byte [esi + ebx], cl
mov esi, 0x12c
push esi
push eax
push ebx
push dword [ebp - 0x35c]
push ecx
push 0xfde9
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
add eax, eax
cmp eax, 0x258
jae 0x1000cd9c
xor ecx, ecx
mov word [ebp + eax - 0x34c], cx
jmp 0x1000cf1a
call fcn.1000e8d5
push str.http
lea eax, [edi + 0x2d4]
push 0x1e
push eax
call dword [sym.imp.MSVCR120.dll_swprintf_s]
mov esi, dword [ebp - 0x378]
push 0x2f
push esi
mov dword [ebp - 0x350], esi
call dword [sym.imp.MSVCR120.dll_strrchr]
mov ebx, eax
sub ebx, esi
lea eax, [ebx + 1]
push eax
call fcn.1000e8d5
mov esi, eax
add esp, 0x18
test esi, esi
je 0x1000ccbf
push ebx
push dword [ebp - 0x350]
push esi
call fcn.1000e8d5
add esp, 0xc
xor eax, eax
mov byte [esi + ebx], al
mov ebx, eax
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x360], eax
push 0xf0000060
push 1
push eax
push eax
lea eax, [ebp - 0x35c]
mov dword [ebp - 0x358], 0x10
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x1000ceed
lea eax, [ebp - 0x360]
push eax
xor eax, eax
push eax
push eax
push 0x8003
push dword [ebp - 0x35c]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x1000cecd
xor eax, eax
push eax
push SysReAllocString
push esi
call fcn.1000e8d5
add esp, 0xc
xor ecx, ecx
push ecx
push eax
push esi
push dword [ebp - 0x360]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x1000ceae
xor eax, eax
push eax
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0xf4]
push eax
push 2
push dword [ebp - 0x360]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x1000ceae
push dword [ebp - 0x358]
lea eax, [ebp - 0xf4]
push eax
call fcn.1000e8d5
pop ecx
pop ecx
mov ebx, eax
cmp dword [ebp - 0x360], 0
je 0x1000cecd
push dword [ebp - 0x360]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor eax, eax
mov dword [ebp - 0x360], eax
jmp 0x1000cecf
xor eax, eax
cmp dword [ebp - 0x35c], 0
je 0x1000ceed
push eax
push dword [ebp - 0x35c]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
xor eax, eax
mov dword [ebp - 0x35c], eax
push esi
call sub.MSVCR120.dll_void___cdecl_operator_delete___void__
push ebx
push str._s.pdfmedia.acrobat.com
mov esi, 0x12c
lea eax, [ebp - 0x34c]
push esi
push eax
call dword [sym.imp.MSVCR120.dll_swprintf_s]
add esp, 0x14
test ebx, ebx
je 0x1000cf1a
push ebx
call sub.MSVCR120.dll_void___cdecl_operator_delete___void__
pop ecx
lea eax, [edi + 4]
push eax
call dword [sym.imp.shlwapi.dll_PathFindExtensionW]
xor ecx, ecx
mov dword [ebp - 0x358], eax
cmp word [eax], cx
jne 0x1000cf4b
mov dword [ebp - 0x350], 0x80004005
push 0x10017740
lea eax, [ebp - 0x350]
jmp 0x1000cca6
push dword [ebp - 0x354]
mov ebx, dword [sym.imp.MSVCR120.dll_wcslen]
call ebx
inc eax
pop ecx
cmp eax, 0x64
ja 0x1000cf31
push dword [ebp - 0x354]
lea eax, [edi + 0x20c]
push eax
call dword [sym.imp.MSVCR120.dll_wcscpy]
xor eax, eax
push eax
call dword [sym.imp.MSVCR120.dll__time64]
push eax
call dword [sym.imp.MSVCR120.dll_srand]
call dword [sym.imp.MSVCR120.dll_rand]
push eax
push str.pdf_08x
lea eax, [ebp - 0x74]
push 0x32
push eax
call dword [sym.imp.MSVCR120.dll_swprintf_s]
add esp, 0x20
cmp dword [ebp + 0xc], esi
jae 0x1000cfaf
mov dword [ebp - 0x350], 0x80020013
jmp 0x1000cf3b
lea eax, [ebp - 0x74]
push eax
call ebx
mov esi, eax
lea eax, [edi + 0x2d4]
push eax
call ebx
push dword [ebp - 0x358]
lea esi, [eax + esi*2]
call ebx
add esi, eax
lea eax, [ebp - 0x34c]
push eax
call ebx
push 0x1001455c
add esi, eax
call ebx
inc eax
mov ecx, 0x12c
add eax, esi
add esp, 0x14
cmp eax, ecx
ja 0x1000cfa3
push dword [ebp - 0x358]
lea eax, [ebp - 0x74]
push eax
push eax
lea eax, [ebp - 0x34c]
push eax
lea esi, [edi + 0x2d4]
push esi
push str._s:___s__s__s_s
push ecx
lea eax, [edi + 0x310]
push eax
call dword [sym.imp.MSVCR120.dll_swprintf_s]
push esi
call ebx
push str.:__nosuchfile
mov esi, eax
call ebx
inc eax
add esp, 0x28
add eax, esi
cmp eax, 0x32
ja 0x1000cfa3
lea eax, [edi + 0x2d4]
push eax
push str._s:__nosuchfile
lea eax, [edi + 0x568]
push 0x32
push eax
call dword [sym.imp.MSVCR120.dll_swprintf_s]
add esp, 0x10
lea eax, [edi + 0x5ec]
xor ecx, ecx
push ecx
push eax
push ecx
call sub.urlmon.dll_CoInternetGetSession
test eax, eax
jns 0x1000d072
mov dword [ebp - 0x350], eax
jmp 0x1000cf3b
mov eax, edi
call fcn.10010fe2
ret 0x18