Function at 0x45ce60
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 0x45ce94
test ebx, ebx
je 0x45ce94
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.0045e5f0
add esp, 0xc
test eax, eax
je 0x45cec1
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.0045e8f0
mov esi, eax
add esp, 4
test esi, esi
je case.0x45de55.7
cmp byte [ebp + 0x89c], 0
je 0x45cef6
push esi
push str.Subject
push ebx
push ebp
call fcn.00429b10
add esp, 0x10
test ebx, ebx
jne 0x45cf0a
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.0042ee60
add esp, 0x10
push esi
call dword [0x47e068]
lea eax, [esp + 0x78]
push eax
call fcn.0045e8f0
mov esi, eax
add esp, 8
test esi, esi
je case.0x45de55.7
cmp byte [ebp + 0x89c], 0
je 0x45cf41
push esi
push str.Issuer
push ebx
push ebp
call fcn.00429b10
add esp, 0x10
test ebx, ebx
jne 0x45cf54
push esi
push str.___Issuer:__s_n
push ebp
call fcn.0042ee60
add esp, 0xc
push esi
call dword [0x47e068]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x45cf7d
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x45cf70
cmp byte [ebp + 0x89c], 0
je 0x45cfb5
push esi
push 0x4747f0
call fcn.00431de0
mov edi, eax
add esp, 8
test edi, edi
je case.0x45de55.7
push edi
push str.Version
push ebx
push ebp
call fcn.00429b10
push edi
call dword [0x47e068]
add esp, 0x14
test ebx, ebx
jne 0x45cfcc
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.0042ee60
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x45de55.7
movzx ebp, byte [esp + 0x51]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x45de55.7
movzx eax, byte [eax + 0x45e45c]
mov ebx, 0x47665f
mov edx, str.FALSE
jmp dword [eax*4 + 0x45e434]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x45d016
xor esi, esi
jmp 0x45d3df
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x47e070]
add esp, 4
mov esi, eax
jmp 0x45d3df
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x45d047
xor esi, esi
jmp 0x45d3df
cmp eax, 4
jbe 0x45d05d
push esi
push edx
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45d3df
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x45d063
cmp ecx, 0xa
mov eax, 0x475f80
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.00431de0
add esp, 0xc
mov esi, eax
jmp 0x45d3df
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x45d0a5
xor esi, esi
jmp 0x45d3df
push ecx
push eax
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45d3df
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45d3df
push 0x47665f
call dword [0x47e070]
add esp, 4
mov esi, eax
jmp 0x45d3df
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.0045e940
add esp, 0xc
mov esi, eax
jmp 0x45d3df
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x45d11d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45d11d
inc ecx
cmp ecx, edx
jb 0x45d110
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x45d135
sub eax, 2
je 0x45d13a
xor esi, esi
jmp 0x45d3df
mov edi, 0x475fc0
cmp ecx, edx
jb 0x45d145
xor esi, esi
jmp 0x45d3df
cmp byte [ecx], 0x5a
jne 0x45d156
mov ecx, 0x475fc4
mov edx, 0x475fc7
jmp 0x45d157
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.00431de0
add esp, 0x28
mov esi, eax
jmp 0x45d3df
mov ebp, dword [esp + 0x48]
mov esi, 0x47665f
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x45d1ad
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45d1ad
inc ecx
cmp ecx, edi
jb 0x45d1a0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45d1db
sub eax, 1
je 0x45d1d6
sub eax, 1
je 0x45d1cf
xor esi, esi
jmp 0x45d3df
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45d1dd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45d23c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x45d1f1
cmp bl, 0x2c
jne 0x45d221
inc ecx
inc eax
cmp eax, edi
jae 0x45d203
mov dl, byte [eax]
cmp dl, 0x30
jl 0x45d203
cmp dl, 0x39
jle 0x45d1f2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x45d221
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45d21c
dec esi
sub edx, 1
jne 0x45d211
mov esi, 0x47665f
cmp eax, edi
jae 0x45d23c
cmp byte [eax], 0x5a
jne 0x45d236
mov eax, str._GMT
mov edi, 0x475f90
jmp 0x45d23c
mov esi, 0x476818
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x47665f
mov eax, 0x47667c
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.00431de0
add esp, 0x38
mov esi, eax
jmp 0x45d3df
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.0x45d2a8.13
movzx eax, byte [eax + 0x45e48c]
jmp dword [eax*4 + 0x45e47c]
mov ecx, 2
jmp 0x45d2bb
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x45d2a8.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x45d2a8.13
lea eax, [eax*4 + 1]
push eax
call dword [0x47e064]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x45d2a8.13
cmp ebp, 0xc
jne 0x45d314
test edi, edi
je 0x45d30b
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x45d3d8
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x45d30b
mov ebp, dword [esp + 0x14]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x45d33d
sub eax, 2
jne 0x45d346
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 0x45d3b4
cmp ecx, 0x800
jb 0x45d3a0
cmp ecx, 0x10000
jb 0x45d38c
cmp ecx, 0x200000
jae 0x45d3c9
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 0x45d320
mov byte [edi + ebx], 0
jmp 0x45d3d8
push ebx
call dword [0x47e068]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
test esi, esi
je case.0x45de55.7
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x89c], 0
je 0x45d40b
push esi
push str.Serial_Number
push ebx
push edi
call fcn.00429b10
add esp, 0x10
test ebx, ebx
jne 0x45d41e
push esi
push str.___Serial_Number:__s_n
push edi
call fcn.0042ee60
add esp, 0xc
push esi
call dword [0x47e068]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.0045f220
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x45de55.7
cmp byte [edi + 0x89c], 0
je 0x45d460
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.00429b10
add esp, 0x10
test ebx, ebx
jne 0x45d473
push esi
push str.___Signature_Algorithm:__s_n
push edi
call fcn.0042ee60
add esp, 0xc
push esi
call dword [0x47e068]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x45de55.7
movzx ebp, byte [esp + 0x91]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x45de55.7
movzx eax, byte [eax + 0x45e4c8]
jmp dword [eax*4 + 0x45e4a0]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x45d4c9
xor esi, esi
jmp 0x45d8d6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x47e070]
add esp, 4
mov esi, eax
jmp 0x45d8d6
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x45d505
xor esi, esi
jmp 0x45d8d6
cmp eax, 4
jbe 0x45d51b
push esi
push edx
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45d8d6
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x45d521
push ecx
cmp ecx, 0xa
mov eax, 0x475f80
mov ecx, 0x47665f
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00431de0
add esp, 0xc
mov esi, eax
jmp 0x45d8d6
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x45d56e
xor esi, esi
jmp 0x45d8d6
push ecx
push eax
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45d8d6
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45d8d6
push 0x47665f
call dword [0x47e070]
add esp, 4
mov esi, eax
jmp 0x45d8d6
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.0045e940
add esp, 0xc
mov esi, eax
jmp 0x45d8d6
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x45d5f1
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45d5f1
inc ecx
cmp ecx, edx
jb 0x45d5e4
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x45d609
sub eax, 2
je 0x45d60e
xor esi, esi
jmp 0x45d8d2
mov edi, 0x475fc0
cmp ecx, edx
jb 0x45d619
xor esi, esi
jmp 0x45d8d2
cmp byte [ecx], 0x5a
jne 0x45d62a
mov ecx, 0x475fc4
mov edx, 0x475fc7
jmp 0x45d62b
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.00431de0
add esp, 0x28
mov esi, eax
jmp 0x45d8d2
mov ebp, dword [esp + 0x88]
mov esi, 0x47665f
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x45d68d
nop word [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45d68d
inc ecx
cmp ecx, edi
jb 0x45d680
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45d6bb
sub eax, 1
je 0x45d6b6
sub eax, 1
je 0x45d6af
xor esi, esi
jmp 0x45d8d2
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45d6bd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45d71c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x45d6d1
cmp bl, 0x2c
jne 0x45d701
inc ecx
inc eax
cmp eax, edi
jae 0x45d6e3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x45d6e3
cmp dl, 0x39
jle 0x45d6d2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x45d701
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45d6fc
dec esi
sub edx, 1
jne 0x45d6f1
mov esi, 0x47665f
cmp eax, edi
jae 0x45d71c
cmp byte [eax], 0x5a
jne 0x45d716
mov eax, str._GMT
mov edi, 0x475f90
jmp 0x45d71c
mov esi, 0x476818
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x47665f
mov eax, 0x47667c
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.00431de0
add esp, 0x38
mov esi, eax
jmp 0x45d8d2
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.0x45d78e.13
movzx eax, byte [eax + 0x45e4f8]
jmp dword [eax*4 + 0x45e4e8]
mov ecx, 2
jmp 0x45d7a1
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x45d78e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x45d78e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x47e064]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x45d78e.13
cmp ebp, 0xc
jne 0x45d7fa
test edi, edi
je 0x45d7f1
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x45d8cb
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x45d7f1
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x45d82d
sub eax, 2
jne 0x45d836
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 0x45d8a4
cmp ecx, 0x800
jb 0x45d890
cmp ecx, 0x10000
jb 0x45d87c
cmp ecx, 0x200000
jae 0x45d8bc
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 0x45d810
mov byte [edi + ebx], 0
jmp 0x45d8cb
push ebx
call dword [0x47e068]
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.0x45de55.7
cmp byte [edi + 0x89c], 0
mov ebx, dword [esp + 0x12c]
je 0x45d8fe
push esi
push str.Start_Date
push ebx
push edi
call fcn.00429b10
add esp, 0x10
test ebx, ebx
jne 0x45d911
push esi
push str.___Start_Date:__s_n
push edi
call fcn.0042ee60
add esp, 0xc
push esi
call dword [0x47e068]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x45de55.7
movzx ebp, byte [esp + 0xa1]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x45de55.7
movzx eax, byte [eax + 0x45e534]
jmp dword [eax*4 + 0x45e50c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x45d967
xor esi, esi
jmp 0x45dd76
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x47e070]
add esp, 4
mov esi, eax
jmp 0x45dd76
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x45d9a3
xor esi, esi
jmp 0x45dd76
cmp eax, 4
jbe 0x45d9b9
push esi
push edx
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45dd76
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x45d9c0
push ecx
cmp ecx, 0xa
mov eax, 0x475f80
mov ecx, 0x47665f
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00431de0
add esp, 0xc
mov esi, eax
jmp 0x45dd76
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x45da0d
xor esi, esi
jmp 0x45dd76
push ecx
push eax
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45dd76
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45dd76
push 0x47665f
call dword [0x47e070]
add esp, 4
mov esi, eax
jmp 0x45dd76
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.0045e940
add esp, 0xc
mov esi, eax
jmp 0x45dd76
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x45da90
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45da90
inc ecx
cmp ecx, edx
jb 0x45da83
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x45daa8
sub eax, 2
je 0x45daad
xor esi, esi
jmp 0x45dd72
mov edi, 0x475fc0
cmp ecx, edx
jb 0x45dab8
xor esi, esi
jmp 0x45dd72
cmp byte [ecx], 0x5a
jne 0x45dac9
mov ecx, 0x475fc4
mov edx, 0x475fc7
jmp 0x45daca
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.00431de0
add esp, 0x28
mov esi, eax
jmp 0x45dd72
mov ebp, dword [esp + 0x98]
mov esi, 0x47665f
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x45db2d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45db2d
inc ecx
cmp ecx, edi
jb 0x45db20
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45db5b
sub eax, 1
je 0x45db56
sub eax, 1
je 0x45db4f
xor esi, esi
jmp 0x45dd72
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45db5d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x45dbbc
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x45db71
cmp bl, 0x2c
jne 0x45dba1
inc ecx
inc eax
cmp eax, edi
jae 0x45db83
mov dl, byte [eax]
cmp dl, 0x30
jl 0x45db83
cmp dl, 0x39
jle 0x45db72
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x45dba1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x45db9c
dec esi
sub edx, 1
jne 0x45db91
mov esi, 0x47665f
cmp eax, edi
jae 0x45dbbc
cmp byte [eax], 0x5a
jne 0x45dbb6
mov eax, str._GMT
mov edi, 0x475f90
jmp 0x45dbbc
mov esi, 0x476818
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x47665f
mov eax, 0x47667c
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.00431de0
add esp, 0x38
mov esi, eax
jmp 0x45dd72
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.0x45dc2e.13
movzx eax, byte [eax + 0x45e564]
jmp dword [eax*4 + 0x45e554]
mov ecx, 2
jmp 0x45dc41
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x45dc2e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x45dc2e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x47e064]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x45dc2e.13
cmp ebp, 0xc
jne 0x45dc9a
test edi, edi
je 0x45dc91
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x45dd6b
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x45dc91
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x45dccd
sub eax, 2
jne 0x45dcd6
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 0x45dd44
cmp ecx, 0x800
jb 0x45dd30
cmp ecx, 0x10000
jb 0x45dd1c
cmp ecx, 0x200000
jae 0x45dd5c
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 0x45dcb0
mov byte [edi + ebx], 0
jmp 0x45dd6b
push ebx
call dword [0x47e068]
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.0x45de55.7
cmp byte [edi + 0x89c], 0
mov ebp, dword [esp + 0x12c]
je 0x45dd9e
push esi
push str.Expire_Date
push ebp
push edi
call fcn.00429b10
add esp, 0x10
test ebp, ebp
jne 0x45ddb1
push esi
push str.___Expire_Date:__s_n
push edi
call fcn.0042ee60
add esp, 0xc
push esi
call dword [0x47e068]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.0045f220
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x45de55.7
cmp byte [edi + 0x89c], 0
je 0x45ddf9
push esi
push str.Public_Key_Algorithm
push ebp
push edi
call fcn.00429b10
add esp, 0x10
test ebp, ebp
jne 0x45de0c
push esi
push str.___Public_Key_Algorithm:__s_n
push edi
call fcn.0042ee60
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebp
push edi
call fcn.0045eab0
push esi
call dword [0x47e068]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x45de55.7
movzx ecx, byte [esp + 0x71]
mov dword [esp + 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x45de55.7
movzx eax, byte [eax + 0x45e5a0]
jmp dword [eax*4 + 0x45e578]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x45de72
xor esi, esi
jmp 0x45e240
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x47e070]
add esp, 4
mov esi, eax
jmp 0x45e240
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x45dea8
xor esi, esi
jmp 0x45e240
cmp eax, 4
jbe 0x45debe
push esi
push edx
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45e240
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x45dec4
push ecx
cmp ecx, 0xa
mov eax, 0x475f80
mov ecx, 0x47665f
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00431de0
add esp, 0xc
mov esi, eax
jmp 0x45e240
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x45df0b
xor esi, esi
jmp 0x45e240
push ecx
push eax
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45e240
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.00460110
add esp, 8
mov esi, eax
jmp 0x45e240
push 0x47665f
call dword [0x47e070]
add esp, 4
mov esi, eax
jmp 0x45e240
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0045e940
add esp, 0xc
mov esi, eax
jmp 0x45e240
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x45df7d
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45df7d
inc ecx
cmp ecx, edx
jb 0x45df70
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x45df95
sub eax, 2
je 0x45df9a
xor esi, esi
jmp 0x45e23c
mov edi, 0x475fc0
cmp ecx, edx
jb 0x45dfa5
xor esi, esi
jmp 0x45e23c
cmp byte [ecx], 0x5a
jne 0x45dfb6
mov ecx, 0x475fc4
mov edx, 0x475fc7
jmp 0x45dfb7
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.00431de0
add esp, 0x28
mov esi, eax
jmp 0x45e23c
mov ebp, dword [esp + 0x68]
mov edi, 0x47665f
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x45e00d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x45e00d
inc ecx
cmp ecx, esi
jb 0x45e000
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x45e03b
sub eax, 1
je 0x45e036
sub eax, 1
je 0x45e02f
xor esi, esi
jmp 0x45e235
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x45e03d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x45e09c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x45e051
cmp bl, 0x2c
jne 0x45e081
inc ecx
inc eax
cmp eax, esi
jae 0x45e063
mov dl, byte [eax]
cmp dl, 0x30
jl 0x45e063
cmp dl, 0x39
jle 0x45e052
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x45e081
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x45e07c
dec edi
sub edx, 1
jne 0x45e071
mov edi, 0x47665f
cmp eax, esi
jae 0x45e09c
cmp byte [eax], 0x5a
jne 0x45e096
mov eax, str._GMT
mov esi, 0x475f90
jmp 0x45e09c
mov edi, 0x476818
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x47665f
mov eax, 0x47667c
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.00431de0
add esp, 0x38
mov esi, eax
jmp 0x45e235
mov edi, dword [esp + 0x6c]
add ecx, 0xfffffff4
mov esi, dword [esp + 0x68]
mov ebp, 1
sub edi, esi
cmp ecx, 0x12
ja case.0x45e104.13
movzx eax, byte [ecx + 0x45e5d0]
jmp dword [eax*4 + 0x45e5c0]
mov ebp, 2
jmp case.0x45e104.12
mov ebp, 4
xor edx, edx
mov eax, edi
div ebp
test edx, edx
jne case.0x45e104.13
mov eax, edi
div ebp
cmp eax, 0x3fffffff
ja case.0x45e104.13
lea eax, [eax*4 + 1]
push eax
call dword [0x47e064]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x45e104.13
cmp dword [esp + 0x14], 0xc
jne 0x45e16e
test edi, edi
je 0x45e165
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x45e22e
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x45e165
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x45e193
sub eax, 2
jne 0x45e19c
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 0x45e20a
cmp ecx, 0x800
jb 0x45e1f6
cmp ecx, 0x10000
jb 0x45e1e2
cmp ecx, 0x200000
jae 0x45e21f
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 0x45e176
mov byte [edi + ebx], 0
jmp 0x45e22e
push ebx
call dword [0x47e068]
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.0x45de55.7
cmp byte [edi + 0x89c], 0
je 0x45e261
push esi
push str.Signature
push ebp
push edi
call fcn.00429b10
add esp, 0x10
test ebp, ebp
jne 0x45e274
push esi
push str.___Signature:__s_n
push edi
call fcn.0042ee60
add esp, 0xc
push esi
call dword [0x47e068]
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.00445080
add esp, 0x18
test eax, eax
jne 0x45e2cf
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x47e064]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x45e2da
push dword [esp + 0x20]
call dword [0x47e068]
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 0x45e338
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x45e337
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x45e332
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x45e32d
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x45e2e4
jmp 0x45e338
add esi, 3
jmp 0x45e338
add esi, 2
jmp 0x45e338
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x45e365
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.0045ea20
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x45e347
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 0x45e3c6
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x45e3c5
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x45e3c0
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x45e3bb
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x45e372
jmp 0x45e3c6
add esi, 3
jmp 0x45e3c6
add esi, 2
jmp 0x45e3c6
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x47e068]
mov ebp, dword [esp + 0x1c]
add esp, 4
cmp byte [ebp + 0x89c], 0
je 0x45e402
push ebx
push str.Cert
push dword [esp + 0x134]
push ebp
call fcn.00429b10
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x45e41b
push ebx
push 0x46c840
push ebp
call fcn.0042ee60
add esp, 0xc
push ebx
call dword [0x47e068]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret