Function at 0x5d8d90
Capabilities:
Link many functions at runtime

Disassembly:
push ecx
mov eax, dword [0x75ab9c]
test eax, eax
jne 0x5d8db2
push str.Crypt32.dll
call fcn.00447580
add esp, 4
mov dword [0x75ab9c], eax
test eax, eax
jne 0x5d8db2
pop ecx
ret
cmp dword [0x75c87c], 0
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jne 0x5d8dd4
push str.CryptDecodeObjectEx
push eax
call esi
mov dword [0x75c87c], eax
mov eax, dword [0x75ab9c]
mov ecx, dword [0x75c880]
test ecx, ecx
jne 0x5d8dee
push str.CryptStringToBinaryA
push eax
call esi
mov ecx, eax
mov dword [0x75c880], ecx
cmp dword [0x75c87c], 0
je 0x5d901d
test ecx, ecx
je 0x5d901d
mov eax, dword [0x75c8b0]
test eax, eax
jne 0x5d8e26
push str.Bcrypt.dll
call fcn.00447580
add esp, 4
mov dword [0x75c8b0], eax
test eax, eax
je 0x5d901d
cmp dword [0x75c898], 0
jne 0x5d8e41
push str.BCryptVerifySignature
push eax
call esi
mov dword [0x75c898], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75c89c], 0
jne 0x5d8e5c
push str.BCryptDestroyHash
push eax
call esi
mov dword [0x75c89c], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75c8a0], 0
jne 0x5d8e77
push str.BCryptFinishHash
push eax
call esi
mov dword [0x75c8a0], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75b89c], 0
jne 0x5d8e92
push str.BCryptDecrypt
push eax
call esi
mov dword [0x75b89c], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75c8a4], 0
jne 0x5d8ead
push str.BCryptHashData
push eax
call esi
mov dword [0x75c8a4], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75c8a8], 0
jne 0x5d8ec8
push str.BCryptCreateHash
push eax
call esi
mov dword [0x75c8a8], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75b890], 0
jne 0x5d8ee3
push str.BCryptOpenAlgorithmProvider
push eax
call esi
mov dword [0x75b890], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75b8a0], 0
jne 0x5d8efe
push str.BCryptCloseAlgorithmProvider
push eax
call esi
mov dword [0x75b8a0], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75b8a4], 0
jne 0x5d8f19
push str.BCryptDestroyKey
push eax
call esi
mov dword [0x75b8a4], eax
mov eax, dword [0x75c8b0]
cmp dword [0x75b8a8], 0
jne 0x5d8f34
push str.BCryptGetProperty
push eax
call esi
mov dword [0x75b8a8], eax
mov eax, dword [0x75c8b0]
mov ecx, dword [0x75c8ac]
test ecx, ecx
jne 0x5d8f4e
push str.BCryptImportKeyPair
push eax
call esi
mov ecx, eax
mov dword [0x75c8ac], ecx
cmp dword [0x75c898], 0
je 0x5d901d
cmp dword [0x75c89c], 0
je 0x5d901d
cmp dword [0x75c8a0], 0
je 0x5d901d
cmp dword [0x75b89c], 0
je 0x5d901d
cmp dword [0x75c8a4], 0
je 0x5d901d
cmp dword [0x75c8a8], 0
je 0x5d901d
cmp dword [0x75b890], 0
je 0x5d901d
cmp dword [0x75b8a0], 0
je 0x5d901d
cmp dword [0x75b8a4], 0
je 0x5d901d
cmp dword [0x75b8a8], 0
je 0x5d901d
test ecx, ecx
je 0x5d901d
mov edx, dword [esp + 0xc]
mov eax, edx
mov dword [esp + 4], 0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5d8fd5
push str.SHA1
lea ecx, [esp + 8]
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push ecx
mov ecx, dword [esp + 0x20]
push ecx
sub eax, esi
push eax
push edx
mov edx, dword [esp + 0x34]
push edx
call fcn.005d8d20
mov ecx, dword [esp + 0x24]
add esp, 0x20
test ecx, ecx
je 0x5d9018
xor edx, edx
test eax, eax
mov eax, dword [esp + 0x1c]
sete dl
mov dword [eax], edx
mov eax, ecx
pop esi
pop ecx
ret
xor eax, eax
pop esi
pop ecx
ret