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

Disassembly:
push 0x238
mov eax, 0x66240600
call fcn.6623ba81
mov eax, dword [ebp + 8]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp + 0xc]
xor esi, esi
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], esi
mov dword [ebp - 4], esi
cmp dword [ebp - 0x21c], esi
je 0x66236ad9
push dword [ebp - 0x21c]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov dword [ebp - 0x21c], esi
lea eax, [ebp - 0x21c]
push eax
push esi
push esi
push 0x8004
call dword [sym.imp.GrooveUtil.DLL_public:_static_unsigned_long_int___stdcall_GCStdCryptProv::GetHandle_void_]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
mov edi, 0x2e6b3474
mov ebx, 0x80004005
jne 0x66236b09
push ebx
push edi
call fcn.661d7d78
push dword [ebp - 0x220]
lea eax, [ebp - 0x218]
push eax
call fcn.66237b99
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x220], eax
push esi
lea eax, [ebp - 0x218]
push eax
call fcn.661d1052
add eax, eax
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x66236b55
push ebx
push edi
call fcn.661d7d78
push 4
pop eax
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
lea ecx, [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x228]
push ecx
push eax
push dword [ebp - 0x21c]
mov dword [ebp - 0x230], eax
call esi
test eax, eax
jne 0x66236b87
push ebx
push edi
call fcn.661d7d78
cmp dword [ebp - 0x230], 4
je 0x66236b97
push ebx
push edi
call fcn.661d7d78
lea eax, [ebp - 0x244]
push eax
call fcn.661def35
mov byte [ebp - 4], 1
push dword [ebp - 0x228]
lea ebx, [ebp - 0x244]
call fcn.661db534
mov eax, dword [ebp - 0x244]
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x228]
push ecx
push eax
push 2
push dword [ebp - 0x21c]
mov dword [ebp - 0x220], eax
call esi
test eax, eax
jne 0x66236be8
push 0x80004005
push edi
call fcn.661d7d78
push 1
push dword [ebp - 0x228]
lea eax, [ebp - 0x220]
push dword [ebp - 0x220]
push eax
call dword [sym.imp.GrooveUtil.DLL_public:_static_class_GCStrRetVal___stdcall_GCBase64Coder::Encode_unsigned_char_const___unsigned_long_int__bool_]
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 2
mov dword [ebp - 0x224], ebx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x22c]
cmp eax, ebx
jne 0x66236c2a
mov eax, dword [sym.imp.GrooveUtil.DLL_wchar_t_const__const_raw_GCStr::SAFE_EMPTY_STRING_CBSTR]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x224]
push str.Groove:FileWatermark:__s_
push eax
call dword [sym.imp.GrooveUtil.DLL_public:_long_int___cdecl_GCStr::Format_wchar_t_const__]
mov eax, dword [ebp - 0x224]
mov esi, dword [ebp - 0x234]
add esp, 0xc
mov dword [ebp - 0x224], ebx
mov dword [esi], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x224], ebx
mov edi, dword [sym.imp.GrooveUtil.DLL_private:_void___thiscall_GCStr::_Release_void_]
je 0x66236c6e
lea ecx, [ebp - 0x224]
call edi
mov byte [ebp - 4], 1
cmp dword [ebp - 0x22c], ebx
je 0x66236c82
lea ecx, [ebp - 0x22c]
call edi
mov byte [ebp - 4], bl
lea eax, [ebp - 0x244]
push eax
call fcn.6621d9e9
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x21c], ebx
je 0x66236caf
push dword [ebp - 0x21c]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov dword [ebp - 0x21c], ebx
mov eax, esi
call fcn.6623bb04
ret 8