Function at 0x40a7d0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41c5a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
mov eax, dword [0x428958]
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
cmp eax, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], ebx
jne 0x40ab27
push str.crypt32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x428958], eax
jne 0x40a85d
push 0x18
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
cmp esi, ebx
mov byte [ebp - 4], 1
je 0x40a847
push str.G:File_Guarder_srcSignatureSign.cpp
push 0x44
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.00417d40
jmp 0x40a849
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push 0x423830
push eax
mov byte [ebp - 4], bl
call sub.MSVCRT.dll__CxxThrowException
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CryptQueryObject
push eax
mov dword [0x428960], 0x20
call esi
cmp eax, ebx
mov dword [0x428964], eax
jne 0x40a8c2
push 0x18
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
cmp esi, ebx
mov byte [ebp - 4], 2
je 0x40a8ac
push str.G:File_Guarder_srcSignatureSign.cpp
push 0x4c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.00417d40
jmp 0x40a8ae
xor eax, eax
lea ecx, [ebp - 0x18]
push 0x423830
push ecx
mov byte [ebp - 4], bl
mov dword [ebp - 0x18], eax
call sub.MSVCRT.dll__CxxThrowException
mov edx, dword [0x428958]
push str.CryptMsgGetParam
push edx
call esi
cmp eax, ebx
mov dword [0x428968], eax
jne 0x40a91d
push 0x18
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
cmp esi, ebx
mov byte [ebp - 4], 3
je 0x40a907
push str.G:File_Guarder_srcSignatureSign.cpp
push 0x51
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.00417d40
jmp 0x40a909
xor eax, eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push 0x423830
push eax
mov byte [ebp - 4], bl
call sub.MSVCRT.dll__CxxThrowException
mov ecx, dword [0x428958]
push str.CertCreateCertificateContext
push ecx
call esi
cmp eax, ebx
mov dword [0x42896c], eax
jne 0x40a978
push 0x18
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
cmp esi, ebx
mov byte [ebp - 4], 4
je 0x40a962
push str.G:File_Guarder_srcSignatureSign.cpp
push 0x56
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.00417d40
jmp 0x40a964
xor eax, eax
lea edx, [ebp - 0x20]
push 0x423830
push edx
mov byte [ebp - 4], bl
mov dword [ebp - 0x20], eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [0x428958]
push str.CertFreeCertificateContext
push eax
call esi
cmp eax, ebx
mov dword [0x428970], eax
jne 0x40a9d2
push 0x18
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
cmp esi, ebx
mov byte [ebp - 4], 5
je 0x40a9bc
push str.G:File_Guarder_srcSignatureSign.cpp
push 0x5b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.00417d40
jmp 0x40a9be
xor eax, eax
lea ecx, [ebp - 0x24]
push 0x423830
push ecx
mov byte [ebp - 4], bl
mov dword [ebp - 0x24], eax
call sub.MSVCRT.dll__CxxThrowException
mov edx, dword [0x428958]
push str.CertCompareIntegerBlob
push edx
call esi
cmp eax, ebx
mov dword [0x428974], eax
jne 0x40aa2d
push 0x18
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
cmp esi, ebx
mov byte [ebp - 4], 6
je 0x40aa17
push str.G:File_Guarder_srcSignatureSign.cpp
push 0x60
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.00417d40
jmp 0x40aa19
xor eax, eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push 0x423830
push eax
mov byte [ebp - 4], bl
call sub.MSVCRT.dll__CxxThrowException
mov ecx, dword [0x428958]
push str.CryptDecodeObject
push ecx
call esi
cmp eax, ebx
mov dword [0x428978], eax
jne 0x40aa88
push 0x18
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
cmp esi, ebx
mov byte [ebp - 4], 7
je 0x40aa72
push str.G:File_Guarder_srcSignatureSign.cpp
push 0x65
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.00417d40
jmp 0x40aa74
xor eax, eax
lea edx, [ebp - 0x2c]
push 0x423830
push edx
mov byte [ebp - 4], bl
mov dword [ebp - 0x2c], eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [0x428958]
push str.CryptMsgClose
push eax
call esi
cmp eax, ebx
mov dword [0x42897c], eax
jne 0x40ab27
push 0x18
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
cmp esi, ebx
mov byte [ebp - 4], 8
je 0x40aad0
push str.G:File_Guarder_srcSignatureSign.cpp
push 0x6a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.00417d40
jmp 0x40aad2
xor eax, eax
lea ecx, [ebp - 0x30]
push 0x423830
push ecx
mov byte [ebp - 4], bl
mov dword [ebp - 0x30], eax
call sub.MSVCRT.dll__CxxThrowException
mov esi, dword [ebp - 0x38]
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.00418150
mov edi, eax
cmp esi, ebx
mov dword [ebp - 0x34], edi
je 0x40ab04
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
cmp edi, ebx
je 0x40ab1e
mov eax, dword [0x428958]
cmp eax, ebx
je 0x40ab1e
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x428958], ebx
mov eax, 0x40ab24
ret
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4