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

Disassembly:
sub esp, 0x114
push ebx
push ebp
mov ebp, dword [esp + 0x120]
xor ebx, ebx
push edi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x10], ebx
cmp byte [ebp + 0x42c], bl
jne 0x46aa35
test edi, edi
je 0x46aa35
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x114
ret
push dword [esp + 0x130]
lea eax, [esp + 0x24]
push dword [esp + 0x130]
push eax
call fcn.0046c2b0
add esp, 0xc
test eax, eax
je 0x46aa63
pop edi
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.0046c5c0
mov esi, eax
add esp, 4
test esi, esi
je case.0x46bad7.7
cmp byte [ebp + 0x42c], bl
je 0x46aaa4
push esi
push str.Subject
push edi
push ebp
call fcn.0042efe0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x46bf86
test edi, edi
jne 0x46aab8
push esi
push edi
push str._2d_Subject:__s
push ebp
call fcn.00434890
add esp, 0x10
push esi
call dword [0x4c0034]
lea eax, [esp + 0x78]
push eax
call fcn.0046c5c0
mov esi, eax
add esp, 8
test esi, esi
je case.0x46bad7.7
cmp byte [ebp + 0x42c], 0
je 0x46aaf5
push esi
push str.Issuer
push edi
push ebp
call fcn.0042efe0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test edi, edi
jne 0x46ab08
push esi
push str.___Issuer:__s
push ebp
call fcn.00434890
add esp, 0xc
push esi
call dword [0x4c0034]
add esp, 4
test ebx, ebx
jne 0x46ab7a
mov ecx, dword [esp + 0x38]
xor esi, esi
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jae 0x46ab31
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x46ab24
cmp byte [ebp + 0x42c], 0
je 0x46ab8e
push esi
push 0x4ac8a0
call fcn.004443c0
mov edi, eax
add esp, 8
test edi, edi
je case.0x46bad7.7
mov ebx, dword [esp + 0x12c]
push edi
push str.Version
push ebx
push ebp
call fcn.0042efe0
mov ebx, eax
push edi
mov dword [esp + 0x28], ebx
call dword [0x4c0034]
add esp, 0x14
test ebx, ebx
je 0x46ab87
pop esi
pop edi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x114
ret
mov edi, dword [esp + 0x12c]
test edi, edi
jne 0x46aba5
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__u__0x_x_
push ebp
call fcn.00434890
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x46bad7.7
movzx ebx, byte [esp + 0x51]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x46bad7.7
movzx eax, byte [eax + 0x46c120]
mov ebp, 0x4b7db0
mov edx, str.FALSE
jmp dword [eax*4 + 0x46c0f8]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x46abef
xor esi, esi
jmp 0x46afc5
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x4c003c]
add esp, 4
mov esi, eax
jmp 0x46afc5
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x46ac20
xor esi, esi
jmp 0x46afc5
cmp eax, 4
jbe 0x46ac36
push esi
push edx
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46afc5
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46ac40
cmp ecx, 0xa
mov eax, 0x4ac73c
push ecx
cmovb eax, ebp
push eax
push str._s_x
call fcn.004443c0
add esp, 0xc
mov esi, eax
jmp 0x46afc5
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x46ac82
xor esi, esi
jmp 0x46afc5
push ecx
push eax
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46afc5
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46afc5
push 0x4b7db0
call dword [0x4c003c]
add esp, 4
mov esi, eax
jmp 0x46afc5
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.0046c620
add esp, 0xc
mov esi, eax
jmp 0x46afc5
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x46acf3
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46acf3
inc ecx
cmp ecx, edx
jb 0x46ace6
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46ad0b
sub eax, 2
je 0x46ad10
xor esi, esi
jmp 0x46afc5
mov edi, 0x4ac77c
cmp ecx, edx
jb 0x46ad1b
xor esi, esi
jmp 0x46afc5
cmp byte [ecx], 0x5a
jne 0x46ad2c
mov ecx, 0x4ac780
mov edx, 0x4ac783
jmp 0x46ad2d
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.004443c0
add esp, 0x28
mov esi, eax
jmp 0x46afc5
mov ebp, dword [esp + 0x48]
mov esi, 0x4b7db0
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x46ad83
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46ad83
inc ecx
cmp ecx, edi
jb 0x46ad76
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46adb1
sub eax, 1
je 0x46adac
sub eax, 1
je 0x46ada5
xor esi, esi
jmp 0x46afc5
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46adb3
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46ae12
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46adc7
cmp bl, 0x2c
jne 0x46adf7
inc ecx
inc eax
cmp eax, edi
jae 0x46add9
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46add9
cmp dl, 0x39
jle 0x46adc8
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46adf7
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46adf2
dec esi
sub edx, 1
jne 0x46ade7
mov esi, 0x4b7db0
cmp eax, edi
jae 0x46ae12
cmp byte [eax], 0x5a
jne 0x46ae0c
mov eax, str._GMT
mov edi, 0x4ac74c
jmp 0x46ae12
mov esi, 0x4bab50
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4b7db0
mov eax, 0x4b9020
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004443c0
add esp, 0x38
mov esi, eax
jmp 0x46afc5
mov edi, dword [esp + 0x4c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x48]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x46ae7e.13
movzx eax, byte [eax + 0x46c150]
jmp dword [eax*4 + 0x46c140]
mov ecx, 2
jmp 0x46ae91
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46ae7e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46ae7e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x4c0030]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x46ae7e.13
cmp ebx, 0xc
jne 0x46aeea
test edi, edi
je 0x46aee1
push edi
push esi
push ebp
call fcn.00473b00
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x46afbe
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x46aee1
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x46af11
sub eax, 2
jne 0x46af1a
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x46af98
cmp ecx, 0x800
jb 0x46af80
cmp ecx, 0x10000
jb 0x46af64
cmp ecx, 0x200000
jae 0x46afaf
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x46af6c
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x46af83
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x46af9b
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x4c]
jb 0x46aef2
mov byte [edi + ebp], 0
jmp 0x46afbe
push ebp
call dword [0x4c0034]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
test esi, esi
je case.0x46bad7.7
mov edi, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x42c], 0
je 0x46affc
push esi
push str.Serial_Number
push ebx
push edi
call fcn.0042efe0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
jmp 0x46b000
mov ebp, dword [esp + 0x14]
test ebx, ebx
jne 0x46b013
push esi
push str.___Serial_Number:__s
push edi
call fcn.00434890
add esp, 0xc
push esi
call dword [0x4c0034]
add esp, 4
test ebp, ebp
jne 0x46c0eb
push dword [esp + 0x5c]
lea eax, [esp + 0x118]
push dword [esp + 0x5c]
push eax
call fcn.0046d010
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x46bad7.7
cmp byte [edi + 0x42c], 0
je 0x46b066
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.0042efe0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x46b079
push esi
push str.___Signature_Algorithm:__s
push edi
call fcn.00434890
add esp, 0xc
push esi
call dword [0x4c0034]
add esp, 4
test ebp, ebp
jne 0x46c0eb
cmp byte [esp + 0x92], 0
jne case.0x46bad7.7
movzx ebx, byte [esp + 0x91]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x46bad7.7
movzx eax, byte [eax + 0x46c18c]
jmp dword [eax*4 + 0x46c164]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x46b0d7
xor esi, esi
jmp 0x46b4f6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4c003c]
add esp, 4
mov esi, eax
jmp 0x46b4f6
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x46b113
xor esi, esi
jmp 0x46b4f6
cmp eax, 4
jbe 0x46b129
push esi
push edx
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46b4f6
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46b130
push ecx
cmp ecx, 0xa
mov eax, 0x4ac73c
mov ecx, 0x4b7db0
cmovb eax, ecx
push eax
push str._s_x
call fcn.004443c0
add esp, 0xc
mov esi, eax
jmp 0x46b4f6
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x46b17d
xor esi, esi
jmp 0x46b4f6
push ecx
push eax
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46b4f6
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46b4f6
push 0x4b7db0
call dword [0x4c003c]
add esp, 4
mov esi, eax
jmp 0x46b4f6
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.0046c620
add esp, 0xc
mov esi, eax
jmp 0x46b4f6
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x46b200
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46b200
inc ecx
cmp ecx, edx
jb 0x46b1f3
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46b218
sub eax, 2
je 0x46b21d
xor esi, esi
jmp 0x46b4ef
mov edi, 0x4ac77c
cmp ecx, edx
jb 0x46b228
xor esi, esi
jmp 0x46b4ef
cmp byte [ecx], 0x5a
jne 0x46b239
mov ecx, 0x4ac780
mov edx, 0x4ac783
jmp 0x46b23a
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.004443c0
add esp, 0x28
mov esi, eax
jmp 0x46b4ef
mov ebp, dword [esp + 0x88]
mov esi, 0x4b7db0
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x46b29d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46b29d
inc ecx
cmp ecx, edi
jb 0x46b290
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46b2cb
sub eax, 1
je 0x46b2c6
sub eax, 1
je 0x46b2bf
xor esi, esi
jmp 0x46b4eb
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46b2cd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46b32c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46b2e1
cmp bl, 0x2c
jne 0x46b311
inc ecx
inc eax
cmp eax, edi
jae 0x46b2f3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46b2f3
cmp dl, 0x39
jle 0x46b2e2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46b311
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46b30c
dec esi
sub edx, 1
jne 0x46b301
mov esi, 0x4b7db0
cmp eax, edi
jae 0x46b32c
cmp byte [eax], 0x5a
jne 0x46b326
mov eax, str._GMT
mov edi, 0x4ac74c
jmp 0x46b32c
mov esi, 0x4bab50
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4b7db0
mov eax, 0x4b9020
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004443c0
add esp, 0x38
mov esi, eax
jmp 0x46b4eb
mov edi, dword [esp + 0x8c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x88]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x46b39e.13
movzx eax, byte [eax + 0x46c1bc]
jmp dword [eax*4 + 0x46c1ac]
mov ecx, 2
jmp 0x46b3b1
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46b39e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46b39e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x4c0030]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x46b39e.13
cmp ebx, 0xc
jne 0x46b40a
test edi, edi
je 0x46b401
push edi
push esi
push ebp
call fcn.00473b00
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x46b4e4
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x46b401
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x46b434
sub eax, 2
jne 0x46b43d
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x46b4bb
cmp ecx, 0x800
jb 0x46b4a3
cmp ecx, 0x10000
jb 0x46b487
cmp ecx, 0x200000
jae 0x46b4d5
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x46b48f
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x46b4a6
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x46b4be
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x8c]
jb 0x46b415
mov byte [edi + ebp], 0
jmp 0x46b4e4
push ebp
call dword [0x4c0034]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x46bad7.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x46b524
push esi
push str.Start_Date
push ebx
push edi
call fcn.0042efe0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x46b537
push esi
push str.___Start_Date:__s
push edi
call fcn.00434890
add esp, 0xc
push esi
call dword [0x4c0034]
add esp, 4
test ebp, ebp
jne 0x46c0eb
cmp byte [esp + 0xa2], 0
jne case.0x46bad7.7
movzx ebx, byte [esp + 0xa1]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x46bad7.7
movzx eax, byte [eax + 0x46c1f8]
jmp dword [eax*4 + 0x46c1d0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x46b595
xor esi, esi
jmp 0x46b9b6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4c003c]
add esp, 4
mov esi, eax
jmp 0x46b9b6
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x46b5d1
xor esi, esi
jmp 0x46b9b6
cmp eax, 4
jbe 0x46b5e7
push esi
push edx
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46b9b6
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46b5f0
push ecx
cmp ecx, 0xa
mov eax, 0x4ac73c
mov ecx, 0x4b7db0
cmovb eax, ecx
push eax
push str._s_x
call fcn.004443c0
add esp, 0xc
mov esi, eax
jmp 0x46b9b6
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x46b63d
xor esi, esi
jmp 0x46b9b6
push ecx
push eax
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46b9b6
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46b9b6
push 0x4b7db0
call dword [0x4c003c]
add esp, 4
mov esi, eax
jmp 0x46b9b6
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.0046c620
add esp, 0xc
mov esi, eax
jmp 0x46b9b6
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x46b6c0
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46b6c0
inc ecx
cmp ecx, edx
jb 0x46b6b3
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46b6d8
sub eax, 2
je 0x46b6dd
xor esi, esi
jmp 0x46b9af
mov edi, 0x4ac77c
cmp ecx, edx
jb 0x46b6e8
xor esi, esi
jmp 0x46b9af
cmp byte [ecx], 0x5a
jne 0x46b6f9
mov ecx, 0x4ac780
mov edx, 0x4ac783
jmp 0x46b6fa
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.004443c0
add esp, 0x28
mov esi, eax
jmp 0x46b9af
mov ebp, dword [esp + 0x98]
mov esi, 0x4b7db0
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x46b75d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46b75d
inc ecx
cmp ecx, edi
jb 0x46b750
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46b78b
sub eax, 1
je 0x46b786
sub eax, 1
je 0x46b77f
xor esi, esi
jmp 0x46b9ab
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46b78d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46b7ec
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46b7a1
cmp bl, 0x2c
jne 0x46b7d1
inc ecx
inc eax
cmp eax, edi
jae 0x46b7b3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46b7b3
cmp dl, 0x39
jle 0x46b7a2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46b7d1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46b7cc
dec esi
sub edx, 1
jne 0x46b7c1
mov esi, 0x4b7db0
cmp eax, edi
jae 0x46b7ec
cmp byte [eax], 0x5a
jne 0x46b7e6
mov eax, str._GMT
mov edi, 0x4ac74c
jmp 0x46b7ec
mov esi, 0x4bab50
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4b7db0
mov eax, 0x4b9020
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004443c0
add esp, 0x38
mov esi, eax
jmp 0x46b9ab
mov edi, dword [esp + 0x9c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x98]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x46b85e.13
movzx eax, byte [eax + 0x46c228]
jmp dword [eax*4 + 0x46c218]
mov ecx, 2
jmp 0x46b871
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46b85e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46b85e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x4c0030]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x46b85e.13
cmp ebx, 0xc
jne 0x46b8ca
test edi, edi
je 0x46b8c1
push edi
push esi
push ebp
call fcn.00473b00
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x46b9a4
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x46b8c1
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x46b8f4
sub eax, 2
jne 0x46b8fd
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x46b97b
cmp ecx, 0x800
jb 0x46b963
cmp ecx, 0x10000
jb 0x46b947
cmp ecx, 0x200000
jae 0x46b995
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x46b94f
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x46b966
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x46b97e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x9c]
jb 0x46b8d5
mov byte [edi + ebp], 0
jmp 0x46b9a4
push ebp
call dword [0x4c0034]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x46bad7.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x46b9e4
push esi
push str.Expire_Date
push ebx
push edi
call fcn.0042efe0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x46b9f7
push esi
push str.___Expire_Date:__s
push edi
call fcn.00434890
add esp, 0xc
push esi
call dword [0x4c0034]
add esp, 4
test ebp, ebp
jne 0x46c0eb
push dword [esp + 0xcc]
lea eax, [esp + 0x118]
push dword [esp + 0xcc]
push eax
call fcn.0046d010
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x46bad7.7
cmp byte [edi + 0x42c], 0
je 0x46ba54
push esi
push str.Public_Key_Algorithm
push ebx
push edi
call fcn.0042efe0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x46baa2
test ebx, ebx
jne 0x46ba67
push esi
push str.___Public_Key_Algorithm:__s
push edi
call fcn.00434890
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebx
push edi
call fcn.0046c790
add esp, 0x14
test eax, eax
je 0x46baa2
push esi
mov ebp, 0x1b
call dword [0x4c0034]
add esp, 4
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
push esi
call dword [0x4c0034]
add esp, 4
test ebp, ebp
jne 0x46c0eb
cmp byte [esp + 0x72], 0
jne case.0x46bad7.7
movzx ebx, byte [esp + 0x71]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x46bad7.7
movzx eax, byte [eax + 0x46c264]
jmp dword [eax*4 + 0x46c23c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x46baf4
xor esi, esi
jmp 0x46bede
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4c003c]
add esp, 4
mov esi, eax
jmp 0x46bede
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x46bb2a
xor esi, esi
jmp 0x46bede
cmp eax, 4
jbe 0x46bb40
push esi
push edx
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46bede
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46bb46
push ecx
cmp ecx, 0xa
mov eax, 0x4ac73c
mov ecx, 0x4b7db0
cmovb eax, ecx
push eax
push str._s_x
call fcn.004443c0
add esp, 0xc
mov esi, eax
jmp 0x46bede
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x46bb8d
xor esi, esi
jmp 0x46bede
push ecx
push eax
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46bede
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.0046df20
add esp, 8
mov esi, eax
jmp 0x46bede
push 0x4b7db0
call dword [0x4c003c]
add esp, 4
mov esi, eax
jmp 0x46bede
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0046c620
add esp, 0xc
mov esi, eax
jmp 0x46bede
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x46bbfe
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46bbfe
inc ecx
cmp ecx, edx
jb 0x46bbf1
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46bc16
sub eax, 2
je 0x46bc1b
xor esi, esi
jmp 0x46bed7
mov edi, 0x4ac77c
cmp ecx, edx
jb 0x46bc26
xor esi, esi
jmp 0x46bed7
cmp byte [ecx], 0x5a
jne 0x46bc37
mov ecx, 0x4ac780
mov edx, 0x4ac783
jmp 0x46bc38
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.004443c0
add esp, 0x28
mov esi, eax
jmp 0x46bed7
mov ebp, dword [esp + 0x68]
mov esi, 0x4b7db0
mov edi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, edi
jae 0x46bc8e
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46bc8e
inc ecx
cmp ecx, edi
jb 0x46bc81
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46bcbc
sub eax, 1
je 0x46bcb7
sub eax, 1
je 0x46bcb0
xor esi, esi
jmp 0x46bed3
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46bcbe
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46bd1d
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46bcd2
cmp bl, 0x2c
jne 0x46bd02
inc ecx
inc eax
cmp eax, edi
jae 0x46bce4
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46bce4
cmp dl, 0x39
jle 0x46bcd3
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46bd02
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46bcfd
dec esi
sub edx, 1
jne 0x46bcf2
mov esi, 0x4b7db0
cmp eax, edi
jae 0x46bd1d
cmp byte [eax], 0x5a
jne 0x46bd17
mov eax, str._GMT
mov edi, 0x4ac74c
jmp 0x46bd1d
mov esi, 0x4bab50
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4b7db0
mov eax, 0x4b9020
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
call fcn.004443c0
add esp, 0x38
mov esi, eax
jmp 0x46bed3
mov edi, dword [esp + 0x6c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x68]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x46bd89.13
movzx eax, byte [eax + 0x46c294]
jmp dword [eax*4 + 0x46c284]
mov ecx, 2
jmp 0x46bd9c
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46bd89.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46bd89.13
lea eax, [eax*4 + 1]
push eax
call dword [0x4c0030]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x46bd89.13
cmp ebx, 0xc
jne 0x46bdf5
test edi, edi
je 0x46bdec
push edi
push esi
push ebp
call fcn.00473b00
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x46becc
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x46bdec
nop dword [eax]
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x46be1f
sub eax, 2
jne 0x46be28
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x46bea6
cmp ecx, 0x800
jb 0x46be8e
cmp ecx, 0x10000
jb 0x46be72
cmp ecx, 0x200000
jae 0x46bebd
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x46be7a
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x46be91
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x46bea9
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x6c]
jb 0x46be00
mov byte [edi + ebp], 0
jmp 0x46becc
push ebp
call dword [0x4c0034]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x46bad7.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x46bf08
push esi
push str.Signature
push ebx
push edi
call fcn.0042efe0
add esp, 0x10
mov ebp, eax
test ebx, ebx
jne 0x46bf1b
push esi
push str.___Signature:__s
push edi
call fcn.00434890
add esp, 0xc
push esi
call dword [0x4c0034]
add esp, 4
test ebp, ebp
jne 0x46c0eb
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x34]
sub eax, ecx
push eax
push ecx
call fcn.0044b0a0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x46c0eb
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x4c0030]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x46bf91
push dword [esp + 0x20]
call dword [0x4c0034]
add esp, 4
mov eax, 0x1b
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
mov ecx, str._____BEGIN_CERTIFICATE_____
lea edx, [ebx + 2]
xor esi, esi
nop dword [eax + eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x46bff4
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x46bff3
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x46bfee
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x46bfe9
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x46bfa0
jmp 0x46bff4
add esi, 3
jmp 0x46bff4
add esi, 2
jmp 0x46bff4
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x46c021
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.0046c700
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x46c003
lea edx, [ebx + 2]
xor esi, esi
mov ecx, str._____END_CERTIFICATE_____
add edx, edi
nop dword [eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x46c084
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x46c083
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x46c07e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x46c079
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x46c030
jmp 0x46c084
add esi, 3
jmp 0x46c084
add esi, 2
jmp 0x46c084
inc esi
lea eax, [ebx + edi]
mov byte [esi + eax], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x4c0034]
mov esi, dword [esp + 0x12c]
add esp, 4
cmp byte [esi + 0x42c], 0
je 0x46c0c8
push ebx
push str.Cert
push dword [esp + 0x134]
push esi
call fcn.0042efe0
add esp, 0x10
mov ebp, eax
cmp dword [esp + 0x12c], 0
jne 0x46c0e1
push ebx
push 0x4a0710
push esi
call fcn.00434890
add esp, 0xc
push ebx
call dword [0x4c0034]
add esp, 4
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x114
ret