Function at 0x4a6ca0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x1c], 0
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp + 8]
push eax
call fcn.004a7050
add esp, 4
test eax, eax
jne 0x4a6cff
push 0x7e
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x4a7000
cmp dword [0x4fceec], 0
jne 0x4a6de3
push 0
push str.crypt32.dll
call fcn.004a5ba0
add esp, 8
mov dword [0x4fceec], eax
cmp dword [0x4fceec], 0
je 0x4a6de3
push str.CryptMsgClose
mov ecx, dword [0x4fceec]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4fcef0], eax
push str.CertCloseStore
mov edx, dword [0x4fceec]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4fcef4], eax
push str.CertFreeCertificateContext
mov eax, dword [0x4fceec]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4fcef8], eax
push str.CertFindCertificateInStore
mov ecx, dword [0x4fceec]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4fcefc], eax
push str.CryptMsgGetParam
mov edx, dword [0x4fceec]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4fcf00], eax
push str.CryptQueryObject
mov eax, dword [0x4fceec]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4fcf04], eax
push str.CertGetNameStringA
mov ecx, dword [0x4fceec]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4fcf08], eax
push str.CryptDecodeObject
mov edx, dword [0x4fceec]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4fcf0c], eax
cmp dword [0x4fcef0], 0
je 0x4a6e2b
cmp dword [0x4fcef4], 0
je 0x4a6e2b
cmp dword [0x4fcef8], 0
je 0x4a6e2b
cmp dword [0x4fcefc], 0
je 0x4a6e2b
cmp dword [0x4fcf00], 0
je 0x4a6e2b
cmp dword [0x4fcf04], 0
je 0x4a6e2b
cmp dword [0x4fcf08], 0
je 0x4a6e2b
cmp dword [0x4fcf0c], 0
jne 0x4a6e32
xor eax, eax
jmp 0x4a7049
push 0
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x24]
push ecx
push 0
push 2
push 0x400
mov edx, dword [ebp + 8]
push edx
push 1
call dword [0x4fcf04]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4a6e7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa0], eax
jmp 0x4a7000
lea eax, [ebp - 8]
push eax
push 0
push 0
push 6
mov ecx, dword [ebp - 0x10]
push ecx
call dword [0x4fcf00]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4a6ea8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa4], eax
jmp 0x4a7000
mov edx, dword [ebp - 8]
push edx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4a6ece
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa8], eax
jmp 0x4a7000
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push 0
push 6
mov edx, dword [ebp - 0x10]
push edx
call dword [0x4fcf00]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4a6efe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xac], eax
jmp 0x4a7000
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], edx
push 0
lea eax, [ebp - 0x98]
push eax
push 0xb0000
push 0
push 0x10001
mov ecx, dword [ebp - 0x18]
push ecx
call dword [0x4fcefc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4a6f5b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xb0], eax
jmp 0x4a7000
cmp dword [ebp + 0xc], 0
je 0x4a6f89
mov edx, dword [ebp - 4]
push edx
call fcn.004a7240
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x4a6f89
jmp 0x4a7000
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.004a7420
add esp, 8
test eax, eax
jne 0x4a6f9f
jmp 0x4a7000
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], eax
push 0
lea ecx, [ebp - 0x98]
push ecx
push 0xb0000
push 0
push 0x10001
mov edx, dword [ebp - 0x18]
push edx
call dword [0x4fcefc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4a6ff9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xb8], eax
jmp 0x4a7000
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 4], 0
je 0x4a7024
mov edx, dword [ebp - 4]
push edx
call dword [0x4fcef8]
cmp dword [ebp - 0x18], 0
je 0x4a7036
push 0
mov eax, dword [ebp - 0x18]
push eax
call dword [0x4fcef4]
cmp dword [ebp - 0x10], 0
je 0x4a7046
mov ecx, dword [ebp - 0x10]
push ecx
call dword [0x4fcef0]
mov eax, dword [ebp - 0x1c]
mov esp, ebp
pop ebp
ret