Function at 0x5c6250
Capabilities:
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x613e81
mov eax, dword fs:[0]
push eax
sub esp, 0x328
mov eax, dword [0x70635c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.msRsaSignHash
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x224]
call fcn.004f53f0
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x14]
call fcn.004e4820
mov byte [ebp - 0x2a9], 0
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00549480
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
jne 0x5c62f6
push 0x6bee34
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x14]
call edx
mov byte [ebp - 0x32d], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.004f54a0
mov al, byte [ebp - 0x32d]
jmp 0x5c671c
lea ecx, [ebp - 0x324]
call fcn.004ecd60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2a4]
call fcn.004ecd60
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x324]
push ecx
mov ecx, dword [ebp - 0x2a8]
call fcn.0056e1c0
lea edx, [ebp - 0x324]
push edx
push str.cert_key_container
mov ecx, dword [ebp + 0x18]
call fcn.004f5070
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x2a4]
push ecx
mov ecx, dword [ebp - 0x2a8]
call fcn.0056e210
lea edx, [ebp - 0x2a4]
push edx
push 0x6bee68
mov ecx, dword [ebp + 0x18]
call fcn.004f5070
mov dword [ebp - 0x228], 0
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x5c63aa
mov ecx, dword [ebp + 0x18]
push ecx
push 1
push 0
lea ecx, [ebp - 0x324]
call fcn.005d1cb0
push eax
lea ecx, [ebp - 0x2a4]
call fcn.005d1cb0
push eax
call fcn.005fa340
add esp, 0x14
mov dword [ebp - 0x228], eax
jmp 0x5c63d6
mov edx, dword [ebp + 0x18]
push edx
push 0
lea ecx, [ebp - 0x324]
call fcn.005d1cb0
push eax
lea ecx, [ebp - 0x2a4]
call fcn.005d1cb0
push eax
call fcn.005fa2e0
add esp, 0x10
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
jne 0x5c6433
push str.Failed_to_acquire_CSP.
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edx + 0x14]
call eax
mov byte [ebp - 0x32e], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2a4]
call fcn.004eceb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x324]
call fcn.004eceb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.004f54a0
mov al, byte [ebp - 0x32e]
jmp 0x5c671c
mov ecx, dword [ebp - 0x228]
call fcn.00598070
mov dword [ebp - 0x22c], eax
lea ecx, [ebp - 0x218]
push ecx
push 0
push 0
push 0x8008
mov edx, dword [ebp - 0x22c]
push edx
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x5c64d0
mov ecx, dword [ebp + 0x18]
call fcn.004f51f0
mov eax, dword [ebp - 0x228]
push eax
call fcn.004f66c0
add esp, 4
push str.Failed_to_create_HCRYPTHASH
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edx + 0x14]
call eax
mov byte [ebp - 0x32f], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2a4]
call fcn.004eceb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x324]
call fcn.004eceb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.004f54a0
mov al, byte [ebp - 0x32f]
jmp 0x5c671c
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push 2
mov edx, dword [ebp - 0x218]
push edx
call dword [sym.imp.ADVAPI32.dll_CryptSetHashParam]
test eax, eax
jne 0x5c6561
mov ecx, dword [ebp + 0x18]
call fcn.004f51f0
mov eax, dword [ebp - 0x218]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.004f66c0
add esp, 4
push str.Failed_to_CryptSetHashParam
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x14]
call edx
mov byte [ebp - 0x330], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2a4]
call fcn.004eceb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x324]
call fcn.004eceb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.004f54a0
mov al, byte [ebp - 0x330]
jmp 0x5c671c
mov dword [ebp - 0x328], 0x200
mov dword [ebp - 0x32c], 0
cmp dword [ebp - 0x32c], 0
jne 0x5c65a5
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x214]
push ecx
push 0
push 0
push 1
mov edx, dword [ebp - 0x218]
push edx
call dword [sym.imp.ADVAPI32.dll_CryptSignHashA]
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 0
jne 0x5c65c8
mov ecx, dword [ebp + 0x18]
call fcn.004f51f0
push str.Failed_to_CryptSignHash_with_AT_KEYEXCHANGE_key.
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edx + 0x14]
call eax
cmp dword [ebp - 0x32c], 0
jne 0x5c667d
lea ecx, [ebp - 0x328]
push ecx
lea edx, [ebp - 0x214]
push edx
push 0
push 0
push 2
mov eax, dword [ebp - 0x218]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptSignHashA]
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 0
jne 0x5c667d
mov ecx, dword [ebp + 0x18]
call fcn.004f51f0
mov ecx, dword [ebp - 0x218]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov edx, dword [ebp - 0x228]
push edx
call fcn.004f66c0
add esp, 4
push str.Failed_to_CryptSignHash_with_AT_SIGNATURE_key
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edx + 0x14]
call eax
mov byte [ebp - 0x331], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2a4]
call fcn.004eceb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x324]
call fcn.004eceb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.004f54a0
mov al, byte [ebp - 0x331]
jmp 0x5c671c
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x48]
test edx, edx
je 0x5c669c
mov eax, dword [ebp - 0x328]
push eax
push str.cryptSigSize
mov ecx, dword [ebp + 0x18]
call fcn.004f50b0
mov ecx, dword [ebp - 0x328]
push ecx
lea edx, [ebp - 0x214]
push edx
mov ecx, dword [ebp + 0x14]
call fcn.004e77c0
mov ecx, dword [ebp + 0x14]
call fcn.004e5fe0
cmp dword [ebp - 0x218], 0
je 0x5c66d0
mov eax, dword [ebp - 0x218]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.004f66c0
add esp, 4
mov byte [ebp - 0x332], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2a4]
call fcn.004eceb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x324]
call fcn.004eceb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.004f54a0
mov al, byte [ebp - 0x332]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00606c9e
mov esp, ebp
pop ebp
ret