Function at 0x48368c
Capabilities:
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push 0x24
mov eax, 0x5a8b24
call fcn.00462cd6
mov ebx, ecx
mov eax, dword [ebp + 8]
xor edi, edi
mov ecx, dword [ebp + 0xc]
mov esi, edi
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], edi
test eax, eax
jne 0x4836db
mov edi, 0x80070057
push 0x40
push str.d:dbs_shodct1116_102044cmd8clientonedrive_setup_standalone_fsmanager_filehash.cpp
push edi
call fcn.0048259a
jmp 0x483875
test ecx, ecx
jne 0x4836f0
push 0x41
mov eax, 0x80004003
push str.d:dbs_shodct1116_102044cmd8clientonedrive_setup_standalone_fsmanager_filehash.cpp
mov edi, eax
push eax
jmp 0x4836d1
test edx, edx
jne 0x4836f8
push 0x42
jmp 0x4836e1
mov eax, dword [ebx]
test eax, eax
jne 0x483711
mov ecx, ebx
call fcn.004839f3
mov edi, eax
test edi, edi
jns 0x48370f
push 0x46
jmp 0x4836cb
mov eax, dword [ebx]
lea ecx, [ebp - 0x14]
push ecx
push 0
push 0
push 0x800c
push eax
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x483749
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
jns 0x483875
push 0x4a
jmp 0x4836cb
mov eax, dword [ebp - 0x24]
xor ebx, ebx
cmp dword [eax + 8], ebx
jbe 0x483773
push ebx
mov ecx, eax
call fcn.0048267a
push eax
lea ecx, [ebp - 0x18]
call 0x482775
mov edi, eax
test edi, edi
js 0x48378a
mov eax, dword [ebp - 0x24]
inc ebx
cmp ebx, dword [eax + 8]
jb 0x483753
and dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x18]
push 4
pop ebx
mov dword [ebp - 0x1c], ebx
test eax, eax
jne 0x483791
xor ecx, ecx
xor edx, edx
jmp 0x483797
push 0x4f
jmp 0x4836cb
mov ecx, dword [eax + 8]
lea edx, [eax + 0xc]
push 0
lea eax, [ecx + ecx]
push eax
push edx
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x4837ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
jns 0x483875
push 0x5d
jmp 0x4836cb
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push ebx
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x483805
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
jns 0x483875
push 0x5e
jmp 0x4836cb
push dword [ebp - 0x20]
call fcn.00575a07
mov esi, eax
mov dword [ebp - 0x28], esi
pop ecx
test esi, esi
jne 0x483823
mov edi, 0x8007000e
push 0x60
jmp 0x4836cb
push 0
lea eax, [ebp - 0x20]
push eax
push esi
push 2
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x483858
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
jns 0x483875
push 0x61
jmp 0x4836cb
push 2
push 0
lea ecx, [ebp - 0x18]
call fcn.00484272
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, esi
mov ecx, dword [ebp - 0x30]
xor esi, esi
mov dword [ecx], eax
cmp dword [ebp - 0x14], 0
je 0x483888
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
and dword [ebp - 0x14], 0
xor ecx, ecx
lea eax, [ebp - 0x18]
xchg dword [eax], ecx
test ecx, ecx
je 0x483898
call fcn.00415424
push esi
call fcn.0046326b
pop ecx
mov eax, edi
call fcn.00462c80
ret 0xc