Function at 0x10177245
Capabilities:
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x101dc354]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], eax
mov esi, 0x100773b8
test edi, edi
jne 0x10177280
push 0x100773a4
push 0x23
pop edx
mov ecx, esi
call fcn.100e970f
test ebx, ebx
jne 0x10177293
push 0x100773b0
push 0x24
pop edx
mov ecx, esi
call fcn.100e970f
xor eax, eax
push 0xf0000040
push 1
push eax
push eax
mov esi, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.api_ms_win_security_cryptoapi_l1_1_0.dll_CryptAcquireContextW]
test eax, eax
jne 0x101772ef
and dword [ebp - 0xc], esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x101772ce
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x101772d5
mov esi, 0x80004005
push 0x100773f8
push 1
push esi
push 0x4000000
call fcn.100ab973
add esp, 0x10
jmp 0x10177438
lea eax, [ebp - 8]
push eax
push 0
push 0
push 0x8004
push dword [ebp - 0xc]
call dword [sym.imp.api_ms_win_security_cryptoapi_l1_1_0.dll_CryptCreateHash]
test eax, eax
jne 0x10177331
and dword [ebp - 8], esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10177323
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x1017732a
mov esi, 0x80004005
push 0x10048710
jmp 0x101772da
push 0
push dword [ebp - 0x18]
push edi
push dword [ebp - 8]
call dword [sym.imp.api_ms_win_security_cryptoapi_l1_1_0.dll_CryptHashData]
test eax, eax
jne 0x1017736c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x1017735b
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x10177362
mov esi, 0x80004005
push 0x10048728
jmp 0x101772da
push 4
pop ecx
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], ecx
push eax
lea eax, [ebp - 0x14]
push eax
push ecx
push dword [ebp - 8]
call dword [sym.imp.api_ms_win_security_cryptoapi_l1_1_0.dll_CryptGetHashParam]
test eax, eax
jne 0x101773b2
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x101773a1
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x101773a8
mov esi, 0x80004005
push 0x100773dc
jmp 0x101772da
push dword [ebp - 0x14]
call fcn.100b84fe
mov edi, eax
pop ecx
test edi, edi
jne 0x101773d0
mov esi, 0x8007000e
push 0x10077424
jmp 0x101772da
mov eax, dword [ebp - 0x14]
push 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push edi
push 2
push dword [ebp - 8]
call dword [sym.imp.api_ms_win_security_cryptoapi_l1_1_0.dll_CryptGetHashParam]
test eax, eax
jne 0x10177421
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10177403
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x1017740a
mov esi, 0x80004005
push 0x10048740
push 1
push esi
push 0x4000000
call fcn.100ab973
add esp, 0x10
jmp 0x1017742d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov dword [ebx], edi
xor edi, edi
mov dword [ecx], eax
test edi, edi
je 0x10177438
push edi
call fcn.100b84f9
pop ecx
cmp dword [ebp - 8], 0
je 0x10177447
push dword [ebp - 8]
call dword [sym.imp.api_ms_win_security_cryptoapi_l1_1_0.dll_CryptDestroyHash]
cmp dword [ebp - 0xc], 0
je 0x10177458
push 0
push dword [ebp - 0xc]
call dword [sym.imp.api_ms_win_security_cryptoapi_l1_1_0.dll_CryptReleaseContext]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100b88c0
leave
ret 0xc