Function at 0x54a8a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x64d924
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe4c
push ebx
push ebp
push esi
mov esi, dword [esp + 0xe90]
push edi
push str.createPkcs7Signature
push esi
lea ecx, [esp + 0x30]
call fcn.004f0370
mov ecx, dword [esp + 0xe84]
xor edi, edi
mov dword [esp + 0xe64], edi
mov bl, byte [ecx + 0x474]
test bl, bl
sete al
test al, al
mov byte [esp + 0x14], al
je 0x54a902
push esi
call fcn.00514900
mov byte [esp + 0x14], al
lea ecx, [esp + 0x168]
call fcn.004e57f0
mov ebp, dword [esp + 0xe78]
lea eax, [esp + 0x168]
push eax
push ebp
mov byte [esp + 0xe6c], 1
call fcn.00520e40
add esp, 8
lea ecx, [esp + 0x168]
push ecx
push str.hashAlgorithm
mov ecx, esi
call fcn.004efcb0
lea ecx, [esp + 0x1dc]
call fcn.004e57f0
lea edx, [esp + 0x1dc]
mov byte [esp + 0xe64], 2
push edx
push ebp
call fcn.00545b30
add esp, 8
lea ecx, [esp + 0x74]
call fcn.004dfe70
mov ebx, dword [esp + 0xe70]
mov byte [esp + 0xe64], 3
test bl, bl
jne 0x54a987
lea edi, [esp + 0x74]
lea ecx, [esp + 0x90]
call fcn.004dfe70
mov ecx, dword [esp + 0xe6c]
push esi
lea eax, [esp + 0x94]
push 0
push eax
push edi
push ebp
push ecx
mov byte [esp + 0xe7c], 4
call fcn.0055d9e0
add esp, 0x18
mov byte [esp + 0x10], al
test al, al
jne 0x54a9d1
mov edx, dword [esi]
push str.Failed_to_digest_data_for_PKCS7_signature.
mov ecx, esi
call dword [edx + 0x14]
jmp 0x54b8fe
mov ecx, dword [esp + 0xe88]
call fcn.00596fa0
lea ecx, [esp + 0x118]
mov dword [esp + 0x20], eax
call fcn.00507040
mov ecx, dword [esp + 0xe90]
mov byte [esp + 0xe64], 5
call fcn.004dd9e0
mov eax, ebx
mov ecx, esi
and eax, 0xff
push eax
push str.isDetachedSignature
call fcn.004effe0
test bl, bl
jne 0x54aa2f
lea ecx, [esp + 0x74]
call fcn.005a8750
push eax
push str.dataContentSize
mov ecx, esi
call fcn.004effe0
mov edi, dword [esp + 0x20]
mov ecx, esi
push edi
push str.numSigningCerts
call fcn.004effe0
call fcn.0054e610
xor ebp, ebp
mov dword [esp + 0x24], eax
test edi, edi
mov dword [esp + 0x1c], ebp
jle 0x54b4f2
mov ecx, dword [esp + 0xe88]
push esi
push ebp
push ecx
call fcn.0059eb60
mov edi, eax
add esp, 0xc
test edi, edi
mov dword [esp + 0x18], edi
je 0x54b4e1
push esi
push 1
mov ecx, edi
mov byte [esp + 0x19], 0
call fcn.005a1220
test al, al
jne 0x54aaec
mov edx, dword [esi]
push str.Certificate_does_not_have_the_associated_private_key.
mov ecx, esi
call dword [edx + 0x14]
lea ecx, [esp + 0x614]
call fcn.004d91b0
lea eax, [esp + 0x614]
push esi
push eax
mov ecx, edi
mov byte [esp + 0xe6c], 6
call fcn.005a05b0
lea ecx, [esp + 0x614]
push ecx
push str.CertDN
mov ecx, esi
call fcn.004efc60
lea ecx, [esp + 0x614]
mov byte [esp + 0x10], 0
mov byte [esp + 0xe64], 5
call fcn.004d9240
jmp 0x54b4e1
lea ecx, [esp + 0xc8]
call fcn.004dfe70
lea edx, [esp + 0xc8]
push esi
push edx
mov ecx, edi
mov byte [esp + 0xe6c], 7
mov byte [esp + 0xe8], 1
call fcn.005a1310
lea ecx, [esp + 0x250]
mov bl, al
call fcn.0053b7b0
test bl, bl
mov byte [esp + 0xe64], 8
je 0x54ab60
lea eax, [esp + 0xc8]
push esi
push eax
lea ecx, [esp + 0x258]
call fcn.0053bda0
test al, al
jne 0x54ac06
mov edx, dword [esi]
push str.Unable_to_load_private_key_DER.
mov ecx, esi
call dword [edx + 0x14]
jmp 0x54ac22
push str.cngGetPublicKey
push esi
lea ecx, [esp + 0x108]
call fcn.004f0370
mov al, byte [esi + 0x121]
mov byte [esp + 0xe64], 9
test al, al
je 0x54ab90
mov eax, dword [esi]
push str.The_private_key_is_not_exportable__will_use_MS_CNG...
mov ecx, esi
call dword [eax + 0x18]
lea ecx, [esp + 0xc8]
push esi
push ecx
mov ecx, edi
mov byte [esp + 0x19], 1
call fcn.005a1550
test al, al
jne 0x54abd0
mov edx, dword [esi]
push str.Unable_to_get_certificates_public_key_DER.
mov ecx, esi
call dword [edx + 0x14]
lea ecx, [esp + 0x100]
mov byte [esp + 0x10], 0
mov byte [esp + 0xe64], 8
call fcn.004f03e0
jmp 0x54ac27
lea eax, [esp + 0xc8]
push esi
push eax
lea ecx, [esp + 0x258]
call fcn.0053bda0
test al, al
jne 0x54abf2
mov edx, dword [esi]
push str.Unable_to_load_public_key_DER.
jmp 0x54abb0
lea ecx, [esp + 0x100]
mov byte [esp + 0xe64], 8
call fcn.004f03e0
push esi
push edi
call fcn.0054c0d0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x54ac54
mov eax, dword [esi]
push str.Failed_to_create_IssuerAndSerial_ASN.1
mov ecx, esi
call dword [eax + 0x14]
mov byte [esp + 0x10], 0
lea ecx, [esp + 0x250]
mov byte [esp + 0xe64], 7
call fcn.0053b840
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe64], 5
call fcn.004e0890
jmp 0x54b4e1
call fcn.0054e5d0
push 1
mov ebp, eax
call fcn.0054de70
add esp, 4
mov ecx, ebp
push eax
call fcn.0054c4e0
push ebx
mov ecx, ebp
call fcn.0054c4e0
lea ecx, [esp + 0xac4]
call fcn.005452b0
mov ecx, dword [esp + 0xe78]
mov byte [esp + 0xe64], 0xa
push ecx
lea ecx, [esp + 0xac8]
call fcn.00545b10
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xac4]
push edx
push esi
call fcn.00545c30
push eax
mov ecx, ebp
call fcn.0054c4e0
mov eax, dword [esp + 0xe84]
mov ecx, dword [esp + 0xe8c]
push esi
push eax
push ecx
lea edx, [esp + 0x9c]
push edi
push edx
call fcn.00549280
add esp, 0x14
lea ecx, [esp + 0xe4]
mov edi, eax
mov byte [esp + 0x13], 0
call fcn.004dfe70
test edi, edi
mov byte [esp + 0xe64], 0xb
je 0x54ad24
push esi
lea eax, [esp + 0xe8]
push 0
push eax
mov ecx, edi
call fcn.0054d820
push edi
mov ecx, ebp
mov byte [esp + 0x17], 1
mov byte [edi + 0x2c], 2
mov dword [edi + 0x30], 0
call fcn.0054c4e0
jmp 0x54ad38
lea ecx, [esp + 0x90]
push ecx
push str.signerInfo_messageDigest
mov ecx, esi
call fcn.004ef410
mov al, byte [esp + 0xe74]
test al, al
je 0x54ade6
lea ecx, [esp + 0x250]
call fcn.005a1930
test al, al
je 0x54ade6
lea ecx, [esp + 0x72c]
call fcn.005452b0
lea ecx, [esp + 0x250]
mov byte [esp + 0xe64], 0xc
call fcn.005a8750
test eax, eax
mov edi, 0x14
je 0x54ad9e
mov ecx, eax
call fcn.005c7010
mov edx, dword [esp + 0xe78]
push eax
push edx
call fcn.0060d660
add esp, 8
mov edi, eax
push str.1.2.840.113549.1.1.10
lea ecx, [esp + 0x738]
call fcn.004e8b00
push esi
push edi
lea ecx, [esp + 0x1e4]
call fcn.004dda00
push eax
lea ecx, [esp + 0x738]
call fcn.00545c90
push eax
mov ecx, ebp
call fcn.0054c4e0
mov byte [esp + 0xe64], 0xb
lea ecx, [esp + 0x72c]
jmp 0x54af82
lea ecx, [esp + 0x250]
call fcn.005a1930
test al, al
je 0x54ae8c
lea ecx, [esp + 0x404]
call fcn.005452b0
push str.CmsForceSha1Oid
lea ecx, [esi + 0x90]
mov byte [esp + 0xe68], 0xd
call fcn.004e9040
test al, al
jne 0x54ae4d
mov eax, dword [esp + 0xe78]
cmp eax, 7
jne 0x54ae35
push str.1.2.840.113549.1.1.11
jmp 0x54ae52
cmp eax, 2
jne 0x54ae41
push str.1.2.840.113549.1.1.12
jmp 0x54ae52
cmp eax, 3
jne 0x54ae4d
push str.1.2.840.113549.1.1.13
jmp 0x54ae52
push str.1.2.840.113549.1.1.1
lea ecx, [esp + 0x410]
call fcn.004e8b00
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x404]
push eax
push esi
call fcn.00545c30
push eax
mov ecx, ebp
call fcn.0054c4e0
mov byte [esp + 0xe64], 0xb
lea ecx, [esp + 0x404]
jmp 0x54af82
lea ecx, [esp + 0x250]
call fcn.0053c4a0
test al, al
je 0x54af14
lea ecx, [esp + 0x8f8]
call fcn.005452b0
mov eax, dword [esp + 0xe78]
mov byte [esp + 0xe64], 0xe
cmp eax, 7
jne 0x54aec3
push str.1.2.840.10045.4.3.2
jmp 0x54aee0
cmp eax, 2
jne 0x54aecf
push str.1.2.840.10045.4.3.3
jmp 0x54aee0
cmp eax, 3
jne 0x54aedb
push str.1.2.840.10045.4.3.4
jmp 0x54aee0
push str.1.2.840.10045.4.1
lea ecx, [esp + 0x904]
call fcn.004e8b00
push 0
push esi
lea ecx, [esp + 0x900]
call fcn.00545c30
push eax
mov ecx, ebp
call fcn.0054c4e0
mov byte [esp + 0xe64], 0xb
lea ecx, [esp + 0x8f8]
jmp 0x54af82
lea ecx, [esp + 0x250]
call fcn.0053c490
test al, al
je 0x54af87
lea ecx, [esp + 0xc90]
call fcn.005452b0
mov eax, dword [esp + 0xe78]
mov byte [esp + 0xe64], 0xf
cmp eax, 7
jne 0x54af4b
push str.2.16.840.1.101.3.4.3.2
jmp 0x54af50
push str.1.2.840.10040.4.3
lea ecx, [esp + 0xc9c]
call fcn.004e8b00
push 0
push esi
lea ecx, [esp + 0xc98]
call fcn.00545c30
push eax
mov ecx, ebp
call fcn.0054c4e0
mov byte [esp + 0xe64], 0xb
lea ecx, [esp + 0xc90]
call fcn.00545390
lea ecx, [esp + 0x3c]
xor bl, bl
call fcn.004dfe70
mov byte [esp + 0xe64], 0x10
call fcn.0054e5d0
mov ecx, dword [esp + 0x14]
mov edi, eax
push ecx
push esi
lea ecx, [esp + 0xacc]
call fcn.00545c30
push eax
mov ecx, edi
call fcn.0054c4e0
lea ecx, [esp + 0x58]
call fcn.004dfe70
mov al, byte [esp + 0x13]
mov byte [esp + 0xe64], 0x11
test al, al
je 0x54b005
mov eax, dword [esp + 0xe78]
lea edx, [esp + 0x58]
push edx
push eax
lea ecx, [esp + 0xec]
call fcn.005a8750
push eax
lea ecx, [esp + 0xf0]
call fcn.004dda10
push eax
call fcn.0055d6a0
add esp, 0x10
jmp 0x54b016
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x5c]
call fcn.004de6c0
lea ecx, [esp + 0x58]
call fcn.005a8750
push eax
lea ecx, [esp + 0x5c]
call fcn.004dda10
push eax
call fcn.0054e0d0
add esp, 8
mov ecx, edi
push eax
call fcn.0054c4e0
lea ecx, [esp + 0x134]
call fcn.004dfe70
push esi
lea edx, [esp + 0x138]
push 0
push edx
mov ecx, edi
mov byte [esp + 0xe70], 0x12
call fcn.0054d820
mov ecx, edi
call fcn.004d7f00
mov al, byte [esi + 0x121]
test al, al
je 0x54b097
lea ecx, [esp + 0x134]
call fcn.005a8750
push eax
lea ecx, [esp + 0x138]
call fcn.004dda10
push eax
push str.asnAuthAttrDer
mov ecx, esi
call fcn.004ef510
lea ecx, [esp + 0x250]
call fcn.005a1930
test al, al
je 0x54b1a5
mov al, byte [esp + 0x11]
test al, al
je 0x54b108
lea eax, [esp + 0x3c]
push esi
push eax
lea ecx, [esp + 0x60]
call fcn.005a8750
push eax
lea ecx, [esp + 0x64]
call fcn.004dda10
push eax
lea ecx, [esp + 0x260]
call fcn.0053b770
mov ecx, dword [esp + 0xe88]
mov edx, dword [esp + 0xe84]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
push 1
push eax
call fcn.0056ced0
mov bl, al
add esp, 0x24
test bl, bl
jne 0x54b191
jmp 0x54b32b
lea ecx, [esp + 0x250]
call fcn.005a8750
test eax, eax
je 0x54b180
mov cl, byte [esp + 0xe74]
push esi
test cl, cl
lea ecx, [esp + 0x40]
push ecx
je 0x54b152
mov edx, dword [esp + 0xe80]
push 0xffffffffffffffff
push edx
push eax
lea ecx, [esp + 0x6c]
call fcn.005a8750
push eax
lea ecx, [esp + 0x70]
call fcn.004dda10
push eax
call fcn.005d8cf0
add esp, 0x1c
jmp 0x54b175
push eax
lea ecx, [esp + 0x140]
call fcn.005a8750
push eax
lea ecx, [esp + 0x144]
call fcn.004dda10
push eax
call fcn.005d8bc0
add esp, 0x14
mov bl, al
test bl, bl
jne 0x54b191
jmp 0x54b32b
mov eax, dword [esi]
push str.Invalid_RSA_DER_private_key.
mov ecx, esi
call dword [eax + 0x14]
jmp 0x54b3d9
lea ecx, [esp + 0x3c]
call fcn.005a8750
push eax
push str.rsaSigLen
jmp 0x54b3ae
lea ecx, [esp + 0x250]
call fcn.0053c4a0
test al, al
je 0x54b2c9
mov al, byte [esp + 0x11]
test al, al
je 0x54b233
lea ecx, [esp + 0x3c]
push esi
push ecx
lea ecx, [esp + 0x60]
call fcn.005a8750
push eax
lea ecx, [esp + 0x64]
call fcn.004dda10
push eax
lea ecx, [esp + 0x260]
call fcn.0053b770
mov edx, dword [esp + 0xe88]
push eax
mov eax, dword [esp + 0x2c]
push edx
push 0
push 0
push eax
call fcn.0056ced0
mov bl, al
add esp, 0x24
test bl, bl
jne 0x54b21f
mov edx, dword [esi]
push str.Failed_to_sign_digest_of_authenticated_attributes.
mov ecx, esi
call dword [edx + 0x14]
mov byte [esp + 0x10], bl
test bl, bl
je 0x54b3d9
lea ecx, [esp + 0x3c]
call fcn.005a8750
push eax
push str.eccSigLen
jmp 0x54b3ae
lea ecx, [esp + 0x250]
call fcn.00596fa0
mov edi, eax
test edi, edi
je 0x54b2b3
lea ecx, [esp + 0x5d0]
call fcn.005de8f0
lea eax, [esp + 0x3c]
push esi
push eax
lea ecx, [esp + 0x5d8]
push 1
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0xe74], 0x13
call fcn.005a8750
push eax
lea ecx, [esp + 0x6c]
call fcn.004dda10
push eax
mov ecx, edi
call fcn.005cf120
mov bl, al
test bl, bl
jne 0x54b29a
mov edx, dword [esi]
push str.Failed_to_ECC_sign_digest_of_authenticated_attributes.
mov ecx, esi
call dword [edx + 0x14]
mov byte [esp + 0x10], bl
lea ecx, [esp + 0x5d0]
mov byte [esp + 0xe64], 0x12
call fcn.005de970
jmp 0x54b217
mov eax, dword [esi]
push str.Invalid_ECC_DER_private_key.
mov ecx, esi
call dword [eax + 0x14]
mov byte [esp + 0x10], 0
jmp 0x54b3d9
lea ecx, [esp + 0x250]
call fcn.0053c490
test al, al
je 0x54b3d9
mov al, byte [esp + 0x11]
test al, al
je 0x54b341
lea ecx, [esp + 0x3c]
push esi
push ecx
lea ecx, [esp + 0x60]
call fcn.005a8750
push eax
lea ecx, [esp + 0x64]
call fcn.004dda10
push eax
lea ecx, [esp + 0x260]
call fcn.0053b770
mov edx, dword [esp + 0xe88]
push eax
mov eax, dword [esp + 0x2c]
push edx
push 0
push 0
push eax
call fcn.0056ced0
mov bl, al
add esp, 0x24
test bl, bl
jne 0x54b39f
mov edx, dword [esi]
push str.Failed_to_sign_digest_of_authenticated_attributes.
mov ecx, esi
call dword [edx + 0x14]
mov byte [esp + 0x10], 0
jmp 0x54b3d9
lea ecx, [esp + 0x250]
call fcn.004dda00
test eax, eax
je 0x54b38c
lea ecx, [esp + 0x3c]
push esi
push ecx
push eax
lea ecx, [esp + 0x64]
call fcn.005a8750
push eax
lea ecx, [esp + 0x68]
call fcn.004dda10
push eax
call fcn.005d5800
mov bl, al
add esp, 0x14
test bl, bl
jne 0x54b39f
mov edx, dword [esi]
push str.Failed_to_DSA_sign_digest_of_authenticated_attributes.
mov ecx, esi
call dword [edx + 0x14]
mov byte [esp + 0x10], bl
jmp 0x54b3d9
mov eax, dword [esi]
push str.Invalid_DSA_DER_private_key.
mov ecx, esi
call dword [eax + 0x14]
mov byte [esp + 0x10], 0
jmp 0x54b3d9
lea ecx, [esp + 0x3c]
call fcn.005a8750
push eax
push str.dsaSigLen
mov ecx, esi
call fcn.004effe0
lea ecx, [esp + 0x3c]
call fcn.005a8750
push eax
lea ecx, [esp + 0x40]
call fcn.004dda10
push eax
call fcn.0054e0d0
add esp, 8
mov ecx, ebp
push eax
call fcn.0054c4e0
lea ecx, [esp + 0x134]
mov byte [esp + 0xe64], 0x11
call fcn.004e0890
lea ecx, [esp + 0x58]
mov byte [esp + 0xe64], 0x10
call fcn.004e0890
mov edx, dword [esp + 0xe84]
mov eax, dword [esp + 0xe8c]
lea ecx, [esp + 0x12]
push esi
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
lea edx, [esp + 0x4c]
push ecx
lea eax, [esp + 0xa4]
push edx
push eax
mov byte [esp + 0x2e], 1
call fcn.005483a0
mov edi, eax
mov al, byte [esp + 0x2e]
add esp, 0x1c
test al, al
jne 0x54b44e
mov edx, dword [esi]
push str.Some_or_all_of_the_unauthenticated_attributes_could_not_be_created.
mov ecx, esi
call dword [edx + 0x14]
mov byte [esp + 0x10], 0
test edi, edi
je 0x54b465
push edi
mov ecx, ebp
mov byte [edi + 0x2c], 2
mov dword [edi + 0x30], 1
call fcn.0054c4e0
test bl, bl
je 0x54b475
mov ecx, dword [esp + 0x24]
push ebp
call fcn.0054c4e0
jmp 0x54b47c
mov ecx, ebp
call fcn.004d7f00
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe64], 0xb
call fcn.004e0890
lea ecx, [esp + 0xe4]
mov byte [esp + 0xe64], 0xa
call fcn.004e0890
lea ecx, [esp + 0xac4]
mov byte [esp + 0xe64], 8
call fcn.00545390
lea ecx, [esp + 0x250]
mov byte [esp + 0xe64], 7
call fcn.0053b840
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe64], 5
call fcn.004e0890
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
inc ebp
cmp ebp, eax
mov dword [esp + 0x1c], ebp
jl 0x54aa57
mov al, byte [esp + 0x10]
test al, al
jne 0x54b58f
mov eax, dword [esi]
push str.Failed_to_create_one_or_more_SignerInfos...
mov ecx, esi
call dword [eax + 0x14]
mov ecx, dword [esp + 0x24]
call fcn.004d7f00
lea ecx, [esp + 0x118]
mov byte [esp + 0xe64], 4
call fcn.00507070
lea ecx, [esp + 0x90]
mov byte [esp + 0xe64], 3
call fcn.004e0890
lea ecx, [esp + 0x74]
mov byte [esp + 0xe64], 2
call fcn.004e0890
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xe64], 1
call fcn.004e58d0
lea ecx, [esp + 0x168]
mov byte [esp + 0xe64], 0
call fcn.004e58d0
lea ecx, [esp + 0x28]
mov dword [esp + 0xe64], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x54c000
call fcn.0054e5d0
mov ebx, eax
push 1
mov dword [esp + 0x3c], ebx
call fcn.0054de70
add esp, 4
mov ecx, ebx
push eax
call fcn.0054c4e0
call fcn.0054e610
lea ecx, [esp + 0x72c]
mov edi, eax
call fcn.005452b0
mov ecx, dword [esp + 0xe78]
mov byte [esp + 0xe64], 0x14
push ecx
lea ecx, [esp + 0x730]
call fcn.00545b10
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x72c]
push edx
push esi
call fcn.00545c30
push eax
mov ecx, edi
call fcn.0054c4e0
lea ecx, [esp + 0x72c]
mov byte [esp + 0xe64], 5
call fcn.00545390
push edi
mov ecx, ebx
call fcn.0054c4e0
call fcn.0054e5d0
mov edi, eax
test edi, edi
jne 0x54b698
lea ecx, [esp + 0x118]
mov byte [esp + 0xe64], 4
call fcn.00507070
lea ecx, [esp + 0x90]
mov byte [esp + 0xe64], 3
call fcn.004e0890
lea ecx, [esp + 0x74]
mov byte [esp + 0xe64], 2
call fcn.004e0890
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xe64], 1
call fcn.004e58d0
lea ecx, [esp + 0x168]
mov byte [esp + 0xe64], 0
call fcn.004e58d0
lea ecx, [esp + 0x28]
mov dword [esp + 0xe64], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x54c000
push str.1.2.840.113549.1.7.1
call fcn.0054e560
add esp, 4
test eax, eax
jne 0x54b725
lea ecx, [esp + 0x118]
mov byte [esp + 0xe64], 4
call fcn.00507070
lea ecx, [esp + 0x90]
mov byte [esp + 0xe64], 3
call fcn.004e0890
lea ecx, [esp + 0x74]
mov byte [esp + 0xe64], 2
call fcn.004e0890
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xe64], 1
call fcn.004e58d0
lea ecx, [esp + 0x168]
mov byte [esp + 0xe64], 0
call fcn.004e58d0
lea ecx, [esp + 0x28]
mov dword [esp + 0xe64], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x54c000
push eax
mov ecx, edi
call fcn.0054c4e0
mov al, byte [esp + 0xe70]
test al, al
jne 0x54b8cc
mov al, byte [0x725e38]
test al, al
jne 0x54b966
mov ecx, dword [esp + 0xe84]
call fcn.005146f0
test al, al
jne 0x54b966
push str.UseConstructedOctets
lea ecx, [esi + 0x90]
call fcn.004e9040
test al, al
jne 0x54b966
mov al, byte [esi + 0x121]
test al, al
je 0x54b78b
mov eax, dword [esi]
push str.Using_ASN.1_octet_string_for_data_in_1.2.840.113549.1.7.1.
mov ecx, esi
call dword [eax + 0x18]
push 0
call fcn.0054dbc0
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x54b817
lea ecx, [esp + 0x118]
mov byte [esp + 0xe64], 4
call fcn.00507070
lea ecx, [esp + 0x90]
mov byte [esp + 0xe64], 3
call fcn.004e0890
lea ecx, [esp + 0x74]
mov byte [esp + 0xe64], 2
call fcn.004e0890
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xe64], 1
call fcn.004e58d0
lea ecx, [esp + 0x168]
mov byte [esp + 0xe64], 0
call fcn.004e58d0
lea ecx, [esp + 0x28]
mov dword [esp + 0xe64], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x54c000
lea ecx, [esp + 0x74]
call fcn.005a8750
push eax
lea ecx, [esp + 0x78]
call fcn.004dda10
push eax
call fcn.0054e0d0
add esp, 8
test eax, eax
jne 0x54b8b3
lea ecx, [esp + 0x118]
mov byte [esp + 0xe64], 4
call fcn.00507070
lea ecx, [esp + 0x90]
mov byte [esp + 0xe64], 3
call fcn.004e0890
lea ecx, [esp + 0x74]
mov byte [esp + 0xe64], 2
call fcn.004e0890
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xe64], 1
call fcn.004e58d0
lea ecx, [esp + 0x168]
mov byte [esp + 0xe64], 0
call fcn.004e58d0
lea ecx, [esp + 0x28]
mov dword [esp + 0xe64], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x54c000
push eax
mov ecx, ebp
call fcn.0054c4e0
lea ecx, [esp + 0x74]
call fcn.004e0830
push ebp
mov ecx, edi
call fcn.0054c4e0
push edi
mov ecx, ebx
call fcn.0054c4e0
push 0
call fcn.0054dbc0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x54ba1f
lea ecx, [esp + 0x118]
mov byte [esp + 0xe64], 4
call fcn.00507070
lea ecx, [esp + 0x90]
mov byte [esp + 0xe64], 3
call fcn.004e0890
lea ecx, [esp + 0x74]
mov byte [esp + 0xe64], 2
call fcn.004e0890
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xe64], 1
call fcn.004e58d0
lea ecx, [esp + 0x168]
mov byte [esp + 0xe64], 0
call fcn.004e58d0
lea ecx, [esp + 0x28]
mov dword [esp + 0xe64], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x54c000
mov al, byte [esi + 0x121]
test al, al
je 0x54b97c
mov edx, dword [esi]
push str.Using_ASN.1_constructed_octets_for_data_in_1.2.840.113549.1.7.1.
mov ecx, esi
call dword [edx + 0x18]
push esi
lea ecx, [esp + 0x78]
call fcn.005a8750
push eax
lea ecx, [esp + 0x7c]
call fcn.004dda10
push eax
call fcn.0054a460
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x54b8bb
lea ecx, [esp + 0x118]
mov byte [esp + 0xe64], 4
call fcn.00507070
lea ecx, [esp + 0x90]
mov byte [esp + 0xe64], 3
call fcn.004e0890
lea ecx, [esp + 0x74]
mov byte [esp + 0xe64], 2
call fcn.004e0890
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xe64], 1
call fcn.004e58d0
lea ecx, [esp + 0x168]
mov byte [esp + 0xe64], 0
call fcn.004e58d0
lea ecx, [esp + 0x28]
mov dword [esp + 0xe64], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x54c000
lea ecx, [esp + 0x10c]
call fcn.004d8060
mov eax, dword [esp + 0x18]
xor edi, edi
lea ecx, [esp + 0xac]
mov byte [esp + 0xe64], 0x15
mov dword [esp + 0x114], eax
mov dword [esp + 0x14], edi
call fcn.00507040
lea ecx, [esp + 0x150]
mov byte [esp + 0xe64], 0x16
mov byte [esp + 0xc4], 1
call fcn.00569960
mov ecx, dword [esp + 0xe88]
mov byte [esp + 0xe64], 0x17
call fcn.00596fa0
xor ebp, ebp
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x1c], ebp
jle 0x54beba
mov ecx, dword [esp + 0xe88]
push esi
push ebp
push ecx
call fcn.0059eb60
mov edi, eax
add esp, 0xc
test edi, edi
je 0x54bea5
lea ecx, [esp + 0x404]
call fcn.004d91b0
lea edx, [esp + 0x404]
push esi
push edx
mov ecx, edi
mov byte [esp + 0xe6c], 0x18
call fcn.005a05b0
lea ecx, [esp + 0x404]
call fcn.004dbab0
push eax
lea ecx, [esp + 0x154]
call fcn.00569dd0
test al, al
je 0x54bb08
lea ecx, [esp + 0x404]
mov byte [esp + 0xe64], 0x17
call fcn.004d9240
jmp 0x54bea5
push esi
mov ecx, edi
call fcn.005a0440
test al, al
je 0x54bb2d
mov eax, dword [esi]
push str.This_is_a_self_signed_certificate...
mov ecx, esi
call dword [eax + 0x18]
mov byte [esp + 0xe7c], 0
jmp 0x54bd9f
mov al, byte [esp + 0xe7c]
test al, al
je 0x54bd93
mov eax, dword [esp + 0xe80]
lea ecx, [esp + 0x12]
push esi
lea edx, [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xe94]
push edx
push 0
push eax
push edi
mov byte [esp + 0x2a], 0
call fcn.005235b0
test al, al
jne 0x54bb7b
mov edx, dword [esi]
push str.Failed_to_build_certificate_chain
mov ecx, esi
call dword [edx + 0x14]
mov byte [esp + 0x10], 0
lea ecx, [esp + 0xac]
call fcn.00596fa0
mov ebx, eax
cmp ebx, 1
jle 0x54bc14
lea ecx, [esp + 0xe4]
call fcn.00507040
lea edi, [ebx - 1]
xor ebp, ebp
test edi, edi
mov byte [esp + 0xe64], 0x19
jl 0x54bbce
push edi
lea ecx, [esp + 0xb0]
call fcn.00507150
push eax
push ebp
lea ecx, [esp + 0xec]
call fcn.00507720
inc ebp
dec edi
jns 0x54bbaf
xor edi, edi
test ebx, ebx
jle 0x54bbf4
push edi
lea ecx, [esp + 0xe8]
call fcn.00507150
push eax
push edi
lea ecx, [esp + 0xb4]
call fcn.00507720
inc edi
cmp edi, ebx
jl 0x54bbd4
lea ecx, [esp + 0xe4]
call fcn.00507560
lea ecx, [esp + 0xe4]
mov byte [esp + 0xe64], 0x18
call fcn.00507070
push ebx
push str.numCertsInChain
mov ecx, esi
call fcn.004effe0
test ebx, ebx
je 0x54bd82
xor eax, eax
test ebx, ebx
mov dword [esp + 0x34], eax
jle 0x54bd82
push esi
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.0059eb60
mov edi, eax
add esp, 0xc
test edi, edi
je 0x54bd71
lea ecx, [esp + 0x250]
call fcn.004d91b0
lea ecx, [esp + 0x250]
push esi
push ecx
mov ecx, edi
mov byte [esp + 0xe6c], 0x1a
call fcn.005a0fd0
mov ebp, dword [esi]
lea ecx, [esp + 0x250]
call fcn.004dbab0
push eax
push str.AddingCertWithSerialNum
mov ecx, esi
call dword [ebp + 0x2c]
lea ecx, [esp + 0x250]
mov byte [esp + 0xe64], 0x18
call fcn.004d9240
lea ecx, [esp + 0x404]
call fcn.004d9530
lea edx, [esp + 0x404]
push esi
push edx
mov ecx, edi
call fcn.005a05b0
lea ecx, [esp + 0x404]
call fcn.004dbab0
push eax
lea ecx, [esp + 0x154]
call fcn.00569dd0
test al, al
je 0x54bd04
mov eax, dword [esi]
push str.Skipping_this_cert_because_it_was_already_added...
mov ecx, esi
call dword [eax + 0x18]
mov edi, dword [esi]
lea ecx, [esp + 0x404]
call fcn.004dbab0
push eax
push str.distinguishedName
mov ecx, esi
call dword [edi + 0x2c]
jmp 0x54bd71
mov ebp, dword [esi]
lea ecx, [esp + 0x404]
call fcn.004dbab0
push eax
push str.addingCert
mov ecx, esi
call dword [ebp + 0x2c]
mov ecx, dword [esp + 0x18]
push esi
push ecx
push edi
call fcn.0054c020
add esp, 0xc
test al, al
jne 0x54bd4f
lea ecx, [esp + 0xac]
call fcn.005078f0
mov edx, dword [esi]
push str.Failed_to_add_certificate_to_ASN
mov ecx, esi
call dword [edx + 0x14]
mov byte [esp + 0x10], 0
jmp 0x54bd71
push 0x6ea414
lea ecx, [esp + 0x408]
call fcn.004dbab0
push eax
lea ecx, [esp + 0x158]
call fcn.00569f00
inc dword [esp + 0x14]
mov eax, dword [esp + 0x34]
inc eax
cmp eax, ebx
mov dword [esp + 0x34], eax
jl 0x54bc37
lea ecx, [esp + 0xac]
call fcn.005078f0
jmp 0x54be89
mov eax, dword [esi]
push str.Not_embedding_certificate_chain..
mov ecx, esi
call dword [eax + 0x18]
lea ecx, [esp + 0x614]
call fcn.004d91b0
lea ecx, [esp + 0x614]
push esi
push ecx
mov ecx, edi
mov byte [esp + 0xe6c], 0x1b
call fcn.005a0fd0
lea edx, [esp + 0x614]
mov ecx, esi
push edx
push str.AddingCertWithSerialNumber
call fcn.004efc60
mov ebx, dword [esi]
lea ecx, [esp + 0x404]
call fcn.004dbab0
push eax
push str.addingCert
mov ecx, esi
call dword [ebx + 0x2c]
mov eax, dword [esp + 0x18]
push esi
push eax
push edi
call fcn.0054c020
add esp, 0xc
test al, al
jne 0x54be4e
lea ecx, [esp + 0xac]
call fcn.005078f0
mov edx, dword [esi]
push str.Failed_to_add_certificate_to_ASN
mov ecx, esi
call dword [edx + 0x14]
lea ecx, [esp + 0x614]
mov byte [esp + 0x10], 0
mov byte [esp + 0xe64], 0x18
call fcn.004d9240
lea ecx, [esp + 0x404]
mov byte [esp + 0xe64], 0x17
call fcn.004d9240
mov ebx, dword [esp + 0x38]
jmp 0x54bea5
push 0x6ea414
lea ecx, [esp + 0x408]
call fcn.004dbab0
push eax
lea ecx, [esp + 0x158]
call fcn.00569f00
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x614]
inc eax
mov byte [esp + 0xe64], 0x18
mov dword [esp + 0x14], eax
call fcn.004d9240
lea ecx, [esp + 0x404]
mov byte [esp + 0xe64], 0x17
call fcn.004d9240
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
inc ebp
cmp ebp, eax
mov dword [esp + 0x1c], ebp
jl 0x54ba92
mov edi, dword [esp + 0x14]
push edi
push str.numCertsAdded
mov ecx, esi
call fcn.004effe0
test edi, edi
je 0x54bee2
mov eax, dword [esp + 0x18]
mov ecx, ebx
push eax
mov dword [esp + 0x118], 0
call fcn.0054c4e0
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, ebx
call fcn.0054c4e0
call fcn.0054e5d0
push str.1.2.840.113549.1.7.2
mov edi, eax
call fcn.0054e560
add esp, 4
mov ecx, edi
push eax
call fcn.0054c4e0
push 0
call fcn.0054dbc0
add esp, 4
mov ebp, eax
mov ecx, ebp
push ebx
call fcn.0054c4e0
push ebp
mov ecx, edi
call fcn.0054c4e0
mov al, byte [esp + 0x10]
test al, al
je 0x54bf44
mov edx, dword [esp + 0xe90]
push esi
push 0
push edx
mov ecx, edi
call fcn.0054d820
mov byte [esp + 0x10], al
mov ecx, edi
call fcn.004d7f00
lea ecx, [esp + 0x150]
mov byte [esp + 0xe64], 0x16
call fcn.00569ae0
lea ecx, [esp + 0xac]
mov byte [esp + 0xe64], 0x15
call fcn.00507070
lea ecx, [esp + 0x10c]
mov byte [esp + 0xe64], 5
call fcn.004d80a0
lea ecx, [esp + 0x118]
mov byte [esp + 0xe64], 4
call fcn.00507070
lea ecx, [esp + 0x90]
mov byte [esp + 0xe64], 3
call fcn.004e0890
lea ecx, [esp + 0x74]
mov byte [esp + 0xe64], 2
call fcn.004e0890
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xe64], 1
call fcn.004e58d0
lea ecx, [esp + 0x168]
mov byte [esp + 0xe64], 0
call fcn.004e58d0
lea ecx, [esp + 0x28]
mov dword [esp + 0xe64], 0xffffffff
call fcn.004f03e0
mov al, byte [esp + 0x10]
mov ecx, dword [esp + 0xe5c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xe58
ret