Function at 0x10007f60
Capabilities:
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0x10]
lea edx, [eax + 0xc]
push esi
mov ecx, eax
push edi
mov dword [ebp - 4], ecx
mov dword [ebp - 0x1c], edx
cmp eax, edx
jae case.0x10007fa3.111
mov esi, dword [ebp + 0x10]
jmp 0x10007f90
lea eax, [ecx - 0x6b]
cmp eax, 0x1b
ja case.0x10007fa3.112
movzx eax, byte [eax + 0x100081ac]
jmp dword [eax*4 + 0x10008180]
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx + 0x20]
mov dword [ebp - 4], 0x78
mov ebx, edi
jmp case.0x10007fa3.112
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x10007fcf
push str.Could_not_find_RPC_ID_in_function_map
jmp 0x10008116
mov edx, dword [eax + 4]
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], 0x6e
mov ebx, edx
jmp case.0x10007fa3.112
test esi, esi
je 0x10008088
mov edi, 0x7d
mov eax, edi
sub eax, 0x7d
je 0x10008068
sub eax, 0x14
je 0x1000804b
sub eax, 0x14
jne 0x10008079
test esi, esi
je 0x1000803f
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x10]
push ecx
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
mov esi, eax
test esi, esi
je 0x1000803f
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
push 0
lea ecx, [ebp - 8]
push ecx
push edx
push 2
push eax
mov dword [ebp - 8], 0x20
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
mov esi, eax
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
jmp 0x10008079
mov eax, dword [ebp + 0x10]
push 0
lea edx, [ebp - 0x30]
push edx
push 5
push eax
mov dword [ebp - 0x30], 0x800c
call dword [sym.imp.ADVAPI32.dll_CryptSetHashParam]
mov esi, eax
jmp 0x10008079
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
add edi, 0x14
cmp edi, 0xb9
jb 0x10007ff0
mov ebx, esi
jmp case.0x10007fa3.112
xchg dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 8], 0
jmp case.0x10007fa3.112
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x10]
lea edx, [ebp + 0x10]
push edx
mov edx, dword [eax + 4]
push 0
push ecx
push 0x8009
push edx
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
mov esi, eax
jmp case.0x10007fa3.112
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x10008163
xor esi, esi
jmp case.0x10007fa3.112
xor edi, edi
cmp dword [ebp + 0x18], edi
jne case.0x10007fa3.112
push str.attributes___
push 0x1003455f
push edi
push 0x1003455f
push 0x100345f0
push 2
call fcn.100021f0
add esp, 0x18
mov dword [ebp - 4], 0x78
mov ebx, edi
jmp case.0x10007fa3.112
mov edi, dword [ebp + 0x18]
test edi, edi
jne 0x1000813d
push str.__O__O__O__O_
push 0x1003455f
push 0
push 0x1003455f
push 0x100345f0
push 2
call fcn.100021f0
mov ebx, dword [ebp - 0xc]
add esp, 0x18
mov dword [ebp - 4], 0x6e
jmp case.0x10007fa3.112
lea eax, [edi + 8]
push eax
call fcn.100018e0
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0x14]
push 0
lea edx, [ebp - 0x18]
push edx
push eax
push 0xdf
mov dword [ebp - 0x18], ecx
call fcn.10002660
add esp, 0x14
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, dword [ebp - 0x1c]
jb 0x10007f90
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret