Function at 0x40755e
Capabilities:
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x20ec
call fcn.0040ee60
mov eax, dword [0x40f054]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x2090], edx
push ebx
push 0x80
push 3
push ebx
push 1
mov eax, ecx
mov dword [ebp - 0x2088], ebx
push 0x80000000
push eax
mov dword [ebp - 0x208c], eax
mov dword [ebp - 0x2084], ebx
mov dword [ebp - 0x207c], 0xaac56b
mov dword [ebp - 0x2078], 0x11d0cd44
mov dword [ebp - 0x2074], 0xc000c28c
mov dword [ebp - 0x2070], 0xee95c24f
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4075e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x407678
push 0xf0000000
push 1
push ebx
push ebx
lea eax, [ebp - 0x2088]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x407669
lea eax, [ebp - 0x2084]
push eax
push ebx
push ebx
push 0x8004
push dword [ebp - 0x2088]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x407669
mov esi, 0x2000
jmp 0x40764e
push ebx
push dword [ebp - 0x2080]
lea eax, [ebp - 0x206c]
push eax
push dword [ebp - 0x2084]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x407669
cmp dword [ebp - 0x2080], esi
jb 0x4076b6
push ebx
lea eax, [ebp - 0x2080]
push eax
push esi
lea eax, [ebp - 0x206c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x407628
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2084], 0
je 0x40768d
push dword [ebp - 0x2084]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
cmp dword [ebp - 0x2088], 0
je 0x4076a3
push ebx
push dword [ebp - 0x2088]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040e870
leave
ret 4
push ebx
lea eax, [ebp - 0x2080]
mov dword [ebp - 0x2080], 0x14
push eax
lea eax, [ebp - 0x18]
push eax
push 2
push dword [ebp - 0x2084]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x407669
mov esi, ebx
lea ebx, [ebp - 0x6c]
movzx eax, byte [ebp + esi - 0x18]
push eax
push 0x4015dc
push 3
push ebx
call fcn.004074f7
add esp, 0x10
add ebx, 4
inc esi
cmp esi, 0x14
jb 0x4076e3
xor ebx, ebx
push ebx
push ebx
push ebx
push edi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointer]
mov esi, eax
test esi, esi
jne 0x407671
cmp dword [ebp + 8], eax
mov dword [ebp - 0x20e8], ebx
sete al
mov dword [ebp - 0x20e4], ebx
inc eax
mov dword [ebp - 0x20d0], ebx
mov dword [ebp - 0x20e0], eax
lea eax, [ebp - 0x20b8]
mov dword [ebp - 0x20d4], eax
mov eax, dword [ebp - 0x208c]
mov dword [ebp - 0x20a8], eax
mov eax, dword [ebp - 0x2090]
mov dword [ebp - 0x20b0], eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x20ac], eax
lea eax, [ebp - 0x20ec]
push eax
lea eax, [ebp - 0x207c]
mov dword [ebp - 0x20cc], ebx
push eax
push ebx
mov dword [ebp - 0x20c8], ebx
mov dword [ebp - 0x20c4], ebx
mov dword [ebp - 0x20c0], ebx
mov dword [ebp - 0x20bc], ebx
mov dword [ebp - 0x20ec], 0x34
mov dword [ebp - 0x20dc], ebx
mov dword [ebp - 0x20d8], 2
mov dword [ebp - 0x20b4], ebx
mov dword [ebp - 0x20a0], ebx
mov dword [ebp - 0x209c], ebx
mov dword [ebp - 0x2098], ebx
mov dword [ebp - 0x2094], ebx
mov dword [ebp - 0x20b8], 0x28
mov dword [ebp - 0x20a4], edi
call dword [sym.imp.WINTRUST.dll_WinVerifyTrust]
jmp 0x40766f