Function at 0x4f2b50
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 0x4f2b84
test ebx, ebx
je 0x4f2b84
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.004f42e0
add esp, 0xc
test eax, eax
je 0x4f2bb1
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.004f45e0
mov esi, eax
add esp, 4
test esi, esi
je case.0x4f3b45.7
cmp byte [ebp + 0x88c], 0
je 0x4f2be6
push esi
push str.Subject
push ebx
push ebp
call fcn.004cc620
add esp, 0x10
test ebx, ebx
jne 0x4f2bfa
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.004d14b0
add esp, 0x10
push esi
call dword [0x67e0dc]
lea eax, [esp + 0x78]
push eax
call fcn.004f45e0
mov esi, eax
add esp, 8
test esi, esi
je case.0x4f3b45.7
cmp byte [ebp + 0x88c], 0
je 0x4f2c31
push esi
push str.Issuer
push ebx
push ebp
call fcn.004cc620
add esp, 0x10
test ebx, ebx
jne 0x4f2c44
push esi
push str.___Issuer:__s_n
push ebp
call fcn.004d14b0
add esp, 0xc
push esi
call dword [0x67e0dc]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x4f2c6d
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x4f2c60
cmp byte [ebp + 0x88c], 0
je 0x4f2ca5
push esi
push 0x6060ac
call fcn.004d4870
mov edi, eax
add esp, 8
test edi, edi
je case.0x4f3b45.7
push edi
push str.Version
push ebx
push ebp
call fcn.004cc620
push edi
call dword [0x67e0dc]
add esp, 0x14
test ebx, ebx
jne 0x4f2cbc
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.004d14b0
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x4f3b45.7
movzx ebp, byte [esp + 0x51]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4f3b45.7
movzx eax, byte [eax + 0x4f414c]
mov ebx, 0x66c6ba
mov edx, str.FALSE
jmp dword [eax*4 + 0x4f4124]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x4f2d06
xor esi, esi
jmp 0x4f30cf
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x67e0e4]
add esp, 4
mov esi, eax
jmp 0x4f30cf
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x4f2d37
xor esi, esi
jmp 0x4f30cf
cmp eax, 4
jbe 0x4f2d4d
push esi
push edx
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f30cf
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4f2d53
cmp ecx, 0xa
mov eax, 0x5fedf8
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.004d4870
add esp, 0xc
mov esi, eax
jmp 0x4f30cf
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x4f2d95
xor esi, esi
jmp 0x4f30cf
push ecx
push eax
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f30cf
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f30cf
push 0x66c6ba
call dword [0x67e0e4]
add esp, 4
mov esi, eax
jmp 0x4f30cf
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.004f4630
add esp, 0xc
mov esi, eax
jmp 0x4f30cf
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x4f2e0d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4f2e0d
inc ecx
cmp ecx, edx
jb 0x4f2e00
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4f2e25
sub eax, 2
je 0x4f2e2a
xor esi, esi
jmp 0x4f30cf
mov edi, 0x6083c0
cmp ecx, edx
jb 0x4f2e35
xor esi, esi
jmp 0x4f30cf
cmp byte [ecx], 0x5a
jne 0x4f2e46
mov ecx, 0x6083c4
mov edx, 0x6083c7
jmp 0x4f2e47
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.004d4870
add esp, 0x28
mov esi, eax
jmp 0x4f30cf
mov ebp, dword [esp + 0x48]
mov esi, 0x66c6ba
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x4f2e9d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4f2e9d
inc ecx
cmp ecx, edi
jb 0x4f2e90
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4f2ecb
sub eax, 1
je 0x4f2ec6
sub eax, 1
je 0x4f2ebf
xor esi, esi
jmp 0x4f30cf
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4f2ecd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4f2f2c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4f2ee1
cmp bl, 0x2c
jne 0x4f2f11
inc ecx
inc eax
cmp eax, edi
jae 0x4f2ef3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4f2ef3
cmp dl, 0x39
jle 0x4f2ee2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4f2f11
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4f2f0c
dec esi
sub edx, 1
jne 0x4f2f01
mov esi, 0x66c6ba
cmp eax, edi
jae 0x4f2f2c
cmp byte [eax], 0x5a
jne 0x4f2f26
mov eax, str._GMT
mov edi, 0x608390
jmp 0x4f2f2c
mov esi, 0x670d58
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x66c6ba
mov eax, 0x671100
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.004d4870
add esp, 0x38
mov esi, eax
jmp 0x4f30cf
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.0x4f2f98.13
movzx eax, byte [eax + 0x4f417c]
jmp dword [eax*4 + 0x4f416c]
mov ecx, 2
jmp 0x4f2fab
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4f2f98.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4f2f98.13
lea eax, [eax*4 + 1]
push eax
call dword [0x67e0d8]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4f2f98.13
cmp ebp, 0xc
jne 0x4f3004
test edi, edi
je 0x4f2ffb
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4f30c8
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x4f2ffb
mov ebp, dword [esp + 0x14]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4f302d
sub eax, 2
jne 0x4f3036
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 0x4f30a4
cmp ecx, 0x800
jb 0x4f3090
cmp ecx, 0x10000
jb 0x4f307c
cmp ecx, 0x200000
jae 0x4f30b9
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 0x4f3010
mov byte [edi + ebx], 0
jmp 0x4f30c8
push ebx
call dword [0x67e0dc]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
test esi, esi
je case.0x4f3b45.7
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x88c], 0
je 0x4f30fb
push esi
push str.Serial_Number
push ebx
push edi
call fcn.004cc620
add esp, 0x10
test ebx, ebx
jne 0x4f310e
push esi
push str.___Serial_Number:__s_n
push edi
call fcn.004d14b0
add esp, 0xc
push esi
call dword [0x67e0dc]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.004f4f10
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x4f3b45.7
cmp byte [edi + 0x88c], 0
je 0x4f3150
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.004cc620
add esp, 0x10
test ebx, ebx
jne 0x4f3163
push esi
push str.___Signature_Algorithm:__s_n
push edi
call fcn.004d14b0
add esp, 0xc
push esi
call dword [0x67e0dc]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x4f3b45.7
movzx ebp, byte [esp + 0x91]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4f3b45.7
movzx eax, byte [eax + 0x4f41b8]
jmp dword [eax*4 + 0x4f4190]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x4f31b9
xor esi, esi
jmp 0x4f35c6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x67e0e4]
add esp, 4
mov esi, eax
jmp 0x4f35c6
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x4f31f5
xor esi, esi
jmp 0x4f35c6
cmp eax, 4
jbe 0x4f320b
push esi
push edx
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f35c6
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4f3211
push ecx
cmp ecx, 0xa
mov eax, 0x5fedf8
mov ecx, 0x66c6ba
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004d4870
add esp, 0xc
mov esi, eax
jmp 0x4f35c6
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x4f325e
xor esi, esi
jmp 0x4f35c6
push ecx
push eax
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f35c6
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f35c6
push 0x66c6ba
call dword [0x67e0e4]
add esp, 4
mov esi, eax
jmp 0x4f35c6
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.004f4630
add esp, 0xc
mov esi, eax
jmp 0x4f35c6
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x4f32e1
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4f32e1
inc ecx
cmp ecx, edx
jb 0x4f32d4
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4f32f9
sub eax, 2
je 0x4f32fe
xor esi, esi
jmp 0x4f35c2
mov edi, 0x6083c0
cmp ecx, edx
jb 0x4f3309
xor esi, esi
jmp 0x4f35c2
cmp byte [ecx], 0x5a
jne 0x4f331a
mov ecx, 0x6083c4
mov edx, 0x6083c7
jmp 0x4f331b
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.004d4870
add esp, 0x28
mov esi, eax
jmp 0x4f35c2
mov ebp, dword [esp + 0x88]
mov esi, 0x66c6ba
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x4f337d
nop word [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4f337d
inc ecx
cmp ecx, edi
jb 0x4f3370
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4f33ab
sub eax, 1
je 0x4f33a6
sub eax, 1
je 0x4f339f
xor esi, esi
jmp 0x4f35c2
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4f33ad
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4f340c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4f33c1
cmp bl, 0x2c
jne 0x4f33f1
inc ecx
inc eax
cmp eax, edi
jae 0x4f33d3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4f33d3
cmp dl, 0x39
jle 0x4f33c2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4f33f1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4f33ec
dec esi
sub edx, 1
jne 0x4f33e1
mov esi, 0x66c6ba
cmp eax, edi
jae 0x4f340c
cmp byte [eax], 0x5a
jne 0x4f3406
mov eax, str._GMT
mov edi, 0x608390
jmp 0x4f340c
mov esi, 0x670d58
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x66c6ba
mov eax, 0x671100
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.004d4870
add esp, 0x38
mov esi, eax
jmp 0x4f35c2
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.0x4f347e.13
movzx eax, byte [eax + 0x4f41e8]
jmp dword [eax*4 + 0x4f41d8]
mov ecx, 2
jmp 0x4f3491
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4f347e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4f347e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x67e0d8]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4f347e.13
cmp ebp, 0xc
jne 0x4f34ea
test edi, edi
je 0x4f34e1
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4f35bb
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x4f34e1
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4f351d
sub eax, 2
jne 0x4f3526
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 0x4f3594
cmp ecx, 0x800
jb 0x4f3580
cmp ecx, 0x10000
jb 0x4f356c
cmp ecx, 0x200000
jae 0x4f35ac
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 0x4f3500
mov byte [edi + ebx], 0
jmp 0x4f35bb
push ebx
call dword [0x67e0dc]
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.0x4f3b45.7
cmp byte [edi + 0x88c], 0
mov ebx, dword [esp + 0x12c]
je 0x4f35ee
push esi
push str.Start_Date
push ebx
push edi
call fcn.004cc620
add esp, 0x10
test ebx, ebx
jne 0x4f3601
push esi
push str.___Start_Date:__s_n
push edi
call fcn.004d14b0
add esp, 0xc
push esi
call dword [0x67e0dc]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x4f3b45.7
movzx ebp, byte [esp + 0xa1]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4f3b45.7
movzx eax, byte [eax + 0x4f4224]
jmp dword [eax*4 + 0x4f41fc]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x4f3657
xor esi, esi
jmp 0x4f3a66
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x67e0e4]
add esp, 4
mov esi, eax
jmp 0x4f3a66
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x4f3693
xor esi, esi
jmp 0x4f3a66
cmp eax, 4
jbe 0x4f36a9
push esi
push edx
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f3a66
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4f36b0
push ecx
cmp ecx, 0xa
mov eax, 0x5fedf8
mov ecx, 0x66c6ba
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004d4870
add esp, 0xc
mov esi, eax
jmp 0x4f3a66
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x4f36fd
xor esi, esi
jmp 0x4f3a66
push ecx
push eax
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f3a66
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f3a66
push 0x66c6ba
call dword [0x67e0e4]
add esp, 4
mov esi, eax
jmp 0x4f3a66
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.004f4630
add esp, 0xc
mov esi, eax
jmp 0x4f3a66
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x4f3780
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4f3780
inc ecx
cmp ecx, edx
jb 0x4f3773
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4f3798
sub eax, 2
je 0x4f379d
xor esi, esi
jmp 0x4f3a62
mov edi, 0x6083c0
cmp ecx, edx
jb 0x4f37a8
xor esi, esi
jmp 0x4f3a62
cmp byte [ecx], 0x5a
jne 0x4f37b9
mov ecx, 0x6083c4
mov edx, 0x6083c7
jmp 0x4f37ba
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.004d4870
add esp, 0x28
mov esi, eax
jmp 0x4f3a62
mov ebp, dword [esp + 0x98]
mov esi, 0x66c6ba
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x4f381d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4f381d
inc ecx
cmp ecx, edi
jb 0x4f3810
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4f384b
sub eax, 1
je 0x4f3846
sub eax, 1
je 0x4f383f
xor esi, esi
jmp 0x4f3a62
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4f384d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4f38ac
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4f3861
cmp bl, 0x2c
jne 0x4f3891
inc ecx
inc eax
cmp eax, edi
jae 0x4f3873
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4f3873
cmp dl, 0x39
jle 0x4f3862
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4f3891
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4f388c
dec esi
sub edx, 1
jne 0x4f3881
mov esi, 0x66c6ba
cmp eax, edi
jae 0x4f38ac
cmp byte [eax], 0x5a
jne 0x4f38a6
mov eax, str._GMT
mov edi, 0x608390
jmp 0x4f38ac
mov esi, 0x670d58
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x66c6ba
mov eax, 0x671100
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.004d4870
add esp, 0x38
mov esi, eax
jmp 0x4f3a62
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.0x4f391e.13
movzx eax, byte [eax + 0x4f4254]
jmp dword [eax*4 + 0x4f4244]
mov ecx, 2
jmp 0x4f3931
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4f391e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4f391e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x67e0d8]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4f391e.13
cmp ebp, 0xc
jne 0x4f398a
test edi, edi
je 0x4f3981
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4f3a5b
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x4f3981
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4f39bd
sub eax, 2
jne 0x4f39c6
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 0x4f3a34
cmp ecx, 0x800
jb 0x4f3a20
cmp ecx, 0x10000
jb 0x4f3a0c
cmp ecx, 0x200000
jae 0x4f3a4c
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 0x4f39a0
mov byte [edi + ebx], 0
jmp 0x4f3a5b
push ebx
call dword [0x67e0dc]
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.0x4f3b45.7
cmp byte [edi + 0x88c], 0
mov ebp, dword [esp + 0x12c]
je 0x4f3a8e
push esi
push str.Expire_Date
push ebp
push edi
call fcn.004cc620
add esp, 0x10
test ebp, ebp
jne 0x4f3aa1
push esi
push str.___Expire_Date:__s_n
push edi
call fcn.004d14b0
add esp, 0xc
push esi
call dword [0x67e0dc]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.004f4f10
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x4f3b45.7
cmp byte [edi + 0x88c], 0
je 0x4f3ae9
push esi
push str.Public_Key_Algorithm
push ebp
push edi
call fcn.004cc620
add esp, 0x10
test ebp, ebp
jne 0x4f3afc
push esi
push str.___Public_Key_Algorithm:__s_n
push edi
call fcn.004d14b0
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebp
push edi
call fcn.004f47a0
push esi
call dword [0x67e0dc]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x4f3b45.7
movzx ecx, byte [esp + 0x71]
mov dword [esp + 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x4f3b45.7
movzx eax, byte [eax + 0x4f4290]
jmp dword [eax*4 + 0x4f4268]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x4f3b62
xor esi, esi
jmp 0x4f3f30
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x67e0e4]
add esp, 4
mov esi, eax
jmp 0x4f3f30
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x4f3b98
xor esi, esi
jmp 0x4f3f30
cmp eax, 4
jbe 0x4f3bae
push esi
push edx
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f3f30
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4f3bb4
push ecx
cmp ecx, 0xa
mov eax, 0x5fedf8
mov ecx, 0x66c6ba
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004d4870
add esp, 0xc
mov esi, eax
jmp 0x4f3f30
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x4f3bfb
xor esi, esi
jmp 0x4f3f30
push ecx
push eax
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f3f30
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.004f5e00
add esp, 8
mov esi, eax
jmp 0x4f3f30
push 0x66c6ba
call dword [0x67e0e4]
add esp, 4
mov esi, eax
jmp 0x4f3f30
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.004f4630
add esp, 0xc
mov esi, eax
jmp 0x4f3f30
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x4f3c6d
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4f3c6d
inc ecx
cmp ecx, edx
jb 0x4f3c60
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4f3c85
sub eax, 2
je 0x4f3c8a
xor esi, esi
jmp 0x4f3f2c
mov edi, 0x6083c0
cmp ecx, edx
jb 0x4f3c95
xor esi, esi
jmp 0x4f3f2c
cmp byte [ecx], 0x5a
jne 0x4f3ca6
mov ecx, 0x6083c4
mov edx, 0x6083c7
jmp 0x4f3ca7
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.004d4870
add esp, 0x28
mov esi, eax
jmp 0x4f3f2c
mov ebp, dword [esp + 0x68]
mov edi, 0x66c6ba
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x4f3cfd
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4f3cfd
inc ecx
cmp ecx, esi
jb 0x4f3cf0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4f3d2b
sub eax, 1
je 0x4f3d26
sub eax, 1
je 0x4f3d1f
xor esi, esi
jmp 0x4f3f25
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4f3d2d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x4f3d8c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4f3d41
cmp bl, 0x2c
jne 0x4f3d71
inc ecx
inc eax
cmp eax, esi
jae 0x4f3d53
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4f3d53
cmp dl, 0x39
jle 0x4f3d42
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4f3d71
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x4f3d6c
dec edi
sub edx, 1
jne 0x4f3d61
mov edi, 0x66c6ba
cmp eax, esi
jae 0x4f3d8c
cmp byte [eax], 0x5a
jne 0x4f3d86
mov eax, str._GMT
mov esi, 0x608390
jmp 0x4f3d8c
mov edi, 0x670d58
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x66c6ba
mov eax, 0x671100
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.004d4870
add esp, 0x38
mov esi, eax
jmp 0x4f3f25
mov edi, dword [esp + 0x6c]
add ecx, 0xfffffff4
mov esi, dword [esp + 0x68]
mov ebp, 1
sub edi, esi
cmp ecx, 0x12
ja case.0x4f3df4.13
movzx eax, byte [ecx + 0x4f42c0]
jmp dword [eax*4 + 0x4f42b0]
mov ebp, 2
jmp case.0x4f3df4.12
mov ebp, 4
xor edx, edx
mov eax, edi
div ebp
test edx, edx
jne case.0x4f3df4.13
mov eax, edi
div ebp
cmp eax, 0x3fffffff
ja case.0x4f3df4.13
lea eax, [eax*4 + 1]
push eax
call dword [0x67e0d8]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4f3df4.13
cmp dword [esp + 0x14], 0xc
jne 0x4f3e5e
test edi, edi
je 0x4f3e55
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4f3f1e
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x4f3e55
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4f3e83
sub eax, 2
jne 0x4f3e8c
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 0x4f3efa
cmp ecx, 0x800
jb 0x4f3ee6
cmp ecx, 0x10000
jb 0x4f3ed2
cmp ecx, 0x200000
jae 0x4f3f0f
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 0x4f3e66
mov byte [edi + ebx], 0
jmp 0x4f3f1e
push ebx
call dword [0x67e0dc]
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.0x4f3b45.7
cmp byte [edi + 0x88c], 0
je 0x4f3f51
push esi
push str.Signature
push ebp
push edi
call fcn.004cc620
add esp, 0x10
test ebp, ebp
jne 0x4f3f64
push esi
push str.___Signature:__s_n
push edi
call fcn.004d14b0
add esp, 0xc
push esi
call dword [0x67e0dc]
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.004eb2d0
add esp, 0x18
test eax, eax
jne 0x4f3fbf
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x67e0d8]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4f3fca
push dword [esp + 0x20]
call dword [0x67e0dc]
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 0x4f4028
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x4f4027
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x4f4022
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x4f401d
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4f3fd4
jmp 0x4f4028
add esi, 3
jmp 0x4f4028
add esi, 2
jmp 0x4f4028
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x4f4055
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.004f4710
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x4f4037
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 0x4f40b6
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x4f40b5
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x4f40b0
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x4f40ab
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4f4062
jmp 0x4f40b6
add esi, 3
jmp 0x4f40b6
add esi, 2
jmp 0x4f40b6
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x67e0dc]
mov ebp, dword [esp + 0x1c]
add esp, 4
cmp byte [ebp + 0x88c], 0
je 0x4f40f2
push ebx
push str.Cert
push dword [esp + 0x134]
push ebp
call fcn.004cc620
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x4f410b
push ebx
push 0x600830
push ebp
call fcn.004d14b0
add esp, 0xc
push ebx
call dword [0x67e0dc]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret