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

Disassembly:
push 0xffffffffffffffff
push 0x687de5
mov eax, dword fs:[0]
push eax
sub esp, 0x680
mov eax, dword [0x78f694]
xor eax, esp
mov dword [esp + 0x67c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x78f694]
xor eax, esp
push eax
lea eax, [esp + 0x694]
mov dword fs:[0], eax
mov eax, dword [esp + 0x6a4]
mov edx, dword [esp + 0x6ac]
mov esi, dword [esp + 0x6bc]
mov edi, dword [esp + 0x6b0]
mov ebp, ecx
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x6b8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x6b4]
push str.verifySignature
mov dword [esp + 0x4c], ecx
push esi
lea ecx, [esp + 0x80]
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], eax
call fcn.004b1850
xor ebx, ebx
lea ecx, [esp + 0x280]
mov dword [esp + 0x69c], ebx
call fcn.004796b0
lea ecx, [ebp + 0x58]
mov byte [esp + 0x69c], 1
mov byte [ebp + 0x94], bl
mov byte [ebp + 0x95], bl
mov byte [ebp + 0x96], bl
call fcn.004aee10
lea ecx, [ebp + 0x78]
call fcn.004aee70
lea ecx, [ebp + 0x20]
call fcn.0054cfe0
push eax
push str.numSigners
mov ecx, esi
mov dword [esp + 0x40], eax
call fcn.004b14c0
lea ecx, [esp + 0x164]
call fcn.004f28e0
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x69c], 2
call fcn.004cebe0
lea ecx, [esp + 0x218]
mov byte [esp + 0x69c], 3
call fcn.004e3f10
lea ecx, [ebp + 0x3c]
mov byte [esp + 0x69c], 4
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1b], bl
mov byte [esp + 0x1a], bl
mov byte [esp + 0x16], bl
mov byte [esp + 0x19], bl
mov byte [esp + 0x18], bl
mov byte [esp + 0x17], bl
call fcn.0054cfe0
push eax
push str.numDigestAlgorithms
mov ecx, esi
mov dword [esp + 0x44], eax
call fcn.004b14c0
mov ecx, esi
call fcn.004b0450
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x1c], ebx
je 0x4e23de
push edi
mov ecx, ebx
call fcn.00507a30
xor edi, edi
test ebx, ebx
je 0x4e241c
lea edx, [esp + 0x280]
push edx
push str.digestAlgorithms
mov ecx, ebx
call fcn.00508140
mov edi, eax
test edi, edi
jge 0x4e2400
xor edi, edi
cmp byte [ebp + 0x74], 0
je 0x4e241c
lea eax, [esp + 0x280]
push eax
push 1
push str.useConstructedOctets
mov ecx, ebx
call fcn.00507ed0
xor eax, eax
cmp dword [esp + 0x3c], eax
mov dword [esp + 0x20], eax
jle 0x4e2755
push eax
lea ecx, [ebp + 0x3c]
call fcn.004ae960
test eax, eax
je 0x4e2740
lea ebx, [eax + 8]
push str.1.3.14.3.2.26
mov ecx, ebx
call fcn.00487710
test al, al
je 0x4e24b2
cmp byte [esp + 0x16], 0
jne 0x4e2740
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Computing_SHA1_message_digest.
mov ecx, esi
mov byte [esp + 0x1a], 1
call eax
lea ecx, [esp + 0x218]
call fcn.004e3f60
cmp dword [esp + 0x1c], 0
je 0x4e2740
mov ebx, dword [esp + 0x1c]
push edi
mov ecx, ebx
call fcn.005076c0
lea ecx, [esp + 0x280]
push ecx
push str.sha1
push str.digestAlgorithms_i_
mov ecx, ebx
add edi, 1
call fcn.00507c00
jmp 0x4e2740
push str.1.2.840.113549.2.5
mov ecx, ebx
call fcn.00487710
test al, al
je 0x4e2524
cmp byte [esp + 0x1a], 0
jne 0x4e2740
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Computing_MD5_message_digest.
mov ecx, esi
mov byte [esp + 0x1e], 1
call eax
lea ecx, [esp + 0x1bc]
call fcn.004f8bb0
cmp dword [esp + 0x1c], 0
je 0x4e2740
mov ebx, dword [esp + 0x1c]
push edi
mov ecx, ebx
call fcn.005076c0
lea ecx, [esp + 0x280]
push ecx
push 0x6d4be4
push str.digestAlgorithms_i_
mov ecx, ebx
add edi, 1
call fcn.00507c00
jmp 0x4e2740
push str.1.2.840.113549.2.2
mov ecx, ebx
call fcn.00487710
test al, al
je 0x4e2596
cmp byte [esp + 0x1b], 0
jne 0x4e2740
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Computing_MD2_message_digest.
mov ecx, esi
mov byte [esp + 0x1f], 1
call eax
lea ecx, [esp + 0x164]
call fcn.004f2900
cmp dword [esp + 0x1c], 0
je 0x4e2740
mov ebx, dword [esp + 0x1c]
push edi
mov ecx, ebx
call fcn.005076c0
lea ecx, [esp + 0x280]
push ecx
push 0x6d4be0
push str.digestAlgorithms_i_
mov ecx, ebx
add edi, 1
call fcn.00507c00
jmp 0x4e2740
push str.2.16.840.1.101.3.4.2.1
mov ecx, ebx
call fcn.00487710
test al, al
je 0x4e2605
cmp byte [esp + 0x19], 0
jne 0x4e2740
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Computing_SHA256_message_digest..
mov ecx, esi
mov byte [esp + 0x1d], 1
call eax
call fcn.004f1150
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x24], eax
je 0x4e2740
mov ebx, dword [esp + 0x1c]
push edi
mov ecx, ebx
call fcn.005076c0
lea ecx, [esp + 0x280]
push ecx
push str.sha256
push str.digestAlgorithms_i_
mov ecx, ebx
add edi, 1
call fcn.00507c00
jmp 0x4e2740
push str.2.16.840.1.101.3.4.2.2
mov ecx, ebx
call fcn.00487710
test al, al
je 0x4e2674
cmp byte [esp + 0x18], 0
jne 0x4e2740
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Computing_SHA384_message_digest.
mov ecx, esi
mov byte [esp + 0x1c], 1
call eax
call fcn.004f1160
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x30], eax
je 0x4e2740
mov ebx, dword [esp + 0x1c]
push edi
mov ecx, ebx
call fcn.005076c0
lea ecx, [esp + 0x280]
push ecx
push str.sha384
push str.digestAlgorithms_i_
mov ecx, ebx
add edi, 1
call fcn.00507c00
jmp 0x4e2740
push str.2.16.840.1.101.3.4.2.3
mov ecx, ebx
call fcn.00487710
test al, al
je 0x4e26e0
cmp byte [esp + 0x17], 0
jne 0x4e2740
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Computing_SHA512_message_digest.
mov ecx, esi
mov byte [esp + 0x1b], 1
call eax
call fcn.004f1170
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x2c], eax
je 0x4e2740
mov ebx, dword [esp + 0x1c]
push edi
mov ecx, ebx
call fcn.005076c0
lea ecx, [esp + 0x280]
push ecx
push str.sha512
push str.digestAlgorithms_i_
mov ecx, ebx
add edi, 1
call fcn.00507c00
jmp 0x4e2740
cmp dword [esp + 0x1c], 0
je 0x4e2712
mov ecx, dword [esp + 0x1c]
push edi
call fcn.005076c0
lea edx, [esp + 0x280]
push edx
mov ecx, ebx
add edi, 1
call fcn.00483ec0
mov ecx, dword [esp + 0x20]
push eax
push str.digestAlgorithms_i_
call fcn.00507c00
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Unsupported_PKCS7_digest_algorithm.
mov ecx, esi
call edx
mov eax, dword [esi]
add eax, 0x2c
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.00483ec0
push eax
mov eax, dword [esp + 0x44]
mov edx, dword [eax]
push str.digestOid
mov ecx, esi
call edx
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
jl 0x4e242c
xor edi, edi
cmp dword [esp + 0x38], edi
mov dword [esp + 0x20], edi
jle 0x4e290d
push edi
lea ecx, [ebp + 0x20]
call fcn.004ae960
mov ebx, eax
test ebx, ebx
je 0x4e28f8
push esi
push edi
mov ecx, ebx
call fcn.004d4890
lea ecx, [ebx + 0x7b0]
call fcn.00544a30
test eax, eax
je 0x4e28f8
lea edi, [ebx + 0x468]
push str.1.3.14.3.2.26
mov ecx, edi
call fcn.00482900
test al, al
je 0x4e27d9
cmp byte [esp + 0x16], 0
jne 0x4e28f8
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Computing_SHA1_message_digest.
mov ecx, esi
mov byte [esp + 0x1a], 1
call edx
lea ecx, [esp + 0x218]
call fcn.004e3f60
jmp 0x4e28f8
push str.1.2.840.113549.2.5
mov ecx, edi
call fcn.00482900
test al, al
je 0x4e2818
cmp byte [esp + 0x1a], 0
jne 0x4e28f8
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Computing_MD5_message_digest.
mov ecx, esi
mov byte [esp + 0x1e], 1
call edx
lea ecx, [esp + 0x1bc]
call fcn.004f8bb0
jmp 0x4e28f8
push str.1.2.840.113549.2.2
mov ecx, edi
call fcn.00482900
test al, al
je 0x4e2857
cmp byte [esp + 0x1b], 0
jne 0x4e28f8
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Computing_MD2_message_digest.
mov ecx, esi
mov byte [esp + 0x1f], 1
call edx
lea ecx, [esp + 0x164]
call fcn.004f2900
jmp 0x4e28f8
push str.2.16.840.1.101.3.4.2.1
mov ecx, edi
call fcn.00482900
test al, al
je 0x4e2890
cmp byte [esp + 0x19], 0
jne 0x4e28f8
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Computing_SHA256_message_digest.
mov ecx, esi
mov byte [esp + 0x1d], 1
call edx
call fcn.004f1150
mov dword [esp + 0x24], eax
jmp 0x4e28f8
push str.2.16.840.1.101.3.4.2.2
mov ecx, edi
call fcn.00482900
test al, al
je 0x4e28c5
cmp byte [esp + 0x18], 0
jne 0x4e28f8
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Computing_SHA384_message_digest.
mov ecx, esi
mov byte [esp + 0x1c], 1
call edx
call fcn.004f1160
mov dword [esp + 0x30], eax
jmp 0x4e28f8
push str.2.16.840.1.101.3.4.2.3
mov ecx, edi
call fcn.00482900
test al, al
je 0x4e2934
cmp byte [esp + 0x17], 0
jne 0x4e28f8
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Computing_SHA512_message_digest.
mov ecx, esi
mov byte [esp + 0x1b], 1
call edx
call fcn.004f1170
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x20]
add edi, 1
cmp edi, dword [esp + 0x38]
mov dword [esp + 0x20], edi
jl 0x4e2765
push 0x1388
call fcn.0047e520
mov edi, eax
add esp, 4
test edi, edi
jne 0x4e29c0
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_allocate_memory_for_hashing.
mov ecx, esi
call edx
jmp 0x4e2955
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Unrecognized_sigInfo_digest_algorithm
mov ecx, esi
call edx
add ebx, 0x468
push ebx
push str.sigInfoDigestAlgOid
mov ecx, esi
call fcn.004b11c0
lea ecx, [esp + 0x218]
mov byte [esp + 0x69c], 3
call fcn.004e3f50
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x69c], 2
call fcn.004cec10
lea ecx, [esp + 0x164]
mov byte [esp + 0x69c], 1
call fcn.004f28f0
lea ecx, [esp + 0x280]
mov byte [esp + 0x69c], 0
call fcn.004796d0
lea ecx, [esp + 0x78]
mov dword [esp + 0x69c], 0xffffffff
call fcn.004b18c0
xor al, al
jmp 0x4e3cc0
mov ebx, dword [esp + 0x58]
xor eax, eax
mov ecx, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
call fcn.00542670
test al, al
jne 0x4e2ac0
push esi
push 0
lea eax, [esp + 0x3c]
push eax
push 0x1000
push edi
mov ecx, ebx
call fcn.005431e0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4e2ac0
test al, al
je 0x4e2ac0
add dword [esp + 0x40], ecx
adc dword [esp + 0x44], 0
cmp byte [esp + 0x16], 0
je 0x4e2a2c
push ecx
push edi
lea ecx, [esp + 0x220]
call fcn.004e4440
mov ecx, dword [esp + 0x34]
cmp byte [esp + 0x1a], 0
je 0x4e2a45
push ecx
push edi
lea ecx, [esp + 0x1c4]
call fcn.004cec20
mov ecx, dword [esp + 0x34]
cmp byte [esp + 0x1b], 0
je 0x4e2a5e
push ecx
push edi
lea ecx, [esp + 0x16c]
call fcn.004f2a60
mov ecx, dword [esp + 0x34]
cmp byte [esp + 0x19], 0
je 0x4e2a7b
cmp dword [esp + 0x24], 0
je 0x4e2a7b
push ecx
mov ecx, dword [esp + 0x28]
push edi
call fcn.004f1890
mov ecx, dword [esp + 0x34]
cmp byte [esp + 0x18], 0
je 0x4e2a98
cmp dword [esp + 0x30], 0
je 0x4e2a98
push ecx
mov ecx, dword [esp + 0x34]
push edi
call fcn.004f1890
mov ecx, dword [esp + 0x34]
cmp byte [esp + 0x17], 0
je 0x4e2ab1
cmp dword [esp + 0x2c], 0
je 0x4e2ab1
push ecx
mov ecx, dword [esp + 0x30]
push edi
call fcn.004f1890
mov ecx, ebx
call fcn.00542670
test al, al
je 0x4e29e1
push edi
call fcn.006092e0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
add esp, 4
push ecx
push edx
push str.numBytesDigested
mov ecx, esi
call fcn.004b15a0
xor eax, eax
push 0x30
push eax
mov dword [esp + 0x5e4], eax
mov dword [esp + 0x5e8], eax
mov dword [esp + 0x5ec], eax
mov dword [esp + 0x5f0], eax
mov dword [esp + 0x5f4], eax
mov dword [esp + 0x5c4], eax
mov dword [esp + 0x5c8], eax
mov dword [esp + 0x5cc], eax
mov dword [esp + 0x5d0], eax
mov dword [esp + 0x5d4], eax
mov dword [esp + 0x5d8], eax
mov dword [esp + 0x5dc], eax
mov dword [esp + 0x5e0], eax
mov dword [esp + 0x5f8], eax
mov dword [esp + 0x5fc], eax
mov dword [esp + 0x600], eax
mov dword [esp + 0x604], eax
mov dword [esp + 0x608], eax
mov dword [esp + 0x60c], eax
mov dword [esp + 0x610], eax
mov dword [esp + 0x614], eax
lea eax, [esp + 0x628]
push eax
call fcn.00630180
push 0x40
lea ecx, [esp + 0x660]
push 0
push ecx
call fcn.00630180
add esp, 0x18
cmp byte [esp + 0x16], 0
je 0x4e2bd2
lea edx, [esp + 0x5dc]
push edx
lea ecx, [esp + 0x21c]
call fcn.004e4c20
cmp byte [esi + 0x121], 0
je 0x4e2bd2
push 0x14
lea eax, [esp + 0x5e0]
push eax
push str.sha1_hash
mov ecx, esi
call fcn.004b0960
cmp byte [esp + 0x1a], 0
je 0x4e2c0c
lea ecx, [esp + 0x5bc]
push ecx
lea ecx, [esp + 0x1c0]
call fcn.004cecf0
cmp byte [esi + 0x121], 0
je 0x4e2c0c
push 0x10
lea edx, [esp + 0x5c0]
push edx
push str.md5_hash
mov ecx, esi
call fcn.004b0960
cmp byte [esp + 0x1b], 0
je 0x4e2c46
lea eax, [esp + 0x5cc]
push eax
lea ecx, [esp + 0x168]
call fcn.004f2af0
cmp byte [esi + 0x121], 0
je 0x4e2c46
push 0x10
lea ecx, [esp + 0x5d0]
push ecx
push str.md2_hash
mov ecx, esi
call fcn.004b0960
cmp byte [esp + 0x19], 0
je 0x4e2c8c
mov edi, dword [esp + 0x24]
test edi, edi
je 0x4e2c8c
lea edx, [esp + 0x5f0]
push edx
mov ecx, edi
call fcn.004f1870
push edi
call fcn.004afb30
add esp, 4
cmp byte [esi + 0x121], 0
je 0x4e2c8c
push 0x20
lea eax, [esp + 0x5f4]
push eax
push str.sha256_hash
mov ecx, esi
call fcn.004b0960
cmp byte [esp + 0x18], 0
je 0x4e2cd2
mov edi, dword [esp + 0x30]
test edi, edi
je 0x4e2cd2
lea ecx, [esp + 0x620]
push ecx
mov ecx, edi
call fcn.004f1870
push edi
call fcn.004afb30
add esp, 4
cmp byte [esi + 0x121], 0
je 0x4e2cd2
push 0x30
lea edx, [esp + 0x624]
push edx
push str.sha384_hash
mov ecx, esi
call fcn.004b0960
cmp byte [esp + 0x17], 0
je 0x4e2d18
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x4e2d18
lea eax, [esp + 0x650]
push eax
mov ecx, edi
call fcn.004f1870
push edi
call fcn.004afb30
add esp, 4
cmp byte [esi + 0x121], 0
je 0x4e2d18
push 0x40
lea ecx, [esp + 0x654]
push ecx
push str.sha512_hash
mov ecx, esi
call fcn.004b0960
mov edi, dword [esp + 0x38]
push edi
push str.numSigners
mov ecx, esi
call fcn.004b14c0
test edi, edi
mov byte [esp + 0x16], 1
mov dword [esp + 0x20], 0
jle 0x4e2f91
mov edi, edi
mov edx, dword [esp + 0x20]
push edx
lea ecx, [ebp + 0x20]
call fcn.004ae960
mov edi, eax
test edi, edi
je 0x4e2f7c
lea ebx, [edi + 0x468]
push ebx
push str.signerDigestAlgOid
mov ecx, esi
call fcn.004b11c0
add edi, 0x7b0
mov ecx, edi
call fcn.00544a30
push eax
push str.messageDigestSize
mov ecx, esi
call fcn.004b14c0
mov ecx, edi
call fcn.00544a30
test eax, eax
je 0x4e2f6e
push str.1.3.14.3.2.26
mov ecx, ebx
call fcn.00482900
test al, al
je 0x4e2e06
push 0x14
lea eax, [esp + 0x5e0]
push eax
mov ecx, edi
call fcn.00468a50
test al, al
jne 0x4e2f7c
push 0x14
lea ecx, [esp + 0x5e0]
push ecx
push str.computedHash
mov ecx, esi
call fcn.004b0960
mov ecx, edi
call fcn.00544a30
push eax
mov ecx, edi
call fcn.00467d80
push eax
push str.receivedHash
mov ecx, esi
call fcn.004b0960
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.SHA1_message_digest_does_not_match.
mov ecx, esi
call eax
mov byte [esp + 0x16], 0
jmp 0x4e2f7c
push str.1.2.840.113549.2.5
mov ecx, ebx
call fcn.00482900
test al, al
je 0x4e2e47
push 0x10
lea ecx, [esp + 0x5c0]
push ecx
mov ecx, edi
call fcn.00468a50
test al, al
jne 0x4e2f7c
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.MD5_message_digest_does_not_match.
mov ecx, esi
call eax
mov byte [esp + 0x16], 0
jmp 0x4e2f7c
push str.1.2.840.113549.2.2
mov ecx, ebx
call fcn.00482900
test al, al
je 0x4e2e88
push 0x10
lea ecx, [esp + 0x5d0]
push ecx
mov ecx, edi
call fcn.00468a50
test al, al
jne 0x4e2f7c
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.MD2_message_digest_does_not_match.
mov ecx, esi
call eax
mov byte [esp + 0x16], 0
jmp 0x4e2f7c
push str.2.16.840.1.101.3.4.2.1
mov ecx, ebx
call fcn.00482900
test al, al
je 0x4e2ec9
push 0x20
lea ecx, [esp + 0x5f4]
push ecx
mov ecx, edi
call fcn.00468a50
test al, al
jne 0x4e2f7c
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.SHA256_message_digest_does_not_match.
mov ecx, esi
call eax
mov byte [esp + 0x16], 0
jmp 0x4e2f7c
push str.2.16.840.1.101.3.4.2.2
mov ecx, ebx
call fcn.00482900
test al, al
je 0x4e2f07
push 0x30
lea ecx, [esp + 0x624]
push ecx
mov ecx, edi
call fcn.00468a50
test al, al
jne 0x4e2f7c
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.SHA384_message_digest_does_not_match.
mov ecx, esi
call eax
mov byte [esp + 0x16], 0
jmp 0x4e2f7c
push str.2.16.840.1.101.3.4.2.3
mov ecx, ebx
call fcn.00482900
test al, al
je 0x4e2f41
push 0x40
lea ecx, [esp + 0x654]
push ecx
mov ecx, edi
call fcn.00468a50
test al, al
jne 0x4e2f7c
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.SHA512_message_digest_does_not_match.
mov ecx, esi
call eax
mov byte [esp + 0x16], 0
jmp 0x4e2f7c
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Unrecognized_digest_algorithm_OID_in_SignerInfo.
mov ecx, esi
call eax
mov edi, dword [esi]
mov ecx, ebx
add edi, 0x2c
call fcn.00480da0
mov edx, dword [edi]
push eax
push 0x6da4d0
mov ecx, esi
call edx
mov byte [esp + 0x16], 0
jmp 0x4e2f7c
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.SignerInfo_message_digest_is_empty.
mov ecx, esi
call edx
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
jl 0x4e2d40
xor edi, edi
cmp dword [esp + 0x38], edi
mov byte [esp + 0x18], 0
mov dword [esp + 0x20], edi
jle 0x4e3afe
push str.Signer
push esi
lea ecx, [esp + 0x54]
call fcn.004b1850
push edi
lea ecx, [ebp + 0x20]
mov byte [esp + 0x6a0], 5
call fcn.004ae960
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x2c], ebx
je 0x4e3ad8
mov eax, dword [esp + 0x48]
push esi
push eax
push ebx
mov ecx, ebp
call fcn.004d62d0
mov edi, eax
test edi, edi
mov dword [esp + 0x40], edi
jne 0x4e2fff
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Cannot_find_the_signing_certificate.
mov ecx, esi
call eax
jmp 0x4e3ad8
lea ecx, [esp + 0xa8]
call fcn.00468060
push esi
lea ecx, [esp + 0xac]
push ecx
mov ecx, edi
mov byte [esp + 0x6a4], 6
call fcn.00546cd0
test al, al
jne 0x4e3056
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Failed_to_get_public_key..
mov ecx, esi
call eax
push esi
lea eax, [ebp + 0x58]
push eax
push edi
call fcn.00549710
add esp, 0xc
call fcn.00488ce0
push eax
lea ecx, [ebp + 0x78]
call fcn.004aec80
jmp 0x4e3ac4
lea ecx, [esp + 0xf0]
call fcn.00485650
lea ecx, [esp + 0x84]
mov byte [esp + 0x69c], 7
call fcn.00468060
lea ecx, [esp + 0x3ac]
mov byte [esp + 0x69c], 8
mov byte [esp + 0x17], 0
mov dword [esp + 0x24], 1
call fcn.0054aa60
push esi
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0x3b4]
mov byte [esp + 0x6a4], 9
call fcn.0054e110
test al, al
jne 0x4e30cb
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Invalid_public_key_DER.
mov ecx, esi
call eax
jmp 0x4e3a88
push str.1.2.840.113549.1.1.10
lea ecx, [ebx + 0x7cc]
call fcn.00482900
test al, al
je 0x4e3113
lea ecx, [ebx + 0x900]
call fcn.00480da0
push eax
lea ecx, [esp + 0xf4]
call fcn.00485280
mov byte [esp + 0x17], 1
lea ecx, [esp + 0x3ac]
call fcn.0054cfc0
test al, al
je 0x4e3166
push str.Verifying_DSA_signature...
jmp 0x4e317b
push esi
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0xf8]
push edx
lea eax, [esp + 0x3b8]
push eax
mov ecx, ebx
call fcn.004d6450
test al, al
jne 0x4e30fc
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Failed_to_unsign_digest.
mov ecx, esi
call eax
push esi
lea eax, [ebp + 0x58]
push eax
push edi
call fcn.00549710
add esp, 0xc
call fcn.00488ce0
push eax
lea ecx, [ebp + 0x78]
call fcn.004aec80
jmp 0x4e3a88
lea ecx, [esp + 0x3ac]
call fcn.0054cfd0
test al, al
je 0x4e3184
push str.Verifying_ECC_signature...
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
lea ecx, [esp + 0xf0]
push ecx
push str.digestOid
mov ecx, esi
call fcn.004b1210
call fcn.00488ce0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xd0]
mov ebx, eax
push edx
mov dword [esp + 0x40], ebx
call fcn.004ae960
test ebx, ebx
mov edi, eax
mov dword [esp + 0x30], edi
je 0x4e370b
test edi, edi
je 0x4e370b
mov ecx, edi
call fcn.00544a30
test eax, eax
je 0x4e370b
push str.authenticatedAttributes
push esi
lea ecx, [esp + 0xcc]
call fcn.004b1850
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
push esi
lea eax, [esp + 0x1d]
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
push 1
push edi
push ecx
mov ecx, ebp
mov byte [esp + 0x6bc], 0xa
mov byte [esp + 0x39], 0
call fcn.004e1f60
cmp byte [esp + 0x19], 0
jne 0x4e3b3a
push esi
mov edx, ebx
push edx
push edi
mov ecx, ebp
call fcn.004d6190
lea ecx, [esp + 0x5c]
call fcn.00468060
push str.1.3.14.3.2.26
lea ecx, [esp + 0xf4]
mov byte [esp + 0x6a0], 0xb
xor bl, bl
call fcn.00487710
test al, al
je 0x4e3279
lea eax, [esp + 0x5c]
push eax
push edi
call fcn.004e4f60
add esp, 8
mov dword [esp + 0x24], 1
jmp 0x4e340d
push str.1.2.840.113549.2.5
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e32eb
lea ecx, [esp + 0x560]
call fcn.004cebe0
lea ecx, [esp + 0x610]
push ecx
push edi
lea ecx, [esp + 0x568]
mov byte [esp + 0x6a4], 0xc
call fcn.004ceef0
push 0x10
lea edx, [esp + 0x614]
push edx
lea ecx, [esp + 0x64]
call fcn.00469150
lea ecx, [esp + 0x560]
mov dword [esp + 0x24], 5
mov byte [esp + 0x69c], 0xb
call fcn.004cec10
jmp 0x4e340d
push str.1.2.840.113549.2.2
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e332c
lea eax, [esp + 0x5c]
push eax
push 4
mov ecx, edi
call fcn.00544a30
push eax
mov ecx, edi
call fcn.00467d80
push eax
call fcn.0048e660
add esp, 0x10
mov dword [esp + 0x24], 4
jmp 0x4e340d
push str.2.16.840.1.101.3.4.2.1
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e336d
lea ecx, [esp + 0x5c]
push ecx
push 7
mov ecx, edi
call fcn.00544a30
push eax
mov ecx, edi
call fcn.00467d80
push eax
call fcn.0048e660
add esp, 0x10
mov dword [esp + 0x24], 7
jmp 0x4e340d
push str.2.16.840.1.101.3.4.2.2
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e33ab
lea edx, [esp + 0x5c]
push edx
push 2
mov ecx, edi
call fcn.00544a30
push eax
mov ecx, edi
call fcn.00467d80
push eax
call fcn.0048e660
add esp, 0x10
mov dword [esp + 0x24], 2
jmp 0x4e340d
push str.2.16.840.1.101.3.4.2.3
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e33e9
lea eax, [esp + 0x5c]
push eax
push 3
mov ecx, edi
call fcn.00544a30
push eax
mov ecx, edi
call fcn.00467d80
push eax
call fcn.0048e660
add esp, 0x10
mov dword [esp + 0x24], 3
jmp 0x4e340d
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Unrecognized_signature_digest_OID
mov ecx, esi
call eax
lea ecx, [esp + 0xf0]
push ecx
push str.digestOID
mov ecx, esi
call fcn.004b1210
xor bl, bl
lea ecx, [esp + 0x5c]
call fcn.00544a30
test eax, eax
je 0x4e36e1
lea ecx, [esp + 0x3ac]
call fcn.0054cfc0
test al, al
lea ecx, [esp + 0x3ac]
je 0x4e34c8
call fcn.00483ec0
test eax, eax
je 0x4e3b1b
push esi
lea edx, [esp + 0x1f]
push edx
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x27], 0
call fcn.00544a30
push eax
lea ecx, [esp + 0x6c]
call fcn.00467d80
push eax
lea ecx, [esp + 0x98]
call fcn.00544a30
push eax
lea ecx, [esp + 0x9c]
call fcn.00467d80
push eax
call fcn.00557c40
mov bl, al
mov eax, dword [esi]
add esp, 0x1c
test bl, bl
mov ecx, esi
je 0x4e34b9
cmp byte [esp + 0x1b], 0
je 0x4e34a8
mov edx, dword [eax + 0x18]
push str.DSA_signature_verified.
call edx
jmp 0x4e36e1
mov edx, dword [eax + 0x14]
push str.DSA_signature_is_invalid.
call edx
xor bl, bl
jmp 0x4e36e1
mov edx, dword [eax + 0x14]
push str.Failed_to_verify_DSA_signature.
call edx
jmp 0x4e36e1
call fcn.0054cfd0
test al, al
je 0x4e356b
lea ecx, [esp + 0x3ac]
call fcn.0054cfe0
mov edi, eax
test edi, edi
je 0x4e3bb4
push esi
lea eax, [esp + 0x1e]
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x22], 0
call fcn.00544a30
push eax
lea ecx, [esp + 0x68]
call fcn.00467d80
push eax
lea ecx, [esp + 0x94]
call fcn.00544a30
push eax
lea ecx, [esp + 0x98]
call fcn.00467d80
push eax
mov ecx, edi
call fcn.005617b0
mov edx, dword [esi]
mov bl, al
test bl, bl
mov ecx, esi
je 0x4e355c
cmp byte [esp + 0x1a], 0
je 0x4e354b
mov eax, dword [edx + 0x18]
push str.ECC_signature_verified.
call eax
jmp 0x4e36e1
mov eax, dword [edx + 0x14]
push str.ECC_signature_is_invalid.
call eax
xor bl, bl
jmp 0x4e36e1
mov eax, dword [edx + 0x14]
push str.Failed_to_verify_ECC_signature.
call eax
jmp 0x4e36e1
cmp byte [esp + 0x17], 0
je 0x4e35ea
lea ecx, [esp + 0x3ac]
call fcn.00544a30
test eax, eax
lea ecx, [esp + 0x5c]
je 0x4e3b2d
mov edi, dword [esp + 0x2c]
push esi
push eax
mov eax, dword [esp + 0x2c]
push eax
push eax
add edi, 0x8e4
call fcn.00544a30
push eax
lea ecx, [esp + 0x70]
call fcn.00467d80
push eax
mov ecx, edi
call fcn.00544a30
push eax
mov ecx, edi
call fcn.00467d80
push eax
call fcn.00551880
mov edx, dword [esi]
add esp, 0x20
test al, al
mov ecx, esi
jne 0x4e35db
mov eax, dword [edx + 0x14]
push str.RSASSA_PSS_signature_of_authenticated_attributes_is_invalid.
call eax
jmp 0x4e36e1
mov eax, dword [edx + 0x18]
push str.RSASSA_PSS_signature_of_authenticated_attributes_is_valid.
call eax
jmp 0x4e36df
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x88]
call fcn.00468990
test al, al
jne 0x4e3635
lea ecx, [esp + 0x5c]
call fcn.00467e30
test al, al
jne 0x4e3635
lea ecx, [esp + 0x84]
call fcn.00544a30
lea ecx, [esp + 0x5c]
lea edi, [eax + 1]
call fcn.00544a30
cmp eax, edi
jne 0x4e3635
push 1
push 0
lea ecx, [esp + 0x64]
call fcn.00469290
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x88]
call fcn.00468990
test al, al
mov eax, dword [esi]
mov ecx, esi
jne 0x4e36d5
mov edx, dword [eax + 0x14]
push str.Authenticated_attributes_DER_digest_does_not_match_the_decrypted_digest.
call edx
lea ecx, [esp + 0x5c]
call fcn.00544a30
push eax
lea ecx, [esp + 0x60]
call fcn.00467d80
push eax
push str.aaDigest
mov ecx, esi
call fcn.004b0960
lea ecx, [esp + 0x5c]
call fcn.00544a30
push eax
push str.aaDigestSize
mov ecx, esi
call fcn.004b14c0
lea ecx, [esp + 0x84]
call fcn.00544a30
push eax
lea ecx, [esp + 0x88]
call fcn.00467d80
push eax
push str.unsignedSignature
mov ecx, esi
call fcn.004b0960
lea ecx, [esp + 0x84]
call fcn.00544a30
push eax
push str.unsignedSignatureSize
mov ecx, esi
call fcn.004b14c0
xor bl, bl
jmp 0x4e36e1
mov edx, dword [eax + 0x18]
push str.Digest_of_authenticated_attributes_DER_matches.
call edx
mov bl, 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x69c], 0xa
call fcn.00468860
lea ecx, [esp + 0xc4]
mov byte [esp + 0x69c], 9
call fcn.004b18c0
jmp 0x4e39d5
push str.noAuthenticatedAttributes
push esi
lea ecx, [esp + 0xe0]
call fcn.004b1850
push str.1.3.14.3.2.26
lea ecx, [esp + 0xf4]
mov byte [esp + 0x6a0], 0xd
call fcn.00487710
test al, al
je 0x4e3748
lea edi, [esp + 0x5dc]
mov ebx, 0x14
jmp 0x4e376d
push str.1.2.840.113549.2.5
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e37ef
lea edi, [esp + 0x5bc]
mov ebx, 0x10
lea ecx, [esp + 0x3ac]
call fcn.0054cfd0
test al, al
lea ecx, [esp + 0x3ac]
je 0x4e38c6
call fcn.0054cfe0
test eax, eax
mov dword [esp + 0x58], eax
je 0x4e3bbe
mov ebp, dword [esp + 0x2c]
push esi
lea ecx, [esp + 0x2e]
push ecx
push ebx
add ebp, 0x8e4
push edi
mov ecx, ebp
mov byte [esp + 0x3a], 0
call fcn.00544a30
push eax
mov ecx, ebp
call fcn.00467d80
mov ecx, dword [esp + 0x6c]
push eax
call fcn.005617b0
mov edx, dword [esi]
mov bl, al
test bl, bl
mov ecx, esi
je 0x4e38bc
cmp byte [esp + 0x2a], 0
je 0x4e38ab
mov eax, dword [edx + 0x18]
push str.ECC_signature_verified..
jmp 0x4e39b8
push str.1.2.840.113549.2.2
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e3810
lea edi, [esp + 0x5cc]
jmp 0x4e3768
push str.2.16.840.1.101.3.4.2.1
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e3836
lea edi, [esp + 0x5f0]
mov ebx, 0x20
jmp 0x4e376d
push str.2.16.840.1.101.3.4.2.2
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e385c
lea edi, [esp + 0x620]
mov ebx, 0x30
jmp 0x4e376d
push str.2.16.840.1.101.3.4.2.3
lea ecx, [esp + 0xf4]
call fcn.00487710
test al, al
je 0x4e3882
lea edi, [esp + 0x650]
mov ebx, 0x40
jmp 0x4e376d
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Unrecognized_signature_digest_OID
mov ecx, esi
call edx
lea eax, [esp + 0xf0]
push eax
push str.digestOID
mov ecx, esi
call fcn.004b1210
xor bl, bl
jmp 0x4e39ba
mov eax, dword [edx + 0x14]
push str.ECC_signature_is_invalid..
call eax
xor bl, bl
jmp 0x4e39ba
push str.Failed_to_verify_ECC_signature..
jmp 0x4e39b5
call fcn.0054cfc0
test al, al
je 0x4e3946
lea ecx, [esp + 0x3ac]
call fcn.00483ec0
test eax, eax
je 0x4e3bd8
mov ebp, dword [esp + 0x2c]
push esi
lea ecx, [esp + 0x2f]
push ecx
push eax
push ebx
add ebp, 0x8e4
push edi
mov ecx, ebp
mov byte [esp + 0x3f], 0
call fcn.00544a30
push eax
mov ecx, ebp
call fcn.00467d80
push eax
call fcn.00557c40
mov edx, dword [esi]
mov bl, al
add esp, 0x1c
test bl, bl
mov ecx, esi
je 0x4e393f
cmp byte [esp + 0x2b], 0
je 0x4e3931
mov eax, dword [edx + 0x18]
push str.DSA_signature_verified..
jmp 0x4e39b8
mov eax, dword [edx + 0x14]
push str.DSA_signature_is_invalid..
call eax
xor bl, bl
jmp 0x4e39ba
push str.Failed_to_verify_DSA_signature..
jmp 0x4e39b5
cmp byte [esp + 0x17], 0
je 0x4e3998
lea ecx, [esp + 0x3ac]
call fcn.00544a30
test eax, eax
je 0x4e3bcc
mov ebp, dword [esp + 0x2c]
push esi
push eax
push 1
push 1
push ebx
add ebp, 0x8e4
push edi
mov ecx, ebp
call fcn.00544a30
push eax
mov ecx, ebp
call fcn.00467d80
push eax
call fcn.00551880
mov bl, al
add esp, 0x20
test bl, bl
jne 0x4e39ba
push str.RSASSA_PSS_signature_validation_failed.
jmp 0x4e39b1
push ebx
push edi
lea ecx, [esp + 0x8c]
call fcn.00468a50
mov bl, al
test bl, bl
jne 0x4e39ba
push str.Calculated_digest_does_not_match_the_decrypted_digest.
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0x14]
call eax
lea ecx, [esp + 0xd8]
mov byte [esp + 0x69c], 9
call fcn.004b18c0
mov ebp, dword [esp + 0xd4]
mov ecx, dword [esp + 0x40]
push esi
lea eax, [ebp + 0x58]
push eax
push ecx
call fcn.00549710
mov edx, dword [esp + 0x48]
add esp, 0xc
push edx
lea ecx, [ebp + 0x78]
call fcn.004aec80
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xa4]
push eax
call fcn.004ae960
mov edi, eax
test edi, edi
je 0x4e3a7f
mov ecx, dword [esp + 0x30]
call fcn.00544a30
test eax, eax
je 0x4e3a7f
push str.unauthenticatedAttributes
push esi
lea ecx, [esp + 0xec]
call fcn.004b1850
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
push esi
lea ecx, [esp + 0x1b]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
push 0
push edi
push edx
mov ecx, ebp
mov byte [esp + 0x6bc], 0xe
mov byte [esp + 0x37], 0
call fcn.004e1f60
cmp byte [esp + 0x17], 0
je 0x4e3a6b
xor bl, bl
mov byte [esp + 0x18], bl
lea ecx, [esp + 0xe4]
mov byte [esp + 0x69c], 9
call fcn.004b18c0
test bl, bl
je 0x4e3a88
mov byte [esp + 0x18], 1
lea ecx, [esp + 0x3ac]
mov byte [esp + 0x69c], 8
call fcn.0054d400
lea ecx, [esp + 0x84]
mov byte [esp + 0x69c], 7
call fcn.00468860
lea ecx, [esp + 0xf0]
mov byte [esp + 0x69c], 6
call fcn.00485710
lea ecx, [esp + 0xa8]
mov byte [esp + 0x69c], 5
call fcn.00468860
lea ecx, [esp + 0x4c]
mov byte [esp + 0x69c], 4
call fcn.004b18c0
mov edi, dword [esp + 0x20]
add edi, 1
cmp edi, dword [esp + 0x38]
mov dword [esp + 0x20], edi
jl 0x4e2fa6
mov bl, byte [esp + 0x16]
test bl, bl
mov eax, dword [esi]
mov ecx, esi
je 0x4e3bf2
mov edx, dword [eax + 0x18]
push str.All_digests_verified.
jmp 0x4e3bfa
push str.Invalid_DSA_DER_public_key.
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x69c], 0xa
call fcn.00468860
lea ecx, [esp + 0xc4]
mov byte [esp + 0x69c], 9
call fcn.004b18c0
lea ecx, [esp + 0x3ac]
mov byte [esp + 0x69c], 8
call fcn.0054d400
lea ecx, [esp + 0x84]
mov byte [esp + 0x69c], 7
call fcn.00468860
lea ecx, [esp + 0xf0]
mov byte [esp + 0x69c], 6
call fcn.00485710
lea ecx, [esp + 0xa8]
mov byte [esp + 0x69c], 5
call fcn.00468860
lea ecx, [esp + 0x4c]
mov byte [esp + 0x69c], 4
call fcn.004b18c0
jmp 0x4e2955
push str.Invalid_ECC_DER_public_key.
jmp 0x4e3b20
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Invalid_ECC_DER_public_key..
mov ecx, esi
call edx
lea ecx, [esp + 0xd8]
jmp 0x4e3b41
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Invalid_DSA_DER_public_key..
mov ecx, esi
call edx
lea ecx, [esp + 0xd8]
jmp 0x4e3b41
mov edx, dword [eax + 0x14]
push str.One_more_more_digests_did_not_match.
call edx
cmp byte [esp + 0x18], 0
je 0x4e3c4a
cmp byte [ebp + 0x94], 0
je 0x4e3c38
mov eax, dword [esp + 0x48]
push esi
push eax
mov ecx, ebp
mov byte [ebp + 0x95], 1
call fcn.004dcf00
test al, al
mov byte [ebp + 0x96], al
mov edx, dword [esi]
mov ecx, esi
jne 0x4e3c40
mov eax, dword [edx + 0x14]
push str.Signing_certificate_s__not_verified.
call eax
test bl, bl
je 0x4e3c58
mov bl, 1
jmp 0x4e3c5a
mov eax, dword [edx + 0x18]
push str.Signing_certificates_verified.
jmp 0x4e3c36
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_verify_signature.
mov ecx, esi
call eax
xor bl, bl
lea ecx, [esp + 0x218]
mov byte [esp + 0x69c], 3
call fcn.004e3f50
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x69c], 2
call fcn.004cec10
lea ecx, [esp + 0x164]
mov byte [esp + 0x69c], 1
call fcn.004f28f0
lea ecx, [esp + 0x280]
mov byte [esp + 0x69c], 0
call fcn.004796d0
lea ecx, [esp + 0x78]
mov dword [esp + 0x69c], 0xffffffff
call fcn.004b18c0
mov al, bl
mov ecx, dword [esp + 0x694]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x67c]
xor ecx, esp
call fcn.0062cbd3
add esp, 0x68c
ret 0x1c