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

Disassembly:
push 0xffffffffffffffff
push 0x4eaf6b
mov eax, dword fs:[0]
push eax
mov eax, 0x2b98
call fcn.004de210
mov eax, dword [0x52a6ec]
xor eax, esp
mov dword [esp + 0x2b94], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52a6ec]
xor eax, esp
push eax
lea eax, [esp + 0x2bac]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x2bbc]
xor ebx, ebx
push 0xff
lea eax, [esp + 0x28ad]
push ebx
mov dword [esp + 0x28], ebx
push eax
mov dword [esp + 0x30], ebp
mov byte [esp + 0x28b4], bl
call fcn.004cf830
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x28], 0x2880
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
test eax, eax
jne 0x4575ff
push 0xff
lea eax, [esp + 0x29ad]
push ebx
push eax
mov byte [esp + 0x29b4], bl
call fcn.004cf830
add esp, 0xc
xor esi, esi
cmp dword [esp + 0x1b8], ebx
jbe 0x4574f4
lea edi, [esp + 0x29a8]
lea esp, [esp]
movzx ecx, byte [esp + esi + 0x1bc]
push ecx
push str._02x
push edi
call fcn.004ca28e
inc esi
add esp, 0xc
add edi, 2
cmp esi, dword [esp + 0x1b8]
jb 0x4574d0
push 0xf0000000
push 1
push str.Microsoft_Base_Cryptographic_Provider_v1.0
push ebx
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], ebx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x4575ef
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push eax
push ebx
push ebx
push 0x8004
push ecx
mov dword [esp + 0x28], ebx
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x4575e0
mov eax, dword [esp + 0x14]
push ebx
push 0x100
lea edx, [esp + 0x29b0]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x4575e0
push 0xff
lea ecx, [esp + 0x2aad]
push ebx
push ecx
mov dword [esp + 0x28], ebx
mov byte [esp + 0x2ab4], bl
call fcn.004cf830
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
add esp, 0xc
push ebx
lea edx, [esp + 0x20]
push edx
push ebx
push 2
push eax
call esi
test eax, eax
je 0x4575e0
mov eax, dword [esp + 0x14]
push ebx
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2ab0]
push edx
push 2
push eax
call esi
test eax, eax
je 0x4575e0
xor esi, esi
lea edi, [esp + 0x28a8]
jmp 0x4575c0
movzx ecx, byte [esp + esi + 0x2aa8]
push ecx
push str._02x
push edi
call fcn.004ca28e
inc esi
add esp, 0xc
add edi, 2
cmp esi, 0x10
jl 0x4575c0
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4575ef
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x4575ff
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov edx, dword [0x52a1ec]
mov eax, dword [edx + 0xc]
mov ecx, 0x52a1ec
call eax
add eax, 0x10
mov dword [ebp], eax
lea ecx, [esp + 0x28a8]
mov dword [esp + 0x2bb4], ebx
test ecx, 0xffff0000
jne 0x457649
mov edx, ecx
movzx esi, dx
push esi
call fcn.00405a70
mov ecx, eax
add esp, 4
cmp ecx, ebx
je 0x457657
push ebp
mov eax, esi
call fcn.00405c20
jmp 0x457657
lea ebx, [esp + 0x28a8]
mov eax, ebp
call fcn.00403880
mov eax, ebp
mov ecx, dword [esp + 0x2bac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2b94]
xor ecx, esp
call fcn.004c9392
add esp, 0x2ba4
ret 4