Function at 0x4ccf30
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 + 0x88c], 0
jne 0x4ccf64
test ebx, ebx
je 0x4ccf64
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.004ce6c0
add esp, 0xc
test eax, eax
je 0x4ccf91
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.004ce9c0
mov esi, eax
add esp, 4
test esi, esi
je case.0x4cdf25.7
cmp byte [ebp + 0x88c], 0
je 0x4ccfc6
push esi
push str.Subject
push ebx
push ebp
call fcn.004a8eb0
add esp, 0x10
test ebx, ebx
jne 0x4ccfda
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.0049f410
add esp, 0x10
push esi
call dword [0x6560dc]
lea eax, [esp + 0x78]
push eax
call fcn.004ce9c0
mov esi, eax
add esp, 8
test esi, esi
je case.0x4cdf25.7
cmp byte [ebp + 0x88c], 0
je 0x4cd011
push esi
push str.Issuer
push ebx
push ebp
call fcn.004a8eb0
add esp, 0x10
test ebx, ebx
jne 0x4cd024
push esi
push str.___Issuer:__s_n
push ebp
call fcn.0049f410
add esp, 0xc
push esi
call dword [0x6560dc]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x4cd04d
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x4cd040
cmp byte [ebp + 0x88c], 0
je 0x4cd085
push esi
push 0x5e1178
call fcn.004a00e0
mov edi, eax
add esp, 8
test edi, edi
je case.0x4cdf25.7
push edi
push str.Version
push ebx
push ebp
call fcn.004a8eb0
push edi
call dword [0x6560dc]
add esp, 0x14
test ebx, ebx
jne 0x4cd09c
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.0049f410
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x4cdf25.7
movzx ebp, byte [esp + 0x51]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4cdf25.7
movzx eax, byte [eax + 0x4ce52c]
mov ebx, 0x6478fd
mov edx, str.FALSE
jmp dword [eax*4 + 0x4ce504]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x4cd0e6
xor esi, esi
jmp 0x4cd4af
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x6560e4]
add esp, 4
mov esi, eax
jmp 0x4cd4af
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x4cd117
xor esi, esi
jmp 0x4cd4af
cmp eax, 4
jbe 0x4cd12d
push esi
push edx
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cd4af
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4cd133
cmp ecx, 0xa
mov eax, 0x5d9e00
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.004a00e0
add esp, 0xc
mov esi, eax
jmp 0x4cd4af
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x4cd175
xor esi, esi
jmp 0x4cd4af
push ecx
push eax
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cd4af
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cd4af
push 0x6478fd
call dword [0x6560e4]
add esp, 4
mov esi, eax
jmp 0x4cd4af
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.004cea10
add esp, 0xc
mov esi, eax
jmp 0x4cd4af
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x4cd1ed
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4cd1ed
inc ecx
cmp ecx, edx
jb 0x4cd1e0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4cd205
sub eax, 2
je 0x4cd20a
xor esi, esi
jmp 0x4cd4af
mov edi, 0x5e3438
cmp ecx, edx
jb 0x4cd215
xor esi, esi
jmp 0x4cd4af
cmp byte [ecx], 0x5a
jne 0x4cd226
mov ecx, 0x5e343c
mov edx, 0x5e343f
jmp 0x4cd227
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.004a00e0
add esp, 0x28
mov esi, eax
jmp 0x4cd4af
mov ebp, dword [esp + 0x48]
mov esi, 0x6478fd
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x4cd27d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4cd27d
inc ecx
cmp ecx, edi
jb 0x4cd270
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4cd2ab
sub eax, 1
je 0x4cd2a6
sub eax, 1
je 0x4cd29f
xor esi, esi
jmp 0x4cd4af
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4cd2ad
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4cd30c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4cd2c1
cmp bl, 0x2c
jne 0x4cd2f1
inc ecx
inc eax
cmp eax, edi
jae 0x4cd2d3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4cd2d3
cmp dl, 0x39
jle 0x4cd2c2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4cd2f1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4cd2ec
dec esi
sub edx, 1
jne 0x4cd2e1
mov esi, 0x6478fd
cmp eax, edi
jae 0x4cd30c
cmp byte [eax], 0x5a
jne 0x4cd306
mov eax, str._GMT
mov edi, 0x5e3408
jmp 0x4cd30c
mov esi, 0x647de8
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x6478fd
mov eax, 0x647b30
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.004a00e0
add esp, 0x38
mov esi, eax
jmp 0x4cd4af
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.0x4cd378.13
movzx eax, byte [eax + 0x4ce55c]
jmp dword [eax*4 + 0x4ce54c]
mov ecx, 2
jmp 0x4cd38b
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4cd378.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4cd378.13
lea eax, [eax*4 + 1]
push eax
call dword [0x6560d8]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4cd378.13
cmp ebp, 0xc
jne 0x4cd3e4
test edi, edi
je 0x4cd3db
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4cd4a8
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x4cd3db
mov ebp, dword [esp + 0x14]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4cd40d
sub eax, 2
jne 0x4cd416
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 0x4cd484
cmp ecx, 0x800
jb 0x4cd470
cmp ecx, 0x10000
jb 0x4cd45c
cmp ecx, 0x200000
jae 0x4cd499
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 0x4cd3f0
mov byte [edi + ebx], 0
jmp 0x4cd4a8
push ebx
call dword [0x6560dc]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
test esi, esi
je case.0x4cdf25.7
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x88c], 0
je 0x4cd4db
push esi
push str.Serial_Number
push ebx
push edi
call fcn.004a8eb0
add esp, 0x10
test ebx, ebx
jne 0x4cd4ee
push esi
push str.___Serial_Number:__s_n
push edi
call fcn.0049f410
add esp, 0xc
push esi
call dword [0x6560dc]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.004cf2f0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x4cdf25.7
cmp byte [edi + 0x88c], 0
je 0x4cd530
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.004a8eb0
add esp, 0x10
test ebx, ebx
jne 0x4cd543
push esi
push str.___Signature_Algorithm:__s_n
push edi
call fcn.0049f410
add esp, 0xc
push esi
call dword [0x6560dc]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x4cdf25.7
movzx ebp, byte [esp + 0x91]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4cdf25.7
movzx eax, byte [eax + 0x4ce598]
jmp dword [eax*4 + 0x4ce570]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x4cd599
xor esi, esi
jmp 0x4cd9a6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x6560e4]
add esp, 4
mov esi, eax
jmp 0x4cd9a6
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x4cd5d5
xor esi, esi
jmp 0x4cd9a6
cmp eax, 4
jbe 0x4cd5eb
push esi
push edx
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cd9a6
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4cd5f1
push ecx
cmp ecx, 0xa
mov eax, 0x5d9e00
mov ecx, 0x6478fd
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004a00e0
add esp, 0xc
mov esi, eax
jmp 0x4cd9a6
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x4cd63e
xor esi, esi
jmp 0x4cd9a6
push ecx
push eax
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cd9a6
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cd9a6
push 0x6478fd
call dword [0x6560e4]
add esp, 4
mov esi, eax
jmp 0x4cd9a6
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.004cea10
add esp, 0xc
mov esi, eax
jmp 0x4cd9a6
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x4cd6c1
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4cd6c1
inc ecx
cmp ecx, edx
jb 0x4cd6b4
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4cd6d9
sub eax, 2
je 0x4cd6de
xor esi, esi
jmp 0x4cd9a2
mov edi, 0x5e3438
cmp ecx, edx
jb 0x4cd6e9
xor esi, esi
jmp 0x4cd9a2
cmp byte [ecx], 0x5a
jne 0x4cd6fa
mov ecx, 0x5e343c
mov edx, 0x5e343f
jmp 0x4cd6fb
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.004a00e0
add esp, 0x28
mov esi, eax
jmp 0x4cd9a2
mov ebp, dword [esp + 0x88]
mov esi, 0x6478fd
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x4cd75d
nop word [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4cd75d
inc ecx
cmp ecx, edi
jb 0x4cd750
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4cd78b
sub eax, 1
je 0x4cd786
sub eax, 1
je 0x4cd77f
xor esi, esi
jmp 0x4cd9a2
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4cd78d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4cd7ec
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4cd7a1
cmp bl, 0x2c
jne 0x4cd7d1
inc ecx
inc eax
cmp eax, edi
jae 0x4cd7b3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4cd7b3
cmp dl, 0x39
jle 0x4cd7a2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4cd7d1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4cd7cc
dec esi
sub edx, 1
jne 0x4cd7c1
mov esi, 0x6478fd
cmp eax, edi
jae 0x4cd7ec
cmp byte [eax], 0x5a
jne 0x4cd7e6
mov eax, str._GMT
mov edi, 0x5e3408
jmp 0x4cd7ec
mov esi, 0x647de8
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x6478fd
mov eax, 0x647b30
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.004a00e0
add esp, 0x38
mov esi, eax
jmp 0x4cd9a2
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.0x4cd85e.13
movzx eax, byte [eax + 0x4ce5c8]
jmp dword [eax*4 + 0x4ce5b8]
mov ecx, 2
jmp 0x4cd871
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4cd85e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4cd85e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x6560d8]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4cd85e.13
cmp ebp, 0xc
jne 0x4cd8ca
test edi, edi
je 0x4cd8c1
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4cd99b
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x4cd8c1
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4cd8fd
sub eax, 2
jne 0x4cd906
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 0x4cd974
cmp ecx, 0x800
jb 0x4cd960
cmp ecx, 0x10000
jb 0x4cd94c
cmp ecx, 0x200000
jae 0x4cd98c
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 0x4cd8e0
mov byte [edi + ebx], 0
jmp 0x4cd99b
push ebx
call dword [0x6560dc]
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.0x4cdf25.7
cmp byte [edi + 0x88c], 0
mov ebx, dword [esp + 0x12c]
je 0x4cd9ce
push esi
push str.Start_Date
push ebx
push edi
call fcn.004a8eb0
add esp, 0x10
test ebx, ebx
jne 0x4cd9e1
push esi
push str.___Start_Date:__s_n
push edi
call fcn.0049f410
add esp, 0xc
push esi
call dword [0x6560dc]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x4cdf25.7
movzx ebp, byte [esp + 0xa1]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4cdf25.7
movzx eax, byte [eax + 0x4ce604]
jmp dword [eax*4 + 0x4ce5dc]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x4cda37
xor esi, esi
jmp 0x4cde46
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x6560e4]
add esp, 4
mov esi, eax
jmp 0x4cde46
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x4cda73
xor esi, esi
jmp 0x4cde46
cmp eax, 4
jbe 0x4cda89
push esi
push edx
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cde46
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4cda90
push ecx
cmp ecx, 0xa
mov eax, 0x5d9e00
mov ecx, 0x6478fd
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004a00e0
add esp, 0xc
mov esi, eax
jmp 0x4cde46
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x4cdadd
xor esi, esi
jmp 0x4cde46
push ecx
push eax
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cde46
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4cde46
push 0x6478fd
call dword [0x6560e4]
add esp, 4
mov esi, eax
jmp 0x4cde46
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.004cea10
add esp, 0xc
mov esi, eax
jmp 0x4cde46
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x4cdb60
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4cdb60
inc ecx
cmp ecx, edx
jb 0x4cdb53
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4cdb78
sub eax, 2
je 0x4cdb7d
xor esi, esi
jmp 0x4cde42
mov edi, 0x5e3438
cmp ecx, edx
jb 0x4cdb88
xor esi, esi
jmp 0x4cde42
cmp byte [ecx], 0x5a
jne 0x4cdb99
mov ecx, 0x5e343c
mov edx, 0x5e343f
jmp 0x4cdb9a
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.004a00e0
add esp, 0x28
mov esi, eax
jmp 0x4cde42
mov ebp, dword [esp + 0x98]
mov esi, 0x6478fd
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x4cdbfd
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4cdbfd
inc ecx
cmp ecx, edi
jb 0x4cdbf0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4cdc2b
sub eax, 1
je 0x4cdc26
sub eax, 1
je 0x4cdc1f
xor esi, esi
jmp 0x4cde42
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4cdc2d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4cdc8c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4cdc41
cmp bl, 0x2c
jne 0x4cdc71
inc ecx
inc eax
cmp eax, edi
jae 0x4cdc53
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4cdc53
cmp dl, 0x39
jle 0x4cdc42
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4cdc71
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4cdc6c
dec esi
sub edx, 1
jne 0x4cdc61
mov esi, 0x6478fd
cmp eax, edi
jae 0x4cdc8c
cmp byte [eax], 0x5a
jne 0x4cdc86
mov eax, str._GMT
mov edi, 0x5e3408
jmp 0x4cdc8c
mov esi, 0x647de8
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x6478fd
mov eax, 0x647b30
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.004a00e0
add esp, 0x38
mov esi, eax
jmp 0x4cde42
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.0x4cdcfe.13
movzx eax, byte [eax + 0x4ce634]
jmp dword [eax*4 + 0x4ce624]
mov ecx, 2
jmp 0x4cdd11
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4cdcfe.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4cdcfe.13
lea eax, [eax*4 + 1]
push eax
call dword [0x6560d8]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4cdcfe.13
cmp ebp, 0xc
jne 0x4cdd6a
test edi, edi
je 0x4cdd61
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4cde3b
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x4cdd61
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4cdd9d
sub eax, 2
jne 0x4cdda6
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 0x4cde14
cmp ecx, 0x800
jb 0x4cde00
cmp ecx, 0x10000
jb 0x4cddec
cmp ecx, 0x200000
jae 0x4cde2c
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 0x4cdd80
mov byte [edi + ebx], 0
jmp 0x4cde3b
push ebx
call dword [0x6560dc]
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.0x4cdf25.7
cmp byte [edi + 0x88c], 0
mov ebp, dword [esp + 0x12c]
je 0x4cde6e
push esi
push str.Expire_Date
push ebp
push edi
call fcn.004a8eb0
add esp, 0x10
test ebp, ebp
jne 0x4cde81
push esi
push str.___Expire_Date:__s_n
push edi
call fcn.0049f410
add esp, 0xc
push esi
call dword [0x6560dc]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.004cf2f0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x4cdf25.7
cmp byte [edi + 0x88c], 0
je 0x4cdec9
push esi
push str.Public_Key_Algorithm
push ebp
push edi
call fcn.004a8eb0
add esp, 0x10
test ebp, ebp
jne 0x4cdedc
push esi
push str.___Public_Key_Algorithm:__s_n
push edi
call fcn.0049f410
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebp
push edi
call fcn.004ceb80
push esi
call dword [0x6560dc]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x4cdf25.7
movzx ecx, byte [esp + 0x71]
mov dword [esp + 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x4cdf25.7
movzx eax, byte [eax + 0x4ce670]
jmp dword [eax*4 + 0x4ce648]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x4cdf42
xor esi, esi
jmp 0x4ce310
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x6560e4]
add esp, 4
mov esi, eax
jmp 0x4ce310
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x4cdf78
xor esi, esi
jmp 0x4ce310
cmp eax, 4
jbe 0x4cdf8e
push esi
push edx
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4ce310
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4cdf94
push ecx
cmp ecx, 0xa
mov eax, 0x5d9e00
mov ecx, 0x6478fd
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004a00e0
add esp, 0xc
mov esi, eax
jmp 0x4ce310
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x4cdfdb
xor esi, esi
jmp 0x4ce310
push ecx
push eax
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4ce310
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.004d01e0
add esp, 8
mov esi, eax
jmp 0x4ce310
push 0x6478fd
call dword [0x6560e4]
add esp, 4
mov esi, eax
jmp 0x4ce310
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.004cea10
add esp, 0xc
mov esi, eax
jmp 0x4ce310
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x4ce04d
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4ce04d
inc ecx
cmp ecx, edx
jb 0x4ce040
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4ce065
sub eax, 2
je 0x4ce06a
xor esi, esi
jmp 0x4ce30c
mov edi, 0x5e3438
cmp ecx, edx
jb 0x4ce075
xor esi, esi
jmp 0x4ce30c
cmp byte [ecx], 0x5a
jne 0x4ce086
mov ecx, 0x5e343c
mov edx, 0x5e343f
jmp 0x4ce087
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.004a00e0
add esp, 0x28
mov esi, eax
jmp 0x4ce30c
mov ebp, dword [esp + 0x68]
mov edi, 0x6478fd
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x4ce0dd
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4ce0dd
inc ecx
cmp ecx, esi
jb 0x4ce0d0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4ce10b
sub eax, 1
je 0x4ce106
sub eax, 1
je 0x4ce0ff
xor esi, esi
jmp 0x4ce305
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4ce10d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x4ce16c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4ce121
cmp bl, 0x2c
jne 0x4ce151
inc ecx
inc eax
cmp eax, esi
jae 0x4ce133
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4ce133
cmp dl, 0x39
jle 0x4ce122
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4ce151
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x4ce14c
dec edi
sub edx, 1
jne 0x4ce141
mov edi, 0x6478fd
cmp eax, esi
jae 0x4ce16c
cmp byte [eax], 0x5a
jne 0x4ce166
mov eax, str._GMT
mov esi, 0x5e3408
jmp 0x4ce16c
mov edi, 0x647de8
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x6478fd
mov eax, 0x647b30
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.004a00e0
add esp, 0x38
mov esi, eax
jmp 0x4ce305
mov edi, dword [esp + 0x6c]
add ecx, 0xfffffff4
mov esi, dword [esp + 0x68]
mov ebp, 1
sub edi, esi
cmp ecx, 0x12
ja case.0x4ce1d4.13
movzx eax, byte [ecx + 0x4ce6a0]
jmp dword [eax*4 + 0x4ce690]
mov ebp, 2
jmp case.0x4ce1d4.12
mov ebp, 4
xor edx, edx
mov eax, edi
div ebp
test edx, edx
jne case.0x4ce1d4.13
mov eax, edi
div ebp
cmp eax, 0x3fffffff
ja case.0x4ce1d4.13
lea eax, [eax*4 + 1]
push eax
call dword [0x6560d8]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4ce1d4.13
cmp dword [esp + 0x14], 0xc
jne 0x4ce23e
test edi, edi
je 0x4ce235
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4ce2fe
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x4ce235
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4ce263
sub eax, 2
jne 0x4ce26c
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 0x4ce2da
cmp ecx, 0x800
jb 0x4ce2c6
cmp ecx, 0x10000
jb 0x4ce2b2
cmp ecx, 0x200000
jae 0x4ce2ef
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 0x4ce246
mov byte [edi + ebx], 0
jmp 0x4ce2fe
push ebx
call dword [0x6560dc]
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.0x4cdf25.7
cmp byte [edi + 0x88c], 0
je 0x4ce331
push esi
push str.Signature
push ebp
push edi
call fcn.004a8eb0
add esp, 0x10
test ebp, ebp
jne 0x4ce344
push esi
push str.___Signature:__s_n
push edi
call fcn.0049f410
add esp, 0xc
push esi
call dword [0x6560dc]
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.004c57c0
add esp, 0x18
test eax, eax
jne 0x4ce39f
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x6560d8]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4ce3aa
push dword [esp + 0x20]
call dword [0x6560dc]
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 0x4ce408
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x4ce407
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x4ce402
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x4ce3fd
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4ce3b4
jmp 0x4ce408
add esi, 3
jmp 0x4ce408
add esi, 2
jmp 0x4ce408
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x4ce435
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.004ceaf0
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x4ce417
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 0x4ce496
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x4ce495
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x4ce490
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x4ce48b
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4ce442
jmp 0x4ce496
add esi, 3
jmp 0x4ce496
add esi, 2
jmp 0x4ce496
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x6560dc]
mov ebp, dword [esp + 0x1c]
add esp, 4
cmp byte [ebp + 0x88c], 0
je 0x4ce4d2
push ebx
push str.Cert
push dword [esp + 0x134]
push ebp
call fcn.004a8eb0
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x4ce4eb
push ebx
push 0x5dbe00
push ebp
call fcn.0049f410
add esp, 0xc
push ebx
call dword [0x6560dc]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret