Function at 0x4d79dd
Capabilities:
Create new key via cryptacquirecontext
Hash data via wincrypt
Initialize hashing via wincrypt
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0x654b34]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp + 0x10]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x414], ecx
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x408], ecx
mov dword [ebp - 0x418], ecx
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x4d7a32
mov eax, dword [esi]
push ecx
push 0x8000000
push 3
push ecx
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4d7ab2
call edi
cmp eax, 0x20
jne 0x4d7a94
mov eax, dword [ebp - 0x414]
cmp eax, 5
jge 0x4d7bb5
cmp dword [esi + 0x14], 8
mov ebx, esi
jb 0x4d7a70
mov ebx, dword [esi]
push eax
call edi
push eax
push ebx
push str.securityUtil__CalHashOfFile_fail_to_Open_file__s__err__d__ERROR_SHARING_VIOLATION__retry_d
call fcn.004d8b9a
add esp, 0x10
inc dword [ebp - 0x414]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
jmp 0x4d7a28
cmp dword [esi + 0x14], 8
jb 0x4d7a9c
mov esi, dword [esi]
call edi
push eax
push esi
push str.securityUtil__fail_to_Open_file__s__err__d_
call fcn.004d8b60
add esp, 0xc
jmp 0x4d7bb5
push 0xf0000000
push 0x18
xor esi, esi
lea eax, [ebp - 0x410]
push esi
push esi
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x4d7ba2
lea eax, [ebp - 0x408]
push eax
push esi
push esi
push dword [ebp + 0x14]
push dword [ebp - 0x410]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x4d7b98
mov dword [ebp - 0x40c], esi
push esi
jmp 0x4d7b25
cmp dword [ebp - 0x40c], 0
je 0x4d7b5e
push 0
push dword [ebp - 0x40c]
lea eax, [ebp - 0x404]
push eax
push dword [ebp - 0x408]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x4d7b4f
push 0
lea eax, [ebp - 0x40c]
push eax
push 0x400
lea eax, [ebp - 0x404]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov esi, eax
test esi, esi
jne 0x4d7afb
call edi
push eax
push str.securityUtil__calhash_fail__err__d_
jmp 0x4d7baa
call edi
push eax
push str.securityUtil__CryptHashData_fail_err__d_
call fcn.004d8b60
pop ecx
pop ecx
test esi, esi
je 0x4d7b45
push 0
push dword [ebp - 0x41c]
push dword [ebp - 0x420]
push 2
push dword [ebp - 0x408]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x4d7b8e
mov dword [ebp - 0x418], 1
jmp 0x4d7bb1
call edi
push eax
push str.securityUtil__CryptGetHashParam_err__d_
jmp 0x4d7baa
call edi
push eax
push str.securityUtil__CryptCreateHash_fail__err__d_
jmp 0x4d7baa
call edi
push eax
push str.securityUtil__CryptAcquireContext_fail_err__d_
call fcn.004d8b60
pop ecx
pop ecx
test ebx, ebx
je 0x4d7bbc
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x408], 0
pop edi
pop esi
pop ebx
je 0x4d7bdb
push dword [ebp - 0x408]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
and dword [ebp - 0x408], 0
cmp dword [ebp - 0x410], 0
je 0x4d7bf2
push 0
push dword [ebp - 0x410]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x418]
xor ecx, ebp
call fcn.0056ac5f
leave
ret 0x10