Function at 0x10007ff6
Capabilities:
Create new key via cryptacquirecontext
Encrypt or decrypt via wincrypt
Get file attributes
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ResetEvent]
push edi
xor ebx, ebx
push ebx
call esi
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
je 0x10008017
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
push 1
push ebx
push ebx
lea eax, [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x10008068
push ebx
call esi
test eax, eax
je 0x10008046
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push 8
push 1
push ebx
push ebx
lea eax, [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
push ebx
call esi
test eax, eax
je 0x10008072
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
lea eax, [ebp - 8]
push eax
push ebx
push ebx
push 0x8003
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
push ebx
call esi
test eax, eax
je 0x100080b2
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
lea eax, [ebp - 0xc]
push eax
push ebx
push dword [ebp - 8]
push 0x6602
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
push ebx
call esi
test eax, eax
je 0x100080e4
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push dword [ebp + 0xc]
call fcn.10005488
pop ecx
mov ecx, dword [ebp + 0x18]
push ebx
mov dword [ecx], eax
call esi
test eax, eax
je 0x1000810e
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
push dword [ebp + 8]
push dword [eax]
call fcn.100084d0
add esp, 0xc
push ebx
call esi
test eax, eax
je 0x1000813d
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0xc]
push eax
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
push dword [eax]
push ebx
push 1
push ebx
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_CryptDecrypt]
push ebx
call esi
test eax, eax
je 0x10008174
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push ebx
call esi
test eax, eax
je 0x10008199
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push ebx
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
pop edi
pop esi
pop ebx
leave
ret