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

Disassembly:
sub esp, 0x114
mov eax, dword [esp + 0x118]
push ebx
mov ebx, dword [esp + 0x120]
push ebp
mov ebp, dword [eax]
mov dword [esp + 0x10], ebp
cmp byte [ebp + 0x89c], 0
jne 0x46d624
test ebx, ebx
je 0x46d624
pop ebp
xor eax, eax
pop ebx
add esp, 0x114
ret
push dword [esp + 0x12c]
lea eax, [esp + 0x20]
push dword [esp + 0x12c]
push eax
call fcn.0046ed80
add esp, 0xc
test eax, eax
je 0x46d651
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.0046f080
mov esi, eax
add esp, 4
test esi, esi
je case.0x46e5e5.7
cmp byte [ebp + 0x89c], 0
je 0x46d686
push esi
push str.Subject
push ebx
push ebp
call fcn.0043a6e0
add esp, 0x10
test ebx, ebx
jne 0x46d69a
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.0043fc80
add esp, 0x10
push esi
call dword [0x4dd004]
lea eax, [esp + 0x78]
push eax
call fcn.0046f080
mov esi, eax
add esp, 8
test esi, esi
je case.0x46e5e5.7
cmp byte [ebp + 0x89c], 0
je 0x46d6d1
push esi
push str.Issuer
push ebx
push ebp
call fcn.0043a6e0
add esp, 0x10
test ebx, ebx
jne 0x46d6e4
push esi
push str.___Issuer:__s_n
push ebp
call fcn.0043fc80
add esp, 0xc
push esi
call dword [0x4dd004]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x46d70d
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x46d700
cmp byte [ebp + 0x89c], 0
je 0x46d745
push esi
push 0x4a9e90
call fcn.00442ba0
mov edi, eax
add esp, 8
test edi, edi
je case.0x46e5e5.7
push edi
push str.Version
push ebx
push ebp
call fcn.0043a6e0
push edi
call dword [0x4dd004]
add esp, 0x14
test ebx, ebx
jne 0x46d75c
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.0043fc80
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x46e5e5.7
movzx ebp, byte [esp + 0x51]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x46e5e5.7
movzx eax, byte [eax + 0x46ebec]
mov ebx, 0x4d1f99
mov edx, str.FALSE
jmp dword [eax*4 + 0x46ebc4]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x46d7a6
xor esi, esi
jmp 0x46db6f
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x4dd00c]
add esp, 4
mov esi, eax
jmp 0x46db6f
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x46d7d7
xor esi, esi
jmp 0x46db6f
cmp eax, 4
jbe 0x46d7ed
push esi
push edx
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46db6f
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46d7f3
cmp ecx, 0xa
mov eax, 0x4d2818
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.00442ba0
add esp, 0xc
mov esi, eax
jmp 0x46db6f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x46d835
xor esi, esi
jmp 0x46db6f
push ecx
push eax
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46db6f
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46db6f
push 0x4d1f99
call dword [0x4dd00c]
add esp, 4
mov esi, eax
jmp 0x46db6f
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.0046f0d0
add esp, 0xc
mov esi, eax
jmp 0x46db6f
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x46d8ad
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46d8ad
inc ecx
cmp ecx, edx
jb 0x46d8a0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46d8c5
sub eax, 2
je 0x46d8ca
xor esi, esi
jmp 0x46db6f
mov edi, 0x4ab654
cmp ecx, edx
jb 0x46d8d5
xor esi, esi
jmp 0x46db6f
cmp byte [ecx], 0x5a
jne 0x46d8e6
mov ecx, 0x4ab658
mov edx, 0x4ab65b
jmp 0x46d8e7
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.00442ba0
add esp, 0x28
mov esi, eax
jmp 0x46db6f
mov ebp, dword [esp + 0x48]
mov esi, 0x4d1f99
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x46d93d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46d93d
inc ecx
cmp ecx, edi
jb 0x46d930
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46d96b
sub eax, 1
je 0x46d966
sub eax, 1
je 0x46d95f
xor esi, esi
jmp 0x46db6f
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46d96d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46d9cc
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46d981
cmp bl, 0x2c
jne 0x46d9b1
inc ecx
inc eax
cmp eax, edi
jae 0x46d993
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46d993
cmp dl, 0x39
jle 0x46d982
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46d9b1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46d9ac
dec esi
sub edx, 1
jne 0x46d9a1
mov esi, 0x4d1f99
cmp eax, edi
jae 0x46d9cc
cmp byte [eax], 0x5a
jne 0x46d9c6
mov eax, str._GMT
mov edi, 0x4ab624
jmp 0x46d9cc
mov esi, 0x4a2a88
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4d1f99
mov eax, 0x4d2230
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.00442ba0
add esp, 0x38
mov esi, eax
jmp 0x46db6f
mov edi, dword [esp + 0x4c]
lea eax, [ebp - 0xc]
mov esi, dword [esp + 0x48]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x46da38.13
movzx eax, byte [eax + 0x46ec1c]
jmp dword [eax*4 + 0x46ec0c]
mov ecx, 2
jmp 0x46da4b
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46da38.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46da38.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x46da38.13
cmp ebp, 0xc
jne 0x46daa4
test edi, edi
je 0x46da9b
push edi
push esi
push ebx
call fcn.00478b50
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x46db68
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x46da9b
mov ebp, dword [esp + 0x14]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x46dacd
sub eax, 2
jne 0x46dad6
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 edx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x46db44
cmp ecx, 0x800
jb 0x46db30
cmp ecx, 0x10000
jb 0x46db1c
cmp ecx, 0x200000
jae 0x46db59
mov al, cl
mov edx, 2
and al, 0x3f
or ecx, 0x400000
or al, 0x80
shr ecx, 6
mov byte [edi + ebx + 3], al
mov al, cl
or ecx, 0x20000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc edx
mov byte [edi + ebx + 2], al
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc edx
mov byte [edi + ebx + 1], al
mov byte [edi + ebx], cl
add edi, edx
cmp esi, dword [esp + 0x4c]
jb 0x46dab0
mov byte [edi + ebx], 0
jmp 0x46db68
push ebx
call dword [0x4dd004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
test esi, esi
je case.0x46e5e5.7
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x89c], 0
je 0x46db9b
push esi
push str.Serial_Number
push ebx
push edi
call fcn.0043a6e0
add esp, 0x10
test ebx, ebx
jne 0x46dbae
push esi
push str.___Serial_Number:__s_n
push edi
call fcn.0043fc80
add esp, 0xc
push esi
call dword [0x4dd004]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.0046f9b0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x46e5e5.7
cmp byte [edi + 0x89c], 0
je 0x46dbf0
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.0043a6e0
add esp, 0x10
test ebx, ebx
jne 0x46dc03
push esi
push str.___Signature_Algorithm:__s_n
push edi
call fcn.0043fc80
add esp, 0xc
push esi
call dword [0x4dd004]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x46e5e5.7
movzx ebp, byte [esp + 0x91]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x46e5e5.7
movzx eax, byte [eax + 0x46ec58]
jmp dword [eax*4 + 0x46ec30]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x46dc59
xor esi, esi
jmp 0x46e066
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4dd00c]
add esp, 4
mov esi, eax
jmp 0x46e066
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x46dc95
xor esi, esi
jmp 0x46e066
cmp eax, 4
jbe 0x46dcab
push esi
push edx
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e066
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46dcb1
push ecx
cmp ecx, 0xa
mov eax, 0x4d2818
mov ecx, 0x4d1f99
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00442ba0
add esp, 0xc
mov esi, eax
jmp 0x46e066
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x46dcfe
xor esi, esi
jmp 0x46e066
push ecx
push eax
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e066
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e066
push 0x4d1f99
call dword [0x4dd00c]
add esp, 4
mov esi, eax
jmp 0x46e066
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.0046f0d0
add esp, 0xc
mov esi, eax
jmp 0x46e066
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x46dd81
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46dd81
inc ecx
cmp ecx, edx
jb 0x46dd74
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46dd99
sub eax, 2
je 0x46dd9e
xor esi, esi
jmp 0x46e062
mov edi, 0x4ab654
cmp ecx, edx
jb 0x46dda9
xor esi, esi
jmp 0x46e062
cmp byte [ecx], 0x5a
jne 0x46ddba
mov ecx, 0x4ab658
mov edx, 0x4ab65b
jmp 0x46ddbb
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.00442ba0
add esp, 0x28
mov esi, eax
jmp 0x46e062
mov ebp, dword [esp + 0x88]
mov esi, 0x4d1f99
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x46de1d
nop word [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46de1d
inc ecx
cmp ecx, edi
jb 0x46de10
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46de4b
sub eax, 1
je 0x46de46
sub eax, 1
je 0x46de3f
xor esi, esi
jmp 0x46e062
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46de4d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46deac
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46de61
cmp bl, 0x2c
jne 0x46de91
inc ecx
inc eax
cmp eax, edi
jae 0x46de73
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46de73
cmp dl, 0x39
jle 0x46de62
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46de91
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46de8c
dec esi
sub edx, 1
jne 0x46de81
mov esi, 0x4d1f99
cmp eax, edi
jae 0x46deac
cmp byte [eax], 0x5a
jne 0x46dea6
mov eax, str._GMT
mov edi, 0x4ab624
jmp 0x46deac
mov esi, 0x4a2a88
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4d1f99
mov eax, 0x4d2230
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.00442ba0
add esp, 0x38
mov esi, eax
jmp 0x46e062
mov edi, dword [esp + 0x8c]
lea eax, [ebp - 0xc]
mov esi, dword [esp + 0x88]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x46df1e.13
movzx eax, byte [eax + 0x46ec88]
jmp dword [eax*4 + 0x46ec78]
mov ecx, 2
jmp 0x46df31
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46df1e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46df1e.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x46df1e.13
cmp ebp, 0xc
jne 0x46df8a
test edi, edi
je 0x46df81
push edi
push esi
push ebx
call fcn.00478b50
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x46e05b
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x46df81
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x46dfbd
sub eax, 2
jne 0x46dfc6
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 edx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x46e034
cmp ecx, 0x800
jb 0x46e020
cmp ecx, 0x10000
jb 0x46e00c
cmp ecx, 0x200000
jae 0x46e04c
mov al, cl
mov edx, 2
and al, 0x3f
or ecx, 0x400000
or al, 0x80
shr ecx, 6
mov byte [edi + ebx + 3], al
mov al, cl
or ecx, 0x20000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc edx
mov byte [edi + ebx + 2], al
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc edx
mov byte [edi + ebx + 1], al
mov byte [edi + ebx], cl
add edi, edx
cmp esi, dword [esp + 0x8c]
jb 0x46dfa0
mov byte [edi + ebx], 0
jmp 0x46e05b
push ebx
call dword [0x4dd004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
mov edi, dword [esp + 0x18]
test esi, esi
je case.0x46e5e5.7
cmp byte [edi + 0x89c], 0
mov ebx, dword [esp + 0x12c]
je 0x46e08e
push esi
push str.Start_Date
push ebx
push edi
call fcn.0043a6e0
add esp, 0x10
test ebx, ebx
jne 0x46e0a1
push esi
push str.___Start_Date:__s_n
push edi
call fcn.0043fc80
add esp, 0xc
push esi
call dword [0x4dd004]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x46e5e5.7
movzx ebp, byte [esp + 0xa1]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x46e5e5.7
movzx eax, byte [eax + 0x46ecc4]
jmp dword [eax*4 + 0x46ec9c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x46e0f7
xor esi, esi
jmp 0x46e506
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4dd00c]
add esp, 4
mov esi, eax
jmp 0x46e506
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x46e133
xor esi, esi
jmp 0x46e506
cmp eax, 4
jbe 0x46e149
push esi
push edx
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e506
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46e150
push ecx
cmp ecx, 0xa
mov eax, 0x4d2818
mov ecx, 0x4d1f99
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00442ba0
add esp, 0xc
mov esi, eax
jmp 0x46e506
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x46e19d
xor esi, esi
jmp 0x46e506
push ecx
push eax
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e506
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e506
push 0x4d1f99
call dword [0x4dd00c]
add esp, 4
mov esi, eax
jmp 0x46e506
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.0046f0d0
add esp, 0xc
mov esi, eax
jmp 0x46e506
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x46e220
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46e220
inc ecx
cmp ecx, edx
jb 0x46e213
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46e238
sub eax, 2
je 0x46e23d
xor esi, esi
jmp 0x46e502
mov edi, 0x4ab654
cmp ecx, edx
jb 0x46e248
xor esi, esi
jmp 0x46e502
cmp byte [ecx], 0x5a
jne 0x46e259
mov ecx, 0x4ab658
mov edx, 0x4ab65b
jmp 0x46e25a
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.00442ba0
add esp, 0x28
mov esi, eax
jmp 0x46e502
mov ebp, dword [esp + 0x98]
mov esi, 0x4d1f99
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x46e2bd
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46e2bd
inc ecx
cmp ecx, edi
jb 0x46e2b0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46e2eb
sub eax, 1
je 0x46e2e6
sub eax, 1
je 0x46e2df
xor esi, esi
jmp 0x46e502
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46e2ed
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46e34c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46e301
cmp bl, 0x2c
jne 0x46e331
inc ecx
inc eax
cmp eax, edi
jae 0x46e313
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46e313
cmp dl, 0x39
jle 0x46e302
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46e331
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46e32c
dec esi
sub edx, 1
jne 0x46e321
mov esi, 0x4d1f99
cmp eax, edi
jae 0x46e34c
cmp byte [eax], 0x5a
jne 0x46e346
mov eax, str._GMT
mov edi, 0x4ab624
jmp 0x46e34c
mov esi, 0x4a2a88
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4d1f99
mov eax, 0x4d2230
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.00442ba0
add esp, 0x38
mov esi, eax
jmp 0x46e502
mov edi, dword [esp + 0x9c]
lea eax, [ebp - 0xc]
mov esi, dword [esp + 0x98]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x46e3be.13
movzx eax, byte [eax + 0x46ecf4]
jmp dword [eax*4 + 0x46ece4]
mov ecx, 2
jmp 0x46e3d1
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46e3be.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46e3be.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x46e3be.13
cmp ebp, 0xc
jne 0x46e42a
test edi, edi
je 0x46e421
push edi
push esi
push ebx
call fcn.00478b50
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x46e4fb
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x46e421
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x46e45d
sub eax, 2
jne 0x46e466
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 edx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x46e4d4
cmp ecx, 0x800
jb 0x46e4c0
cmp ecx, 0x10000
jb 0x46e4ac
cmp ecx, 0x200000
jae 0x46e4ec
mov al, cl
mov edx, 2
and al, 0x3f
or ecx, 0x400000
or al, 0x80
shr ecx, 6
mov byte [edi + ebx + 3], al
mov al, cl
or ecx, 0x20000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc edx
mov byte [edi + ebx + 2], al
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc edx
mov byte [edi + ebx + 1], al
mov byte [edi + ebx], cl
add edi, edx
cmp esi, dword [esp + 0x9c]
jb 0x46e440
mov byte [edi + ebx], 0
jmp 0x46e4fb
push ebx
call dword [0x4dd004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
mov edi, dword [esp + 0x18]
test esi, esi
je case.0x46e5e5.7
cmp byte [edi + 0x89c], 0
mov ebp, dword [esp + 0x12c]
je 0x46e52e
push esi
push str.Expire_Date
push ebp
push edi
call fcn.0043a6e0
add esp, 0x10
test ebp, ebp
jne 0x46e541
push esi
push str.___Expire_Date:__s_n
push edi
call fcn.0043fc80
add esp, 0xc
push esi
call dword [0x4dd004]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.0046f9b0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x46e5e5.7
cmp byte [edi + 0x89c], 0
je 0x46e589
push esi
push str.Public_Key_Algorithm
push ebp
push edi
call fcn.0043a6e0
add esp, 0x10
test ebp, ebp
jne 0x46e59c
push esi
push str.___Public_Key_Algorithm:__s_n
push edi
call fcn.0043fc80
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebp
push edi
call fcn.0046f240
push esi
call dword [0x4dd004]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x46e5e5.7
movzx ecx, byte [esp + 0x71]
mov dword [esp + 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x46e5e5.7
movzx eax, byte [eax + 0x46ed30]
jmp dword [eax*4 + 0x46ed08]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x46e602
xor esi, esi
jmp 0x46e9d0
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4dd00c]
add esp, 4
mov esi, eax
jmp 0x46e9d0
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x46e638
xor esi, esi
jmp 0x46e9d0
cmp eax, 4
jbe 0x46e64e
push esi
push edx
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e9d0
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46e654
push ecx
cmp ecx, 0xa
mov eax, 0x4d2818
mov ecx, 0x4d1f99
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00442ba0
add esp, 0xc
mov esi, eax
jmp 0x46e9d0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x46e69b
xor esi, esi
jmp 0x46e9d0
push ecx
push eax
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e9d0
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.004708a0
add esp, 8
mov esi, eax
jmp 0x46e9d0
push 0x4d1f99
call dword [0x4dd00c]
add esp, 4
mov esi, eax
jmp 0x46e9d0
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0046f0d0
add esp, 0xc
mov esi, eax
jmp 0x46e9d0
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x46e70d
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46e70d
inc ecx
cmp ecx, edx
jb 0x46e700
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46e725
sub eax, 2
je 0x46e72a
xor esi, esi
jmp 0x46e9cc
mov edi, 0x4ab654
cmp ecx, edx
jb 0x46e735
xor esi, esi
jmp 0x46e9cc
cmp byte [ecx], 0x5a
jne 0x46e746
mov ecx, 0x4ab658
mov edx, 0x4ab65b
jmp 0x46e747
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.00442ba0
add esp, 0x28
mov esi, eax
jmp 0x46e9cc
mov ebp, dword [esp + 0x68]
mov edi, 0x4d1f99
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x46e79d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46e79d
inc ecx
cmp ecx, esi
jb 0x46e790
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46e7cb
sub eax, 1
je 0x46e7c6
sub eax, 1
je 0x46e7bf
xor esi, esi
jmp 0x46e9c5
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46e7cd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x46e82c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46e7e1
cmp bl, 0x2c
jne 0x46e811
inc ecx
inc eax
cmp eax, esi
jae 0x46e7f3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46e7f3
cmp dl, 0x39
jle 0x46e7e2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46e811
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x46e80c
dec edi
sub edx, 1
jne 0x46e801
mov edi, 0x4d1f99
cmp eax, esi
jae 0x46e82c
cmp byte [eax], 0x5a
jne 0x46e826
mov eax, str._GMT
mov esi, 0x4ab624
jmp 0x46e82c
mov edi, 0x4a2a88
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x4d1f99
mov eax, 0x4d2230
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.00442ba0
add esp, 0x38
mov esi, eax
jmp 0x46e9c5
mov edi, dword [esp + 0x6c]
add ecx, 0xfffffff4
mov esi, dword [esp + 0x68]
mov ebp, 1
sub edi, esi
cmp ecx, 0x12
ja case.0x46e894.13
movzx eax, byte [ecx + 0x46ed60]
jmp dword [eax*4 + 0x46ed50]
mov ebp, 2
jmp case.0x46e894.12
mov ebp, 4
xor edx, edx
mov eax, edi
div ebp
test edx, edx
jne case.0x46e894.13
mov eax, edi
div ebp
cmp eax, 0x3fffffff
ja case.0x46e894.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x46e894.13
cmp dword [esp + 0x14], 0xc
jne 0x46e8fe
test edi, edi
je 0x46e8f5
push edi
push esi
push ebx
call fcn.00478b50
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x46e9be
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x46e8f5
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x46e923
sub eax, 2
jne 0x46e92c
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 edx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x46e99a
cmp ecx, 0x800
jb 0x46e986
cmp ecx, 0x10000
jb 0x46e972
cmp ecx, 0x200000
jae 0x46e9af
mov al, cl
mov edx, 2
and al, 0x3f
or ecx, 0x400000
or al, 0x80
shr ecx, 6
mov byte [edi + ebx + 3], al
mov al, cl
or ecx, 0x20000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc edx
mov byte [edi + ebx + 2], al
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc edx
mov byte [edi + ebx + 1], al
mov byte [edi + ebx], cl
add edi, edx
cmp esi, dword [esp + 0x6c]
jb 0x46e906
mov byte [edi + ebx], 0
jmp 0x46e9be
push ebx
call dword [0x4dd004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
mov ebp, dword [esp + 0x12c]
mov edi, dword [esp + 0x18]
test esi, esi
je case.0x46e5e5.7
cmp byte [edi + 0x89c], 0
je 0x46e9f1
push esi
push str.Signature
push ebp
push edi
call fcn.0043a6e0
add esp, 0x10
test ebp, ebp
jne 0x46ea04
push esi
push str.___Signature:__s_n
push edi
call fcn.0043fc80
add esp, 0xc
push esi
call dword [0x4dd004]
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x38]
sub eax, ecx
push eax
push ecx
push edi
call fcn.00455920
add esp, 0x18
test eax, eax
jne 0x46ea5f
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x46ea6a
push dword [esp + 0x20]
call dword [0x4dd004]
add esp, 4
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov ecx, str._____BEGIN_CERTIFICATE_____
lea edx, [ebx + 2]
xor esi, esi
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x46eac8
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x46eac7
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x46eac2
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x46eabd
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x46ea74
jmp 0x46eac8
add esi, 3
jmp 0x46eac8
add esi, 2
jmp 0x46eac8
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x46eaf5
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.0046f1b0
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x46ead7
lea ebp, [ebx + edi]
mov ecx, str._____END_CERTIFICATE_____
xor esi, esi
lea edx, [ebp + 2]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x46eb56
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x46eb55
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x46eb50
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x46eb4b
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x46eb02
jmp 0x46eb56
add esi, 3
jmp 0x46eb56
add esi, 2
jmp 0x46eb56
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x4dd004]
mov ebp, dword [esp + 0x1c]
add esp, 4
cmp byte [ebp + 0x89c], 0
je 0x46eb92
push ebx
push str.Cert
push dword [esp + 0x134]
push ebp
call fcn.0043a6e0
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x46ebab
push ebx
push 0x4a1fd0
push ebp
call fcn.0043fc80
add esp, 0xc
push ebx
call dword [0x4dd004]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret