Function at 0x452ae0
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 0x452b14
test ebx, ebx
je 0x452b14
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.00454270
add esp, 0xc
test eax, eax
je 0x452b41
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.00454570
mov esi, eax
add esp, 4
test esi, esi
je case.0x453ad5.7
cmp byte [ebp + 0x89c], 0
je 0x452b76
push esi
push str.Subject
push ebx
push ebp
call fcn.0041e820
add esp, 0x10
test ebx, ebx
jne 0x452b8a
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.00423b70
add esp, 0x10
push esi
call dword [0x473098]
lea eax, [esp + 0x78]
push eax
call fcn.00454570
mov esi, eax
add esp, 8
test esi, esi
je case.0x453ad5.7
cmp byte [ebp + 0x89c], 0
je 0x452bc1
push esi
push str.Issuer
push ebx
push ebp
call fcn.0041e820
add esp, 0x10
test ebx, ebx
jne 0x452bd4
push esi
push str.___Issuer:__s_n
push ebp
call fcn.00423b70
add esp, 0xc
push esi
call dword [0x473098]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x452bfd
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x452bf0
cmp byte [ebp + 0x89c], 0
je 0x452c35
push esi
push 0x46b888
call fcn.004336b0
mov edi, eax
add esp, 8
test edi, edi
je case.0x453ad5.7
push edi
push str.Version
push ebx
push ebp
call fcn.0041e820
push edi
call dword [0x473098]
add esp, 0x14
test ebx, ebx
jne 0x452c4c
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.00423b70
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x453ad5.7
movzx ebp, byte [esp + 0x51]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x453ad5.7
movzx eax, byte [eax + 0x4540dc]
mov ebx, 0x45e707
mov edx, str.FALSE
jmp dword [eax*4 + 0x4540b4]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x452c96
xor esi, esi
jmp 0x45305f
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x4730a0]
add esp, 4
mov esi, eax
jmp 0x45305f
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x452cc7
xor esi, esi
jmp 0x45305f
cmp eax, 4
jbe 0x452cdd
push esi
push edx
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x45305f
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x452ce3
cmp ecx, 0xa
mov eax, 0x46d018
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.004336b0
add esp, 0xc
mov esi, eax
jmp 0x45305f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x452d25
xor esi, esi
jmp 0x45305f
push ecx
push eax
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x45305f
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x45305f
push 0x45e707
call dword [0x4730a0]
add esp, 4
mov esi, eax
jmp 0x45305f
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.004545c0
add esp, 0xc
mov esi, eax
jmp 0x45305f
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x452d9d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x452d9d
inc ecx
cmp ecx, edx
jb 0x452d90
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x452db5
sub eax, 2
je 0x452dba
xor esi, esi
jmp 0x45305f
mov edi, 0x46d058
cmp ecx, edx
jb 0x452dc5
xor esi, esi
jmp 0x45305f
cmp byte [ecx], 0x5a
jne 0x452dd6
mov ecx, 0x46d05c
mov edx, 0x46d05f
jmp 0x452dd7
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.004336b0
add esp, 0x28
mov esi, eax
jmp 0x45305f
mov ebp, dword [esp + 0x48]
mov esi, 0x45e707
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x452e2d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x452e2d
inc ecx
cmp ecx, edi
jb 0x452e20
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x452e5b
sub eax, 1
je 0x452e56
sub eax, 1
je 0x452e4f
xor esi, esi
jmp 0x45305f
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x452e5d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x452ebc
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x452e71
cmp bl, 0x2c
jne 0x452ea1
inc ecx
inc eax
cmp eax, edi
jae 0x452e83
mov dl, byte [eax]
cmp dl, 0x30
jl 0x452e83
cmp dl, 0x39
jle 0x452e72
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x452ea1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x452e9c
dec esi
sub edx, 1
jne 0x452e91
mov esi, 0x45e707
cmp eax, edi
jae 0x452ebc
cmp byte [eax], 0x5a
jne 0x452eb6
mov eax, str._GMT
mov edi, 0x46d028
jmp 0x452ebc
mov esi, 0x45e614
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x45e707
mov eax, 0x45e724
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.004336b0
add esp, 0x38
mov esi, eax
jmp 0x45305f
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.0x452f28.13
movzx eax, byte [eax + 0x45410c]
jmp dword [eax*4 + 0x4540fc]
mov ecx, 2
jmp 0x452f3b
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x452f28.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x452f28.13
lea eax, [eax*4 + 1]
push eax
call dword [0x473094]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x452f28.13
cmp ebp, 0xc
jne 0x452f94
test edi, edi
je 0x452f8b
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x453058
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x452f8b
mov ebp, dword [esp + 0x14]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x452fbd
sub eax, 2
jne 0x452fc6
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 0x453034
cmp ecx, 0x800
jb 0x453020
cmp ecx, 0x10000
jb 0x45300c
cmp ecx, 0x200000
jae 0x453049
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 0x452fa0
mov byte [edi + ebx], 0
jmp 0x453058
push ebx
call dword [0x473098]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
test esi, esi
je case.0x453ad5.7
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x89c], 0
je 0x45308b
push esi
push str.Serial_Number
push ebx
push edi
call fcn.0041e820
add esp, 0x10
test ebx, ebx
jne 0x45309e
push esi
push str.___Serial_Number:__s_n
push edi
call fcn.00423b70
add esp, 0xc
push esi
call dword [0x473098]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.00454ea0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x453ad5.7
cmp byte [edi + 0x89c], 0
je 0x4530e0
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.0041e820
add esp, 0x10
test ebx, ebx
jne 0x4530f3
push esi
push str.___Signature_Algorithm:__s_n
push edi
call fcn.00423b70
add esp, 0xc
push esi
call dword [0x473098]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x453ad5.7
movzx ebp, byte [esp + 0x91]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x453ad5.7
movzx eax, byte [eax + 0x454148]
jmp dword [eax*4 + 0x454120]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x453149
xor esi, esi
jmp 0x453556
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4730a0]
add esp, 4
mov esi, eax
jmp 0x453556
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x453185
xor esi, esi
jmp 0x453556
cmp eax, 4
jbe 0x45319b
push esi
push edx
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x453556
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4531a1
push ecx
cmp ecx, 0xa
mov eax, 0x46d018
mov ecx, 0x45e707
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004336b0
add esp, 0xc
mov esi, eax
jmp 0x453556
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x4531ee
xor esi, esi
jmp 0x453556
push ecx
push eax
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x453556
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x453556
push 0x45e707
call dword [0x4730a0]
add esp, 4
mov esi, eax
jmp 0x453556
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.004545c0
add esp, 0xc
mov esi, eax
jmp 0x453556
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x453271
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x453271
inc ecx
cmp ecx, edx
jb 0x453264
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x453289
sub eax, 2
je 0x45328e
xor esi, esi
jmp 0x453552
mov edi, 0x46d058
cmp ecx, edx
jb 0x453299
xor esi, esi
jmp 0x453552
cmp byte [ecx], 0x5a
jne 0x4532aa
mov ecx, 0x46d05c
mov edx, 0x46d05f
jmp 0x4532ab
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.004336b0
add esp, 0x28
mov esi, eax
jmp 0x453552
mov ebp, dword [esp + 0x88]
mov esi, 0x45e707
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x45330d
nop word [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45330d
inc ecx
cmp ecx, edi
jb 0x453300
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45333b
sub eax, 1
je 0x453336
sub eax, 1
je 0x45332f
xor esi, esi
jmp 0x453552
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45333d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45339c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x453351
cmp bl, 0x2c
jne 0x453381
inc ecx
inc eax
cmp eax, edi
jae 0x453363
mov dl, byte [eax]
cmp dl, 0x30
jl 0x453363
cmp dl, 0x39
jle 0x453352
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x453381
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45337c
dec esi
sub edx, 1
jne 0x453371
mov esi, 0x45e707
cmp eax, edi
jae 0x45339c
cmp byte [eax], 0x5a
jne 0x453396
mov eax, str._GMT
mov edi, 0x46d028
jmp 0x45339c
mov esi, 0x45e614
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x45e707
mov eax, 0x45e724
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.004336b0
add esp, 0x38
mov esi, eax
jmp 0x453552
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.0x45340e.13
movzx eax, byte [eax + 0x454178]
jmp dword [eax*4 + 0x454168]
mov ecx, 2
jmp 0x453421
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x45340e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x45340e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x473094]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x45340e.13
cmp ebp, 0xc
jne 0x45347a
test edi, edi
je 0x453471
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x45354b
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x453471
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4534ad
sub eax, 2
jne 0x4534b6
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 0x453524
cmp ecx, 0x800
jb 0x453510
cmp ecx, 0x10000
jb 0x4534fc
cmp ecx, 0x200000
jae 0x45353c
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 0x453490
mov byte [edi + ebx], 0
jmp 0x45354b
push ebx
call dword [0x473098]
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.0x453ad5.7
cmp byte [edi + 0x89c], 0
mov ebx, dword [esp + 0x12c]
je 0x45357e
push esi
push str.Start_Date
push ebx
push edi
call fcn.0041e820
add esp, 0x10
test ebx, ebx
jne 0x453591
push esi
push str.___Start_Date:__s_n
push edi
call fcn.00423b70
add esp, 0xc
push esi
call dword [0x473098]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x453ad5.7
movzx ebp, byte [esp + 0xa1]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x453ad5.7
movzx eax, byte [eax + 0x4541b4]
jmp dword [eax*4 + 0x45418c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x4535e7
xor esi, esi
jmp 0x4539f6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4730a0]
add esp, 4
mov esi, eax
jmp 0x4539f6
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x453623
xor esi, esi
jmp 0x4539f6
cmp eax, 4
jbe 0x453639
push esi
push edx
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x4539f6
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x453640
push ecx
cmp ecx, 0xa
mov eax, 0x46d018
mov ecx, 0x45e707
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004336b0
add esp, 0xc
mov esi, eax
jmp 0x4539f6
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x45368d
xor esi, esi
jmp 0x4539f6
push ecx
push eax
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x4539f6
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x4539f6
push 0x45e707
call dword [0x4730a0]
add esp, 4
mov esi, eax
jmp 0x4539f6
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.004545c0
add esp, 0xc
mov esi, eax
jmp 0x4539f6
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x453710
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x453710
inc ecx
cmp ecx, edx
jb 0x453703
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x453728
sub eax, 2
je 0x45372d
xor esi, esi
jmp 0x4539f2
mov edi, 0x46d058
cmp ecx, edx
jb 0x453738
xor esi, esi
jmp 0x4539f2
cmp byte [ecx], 0x5a
jne 0x453749
mov ecx, 0x46d05c
mov edx, 0x46d05f
jmp 0x45374a
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.004336b0
add esp, 0x28
mov esi, eax
jmp 0x4539f2
mov ebp, dword [esp + 0x98]
mov esi, 0x45e707
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x4537ad
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4537ad
inc ecx
cmp ecx, edi
jb 0x4537a0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4537db
sub eax, 1
je 0x4537d6
sub eax, 1
je 0x4537cf
xor esi, esi
jmp 0x4539f2
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4537dd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45383c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4537f1
cmp bl, 0x2c
jne 0x453821
inc ecx
inc eax
cmp eax, edi
jae 0x453803
mov dl, byte [eax]
cmp dl, 0x30
jl 0x453803
cmp dl, 0x39
jle 0x4537f2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x453821
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45381c
dec esi
sub edx, 1
jne 0x453811
mov esi, 0x45e707
cmp eax, edi
jae 0x45383c
cmp byte [eax], 0x5a
jne 0x453836
mov eax, str._GMT
mov edi, 0x46d028
jmp 0x45383c
mov esi, 0x45e614
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x45e707
mov eax, 0x45e724
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.004336b0
add esp, 0x38
mov esi, eax
jmp 0x4539f2
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.0x4538ae.13
movzx eax, byte [eax + 0x4541e4]
jmp dword [eax*4 + 0x4541d4]
mov ecx, 2
jmp 0x4538c1
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4538ae.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4538ae.13
lea eax, [eax*4 + 1]
push eax
call dword [0x473094]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4538ae.13
cmp ebp, 0xc
jne 0x45391a
test edi, edi
je 0x453911
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4539eb
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x453911
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x45394d
sub eax, 2
jne 0x453956
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 0x4539c4
cmp ecx, 0x800
jb 0x4539b0
cmp ecx, 0x10000
jb 0x45399c
cmp ecx, 0x200000
jae 0x4539dc
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 0x453930
mov byte [edi + ebx], 0
jmp 0x4539eb
push ebx
call dword [0x473098]
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.0x453ad5.7
cmp byte [edi + 0x89c], 0
mov ebp, dword [esp + 0x12c]
je 0x453a1e
push esi
push str.Expire_Date
push ebp
push edi
call fcn.0041e820
add esp, 0x10
test ebp, ebp
jne 0x453a31
push esi
push str.___Expire_Date:__s_n
push edi
call fcn.00423b70
add esp, 0xc
push esi
call dword [0x473098]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.00454ea0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x453ad5.7
cmp byte [edi + 0x89c], 0
je 0x453a79
push esi
push str.Public_Key_Algorithm
push ebp
push edi
call fcn.0041e820
add esp, 0x10
test ebp, ebp
jne 0x453a8c
push esi
push str.___Public_Key_Algorithm:__s_n
push edi
call fcn.00423b70
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebp
push edi
call fcn.00454730
push esi
call dword [0x473098]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x453ad5.7
movzx ecx, byte [esp + 0x71]
mov dword [esp + 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x453ad5.7
movzx eax, byte [eax + 0x454220]
jmp dword [eax*4 + 0x4541f8]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x453af2
xor esi, esi
jmp 0x453ec0
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4730a0]
add esp, 4
mov esi, eax
jmp 0x453ec0
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x453b28
xor esi, esi
jmp 0x453ec0
cmp eax, 4
jbe 0x453b3e
push esi
push edx
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x453ec0
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x453b44
push ecx
cmp ecx, 0xa
mov eax, 0x46d018
mov ecx, 0x45e707
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004336b0
add esp, 0xc
mov esi, eax
jmp 0x453ec0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x453b8b
xor esi, esi
jmp 0x453ec0
push ecx
push eax
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x453ec0
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.00455da0
add esp, 8
mov esi, eax
jmp 0x453ec0
push 0x45e707
call dword [0x4730a0]
add esp, 4
mov esi, eax
jmp 0x453ec0
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.004545c0
add esp, 0xc
mov esi, eax
jmp 0x453ec0
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x453bfd
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x453bfd
inc ecx
cmp ecx, edx
jb 0x453bf0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x453c15
sub eax, 2
je 0x453c1a
xor esi, esi
jmp 0x453ebc
mov edi, 0x46d058
cmp ecx, edx
jb 0x453c25
xor esi, esi
jmp 0x453ebc
cmp byte [ecx], 0x5a
jne 0x453c36
mov ecx, 0x46d05c
mov edx, 0x46d05f
jmp 0x453c37
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.004336b0
add esp, 0x28
mov esi, eax
jmp 0x453ebc
mov ebp, dword [esp + 0x68]
mov edi, 0x45e707
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x453c8d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x453c8d
inc ecx
cmp ecx, esi
jb 0x453c80
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x453cbb
sub eax, 1
je 0x453cb6
sub eax, 1
je 0x453caf
xor esi, esi
jmp 0x453eb5
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x453cbd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x453d1c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x453cd1
cmp bl, 0x2c
jne 0x453d01
inc ecx
inc eax
cmp eax, esi
jae 0x453ce3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x453ce3
cmp dl, 0x39
jle 0x453cd2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x453d01
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x453cfc
dec edi
sub edx, 1
jne 0x453cf1
mov edi, 0x45e707
cmp eax, esi
jae 0x453d1c
cmp byte [eax], 0x5a
jne 0x453d16
mov eax, str._GMT
mov esi, 0x46d028
jmp 0x453d1c
mov edi, 0x45e614
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x45e707
mov eax, 0x45e724
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.004336b0
add esp, 0x38
mov esi, eax
jmp 0x453eb5
mov edi, dword [esp + 0x6c]
add ecx, 0xfffffff4
mov esi, dword [esp + 0x68]
mov ebp, 1
sub edi, esi
cmp ecx, 0x12
ja case.0x453d84.13
movzx eax, byte [ecx + 0x454250]
jmp dword [eax*4 + 0x454240]
mov ebp, 2
jmp case.0x453d84.12
mov ebp, 4
xor edx, edx
mov eax, edi
div ebp
test edx, edx
jne case.0x453d84.13
mov eax, edi
div ebp
cmp eax, 0x3fffffff
ja case.0x453d84.13
lea eax, [eax*4 + 1]
push eax
call dword [0x473094]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x453d84.13
cmp dword [esp + 0x14], 0xc
jne 0x453dee
test edi, edi
je 0x453de5
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x453eae
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x453de5
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x453e13
sub eax, 2
jne 0x453e1c
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 0x453e8a
cmp ecx, 0x800
jb 0x453e76
cmp ecx, 0x10000
jb 0x453e62
cmp ecx, 0x200000
jae 0x453e9f
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 0x453df6
mov byte [edi + ebx], 0
jmp 0x453eae
push ebx
call dword [0x473098]
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.0x453ad5.7
cmp byte [edi + 0x89c], 0
je 0x453ee1
push esi
push str.Signature
push ebp
push edi
call fcn.0041e820
add esp, 0x10
test ebp, ebp
jne 0x453ef4
push esi
push str.___Signature:__s_n
push edi
call fcn.00423b70
add esp, 0xc
push esi
call dword [0x473098]
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.00439d30
add esp, 0x18
test eax, eax
jne 0x453f4f
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x473094]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x453f5a
push dword [esp + 0x20]
call dword [0x473098]
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 0x453fb8
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x453fb7
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x453fb2
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x453fad
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x453f64
jmp 0x453fb8
add esi, 3
jmp 0x453fb8
add esi, 2
jmp 0x453fb8
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x453fe5
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.004546a0
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x453fc7
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 0x454046
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x454045
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x454040
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x45403b
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x453ff2
jmp 0x454046
add esi, 3
jmp 0x454046
add esi, 2
jmp 0x454046
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x473098]
mov ebp, dword [esp + 0x1c]
add esp, 4
cmp byte [ebp + 0x89c], 0
je 0x454082
push ebx
push str.Cert
push dword [esp + 0x134]
push ebp
call fcn.0041e820
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x45409b
push ebx
push 0x461f80
push ebp
call fcn.00423b70
add esp, 0xc
push ebx
call dword [0x473098]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret