Function at 0x4a4930
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 0x4a4964
test ebx, ebx
je 0x4a4964
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.004a60c0
add esp, 0xc
test eax, eax
je 0x4a4991
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.004a63c0
mov esi, eax
add esp, 4
test esi, esi
je case.0x4a5925.7
cmp byte [ebp + 0x89c], 0
je 0x4a49c6
push esi
push str.Subject
push ebx
push ebp
call fcn.00471650
add esp, 0x10
test ebx, ebx
jne 0x4a49da
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.004769a0
add esp, 0x10
push esi
call dword [0x82b5a8]
lea eax, [esp + 0x78]
push eax
call fcn.004a63c0
mov esi, eax
add esp, 8
test esi, esi
je case.0x4a5925.7
cmp byte [ebp + 0x89c], 0
je 0x4a4a11
push esi
push str.Issuer
push ebx
push ebp
call fcn.00471650
add esp, 0x10
test ebx, ebx
jne 0x4a4a24
push esi
push str.___Issuer:__s_n
push ebp
call fcn.004769a0
add esp, 0xc
push esi
call dword [0x82b5a8]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x4a4a4d
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x4a4a40
cmp byte [ebp + 0x89c], 0
je 0x4a4a85
push esi
push 0x4f6228
call fcn.00479920
mov edi, eax
add esp, 8
test edi, edi
je case.0x4a5925.7
push edi
push str.Version
push ebx
push ebp
call fcn.00471650
push edi
call dword [0x82b5a8]
add esp, 0x14
test ebx, ebx
jne 0x4a4a9c
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.004769a0
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x4a5925.7
movzx ebp, byte [esp + 0x51]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4a5925.7
movzx eax, byte [eax + 0x4a5f2c]
mov ebx, 0x4f8037
mov edx, 0x4ee5e0
jmp dword [eax*4 + 0x4a5f04]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x4a4ae6
xor esi, esi
jmp 0x4a4eaf
cmp byte [ecx], 0
mov eax, 0x4ee5d8
cmove eax, edx
push eax
call dword [0x82b5b0]
add esp, 4
mov esi, eax
jmp 0x4a4eaf
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x4a4b17
xor esi, esi
jmp 0x4a4eaf
cmp eax, 4
jbe 0x4a4b2d
push esi
push edx
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a4eaf
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4a4b33
cmp ecx, 0xa
mov eax, 0x4f799c
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.00479920
add esp, 0xc
mov esi, eax
jmp 0x4a4eaf
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x4a4b75
xor esi, esi
jmp 0x4a4eaf
push ecx
push eax
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a4eaf
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a4eaf
push 0x4f8037
call dword [0x82b5b0]
add esp, 4
mov esi, eax
jmp 0x4a4eaf
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.004a6410
add esp, 0xc
mov esi, eax
jmp 0x4a4eaf
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x4a4bed
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4a4bed
inc ecx
cmp ecx, edx
jb 0x4a4be0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4a4c05
sub eax, 2
je 0x4a4c0a
xor esi, esi
jmp 0x4a4eaf
mov edi, 0x4f79dc
cmp ecx, edx
jb 0x4a4c15
xor esi, esi
jmp 0x4a4eaf
cmp byte [ecx], 0x5a
jne 0x4a4c26
mov ecx, 0x4f79e0
mov edx, 0x4f79e3
jmp 0x4a4c27
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.00479920
add esp, 0x28
mov esi, eax
jmp 0x4a4eaf
mov ebp, dword [esp + 0x48]
mov esi, 0x4f8037
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x4a4c7d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4a4c7d
inc ecx
cmp ecx, edi
jb 0x4a4c70
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4a4cab
sub eax, 1
je 0x4a4ca6
sub eax, 1
je 0x4a4c9f
xor esi, esi
jmp 0x4a4eaf
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4a4cad
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4a4d0c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4a4cc1
cmp bl, 0x2c
jne 0x4a4cf1
inc ecx
inc eax
cmp eax, edi
jae 0x4a4cd3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4a4cd3
cmp dl, 0x39
jle 0x4a4cc2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4a4cf1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4a4cec
dec esi
sub edx, 1
jne 0x4a4ce1
mov esi, 0x4f8037
cmp eax, edi
jae 0x4a4d0c
cmp byte [eax], 0x5a
jne 0x4a4d06
mov eax, 0x4f79a8
mov edi, 0x4f79ac
jmp 0x4a4d0c
mov esi, 0x4f81f0
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4f8037
mov eax, 0x4f8054
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.00479920
add esp, 0x38
mov esi, eax
jmp 0x4a4eaf
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.0x4a4d78.13
movzx eax, byte [eax + 0x4a5f5c]
jmp dword [eax*4 + 0x4a5f4c]
mov ecx, 2
jmp 0x4a4d8b
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4a4d78.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4a4d78.13
lea eax, [eax*4 + 1]
push eax
call dword [0x82b5a4]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4a4d78.13
cmp ebp, 0xc
jne 0x4a4de4
test edi, edi
je 0x4a4ddb
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4a4ea8
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x4a4ddb
mov ebp, dword [esp + 0x14]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4a4e0d
sub eax, 2
jne 0x4a4e16
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 0x4a4e84
cmp ecx, 0x800
jb 0x4a4e70
cmp ecx, 0x10000
jb 0x4a4e5c
cmp ecx, 0x200000
jae 0x4a4e99
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 0x4a4df0
mov byte [edi + ebx], 0
jmp 0x4a4ea8
push ebx
call dword [0x82b5a8]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
test esi, esi
je case.0x4a5925.7
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x89c], 0
je 0x4a4edb
push esi
push str.Serial_Number
push ebx
push edi
call fcn.00471650
add esp, 0x10
test ebx, ebx
jne 0x4a4eee
push esi
push str.___Serial_Number:__s_n
push edi
call fcn.004769a0
add esp, 0xc
push esi
call dword [0x82b5a8]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.004a6cf0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x4a5925.7
cmp byte [edi + 0x89c], 0
je 0x4a4f30
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.00471650
add esp, 0x10
test ebx, ebx
jne 0x4a4f43
push esi
push str.___Signature_Algorithm:__s_n
push edi
call fcn.004769a0
add esp, 0xc
push esi
call dword [0x82b5a8]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x4a5925.7
movzx ebp, byte [esp + 0x91]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4a5925.7
movzx eax, byte [eax + 0x4a5f98]
jmp dword [eax*4 + 0x4a5f70]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x4a4f99
xor esi, esi
jmp 0x4a53a6
cmp byte [ecx], 0
mov eax, 0x4ee5d8
mov ecx, 0x4ee5e0
cmove eax, ecx
push eax
call dword [0x82b5b0]
add esp, 4
mov esi, eax
jmp 0x4a53a6
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x4a4fd5
xor esi, esi
jmp 0x4a53a6
cmp eax, 4
jbe 0x4a4feb
push esi
push edx
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a53a6
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4a4ff1
push ecx
cmp ecx, 0xa
mov eax, 0x4f799c
mov ecx, 0x4f8037
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00479920
add esp, 0xc
mov esi, eax
jmp 0x4a53a6
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x4a503e
xor esi, esi
jmp 0x4a53a6
push ecx
push eax
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a53a6
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a53a6
push 0x4f8037
call dword [0x82b5b0]
add esp, 4
mov esi, eax
jmp 0x4a53a6
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.004a6410
add esp, 0xc
mov esi, eax
jmp 0x4a53a6
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x4a50c1
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4a50c1
inc ecx
cmp ecx, edx
jb 0x4a50b4
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4a50d9
sub eax, 2
je 0x4a50de
xor esi, esi
jmp 0x4a53a2
mov edi, 0x4f79dc
cmp ecx, edx
jb 0x4a50e9
xor esi, esi
jmp 0x4a53a2
cmp byte [ecx], 0x5a
jne 0x4a50fa
mov ecx, 0x4f79e0
mov edx, 0x4f79e3
jmp 0x4a50fb
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.00479920
add esp, 0x28
mov esi, eax
jmp 0x4a53a2
mov ebp, dword [esp + 0x88]
mov esi, 0x4f8037
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x4a515d
nop word [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4a515d
inc ecx
cmp ecx, edi
jb 0x4a5150
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4a518b
sub eax, 1
je 0x4a5186
sub eax, 1
je 0x4a517f
xor esi, esi
jmp 0x4a53a2
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4a518d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4a51ec
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4a51a1
cmp bl, 0x2c
jne 0x4a51d1
inc ecx
inc eax
cmp eax, edi
jae 0x4a51b3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4a51b3
cmp dl, 0x39
jle 0x4a51a2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4a51d1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4a51cc
dec esi
sub edx, 1
jne 0x4a51c1
mov esi, 0x4f8037
cmp eax, edi
jae 0x4a51ec
cmp byte [eax], 0x5a
jne 0x4a51e6
mov eax, 0x4f79a8
mov edi, 0x4f79ac
jmp 0x4a51ec
mov esi, 0x4f81f0
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4f8037
mov eax, 0x4f8054
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.00479920
add esp, 0x38
mov esi, eax
jmp 0x4a53a2
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.0x4a525e.13
movzx eax, byte [eax + 0x4a5fc8]
jmp dword [eax*4 + 0x4a5fb8]
mov ecx, 2
jmp 0x4a5271
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4a525e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4a525e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x82b5a4]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4a525e.13
cmp ebp, 0xc
jne 0x4a52ca
test edi, edi
je 0x4a52c1
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4a539b
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x4a52c1
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4a52fd
sub eax, 2
jne 0x4a5306
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 0x4a5374
cmp ecx, 0x800
jb 0x4a5360
cmp ecx, 0x10000
jb 0x4a534c
cmp ecx, 0x200000
jae 0x4a538c
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 0x4a52e0
mov byte [edi + ebx], 0
jmp 0x4a539b
push ebx
call dword [0x82b5a8]
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.0x4a5925.7
cmp byte [edi + 0x89c], 0
mov ebx, dword [esp + 0x12c]
je 0x4a53ce
push esi
push str.Start_Date
push ebx
push edi
call fcn.00471650
add esp, 0x10
test ebx, ebx
jne 0x4a53e1
push esi
push str.___Start_Date:__s_n
push edi
call fcn.004769a0
add esp, 0xc
push esi
call dword [0x82b5a8]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x4a5925.7
movzx ebp, byte [esp + 0xa1]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x4a5925.7
movzx eax, byte [eax + 0x4a6004]
jmp dword [eax*4 + 0x4a5fdc]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x4a5437
xor esi, esi
jmp 0x4a5846
cmp byte [ecx], 0
mov eax, 0x4ee5d8
mov ecx, 0x4ee5e0
cmove eax, ecx
push eax
call dword [0x82b5b0]
add esp, 4
mov esi, eax
jmp 0x4a5846
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x4a5473
xor esi, esi
jmp 0x4a5846
cmp eax, 4
jbe 0x4a5489
push esi
push edx
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a5846
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4a5490
push ecx
cmp ecx, 0xa
mov eax, 0x4f799c
mov ecx, 0x4f8037
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00479920
add esp, 0xc
mov esi, eax
jmp 0x4a5846
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x4a54dd
xor esi, esi
jmp 0x4a5846
push ecx
push eax
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a5846
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a5846
push 0x4f8037
call dword [0x82b5b0]
add esp, 4
mov esi, eax
jmp 0x4a5846
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.004a6410
add esp, 0xc
mov esi, eax
jmp 0x4a5846
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x4a5560
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4a5560
inc ecx
cmp ecx, edx
jb 0x4a5553
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4a5578
sub eax, 2
je 0x4a557d
xor esi, esi
jmp 0x4a5842
mov edi, 0x4f79dc
cmp ecx, edx
jb 0x4a5588
xor esi, esi
jmp 0x4a5842
cmp byte [ecx], 0x5a
jne 0x4a5599
mov ecx, 0x4f79e0
mov edx, 0x4f79e3
jmp 0x4a559a
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.00479920
add esp, 0x28
mov esi, eax
jmp 0x4a5842
mov ebp, dword [esp + 0x98]
mov esi, 0x4f8037
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x4a55fd
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4a55fd
inc ecx
cmp ecx, edi
jb 0x4a55f0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4a562b
sub eax, 1
je 0x4a5626
sub eax, 1
je 0x4a561f
xor esi, esi
jmp 0x4a5842
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4a562d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4a568c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4a5641
cmp bl, 0x2c
jne 0x4a5671
inc ecx
inc eax
cmp eax, edi
jae 0x4a5653
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4a5653
cmp dl, 0x39
jle 0x4a5642
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4a5671
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4a566c
dec esi
sub edx, 1
jne 0x4a5661
mov esi, 0x4f8037
cmp eax, edi
jae 0x4a568c
cmp byte [eax], 0x5a
jne 0x4a5686
mov eax, 0x4f79a8
mov edi, 0x4f79ac
jmp 0x4a568c
mov esi, 0x4f81f0
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x4f8037
mov eax, 0x4f8054
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.00479920
add esp, 0x38
mov esi, eax
jmp 0x4a5842
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.0x4a56fe.13
movzx eax, byte [eax + 0x4a6034]
jmp dword [eax*4 + 0x4a6024]
mov ecx, 2
jmp 0x4a5711
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4a56fe.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4a56fe.13
lea eax, [eax*4 + 1]
push eax
call dword [0x82b5a4]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4a56fe.13
cmp ebp, 0xc
jne 0x4a576a
test edi, edi
je 0x4a5761
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4a583b
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x4a5761
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4a579d
sub eax, 2
jne 0x4a57a6
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 0x4a5814
cmp ecx, 0x800
jb 0x4a5800
cmp ecx, 0x10000
jb 0x4a57ec
cmp ecx, 0x200000
jae 0x4a582c
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 0x4a5780
mov byte [edi + ebx], 0
jmp 0x4a583b
push ebx
call dword [0x82b5a8]
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.0x4a5925.7
cmp byte [edi + 0x89c], 0
mov ebp, dword [esp + 0x12c]
je 0x4a586e
push esi
push str.Expire_Date
push ebp
push edi
call fcn.00471650
add esp, 0x10
test ebp, ebp
jne 0x4a5881
push esi
push str.___Expire_Date:__s_n
push edi
call fcn.004769a0
add esp, 0xc
push esi
call dword [0x82b5a8]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.004a6cf0
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x4a5925.7
cmp byte [edi + 0x89c], 0
je 0x4a58c9
push esi
push str.Public_Key_Algorithm
push ebp
push edi
call fcn.00471650
add esp, 0x10
test ebp, ebp
jne 0x4a58dc
push esi
push str.___Public_Key_Algorithm:__s_n
push edi
call fcn.004769a0
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebp
push edi
call fcn.004a6580
push esi
call dword [0x82b5a8]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x4a5925.7
movzx ecx, byte [esp + 0x71]
mov dword [esp + 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x4a5925.7
movzx eax, byte [eax + 0x4a6070]
jmp dword [eax*4 + 0x4a6048]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x4a5942
xor esi, esi
jmp 0x4a5d10
cmp byte [ecx], 0
mov eax, 0x4ee5d8
mov ecx, 0x4ee5e0
cmove eax, ecx
push eax
call dword [0x82b5b0]
add esp, 4
mov esi, eax
jmp 0x4a5d10
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x4a5978
xor esi, esi
jmp 0x4a5d10
cmp eax, 4
jbe 0x4a598e
push esi
push edx
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a5d10
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4a5994
push ecx
cmp ecx, 0xa
mov eax, 0x4f799c
mov ecx, 0x4f8037
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00479920
add esp, 0xc
mov esi, eax
jmp 0x4a5d10
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x4a59db
xor esi, esi
jmp 0x4a5d10
push ecx
push eax
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a5d10
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.004a7be0
add esp, 8
mov esi, eax
jmp 0x4a5d10
push 0x4f8037
call dword [0x82b5b0]
add esp, 4
mov esi, eax
jmp 0x4a5d10
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.004a6410
add esp, 0xc
mov esi, eax
jmp 0x4a5d10
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x4a5a4d
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4a5a4d
inc ecx
cmp ecx, edx
jb 0x4a5a40
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4a5a65
sub eax, 2
je 0x4a5a6a
xor esi, esi
jmp 0x4a5d0c
mov edi, 0x4f79dc
cmp ecx, edx
jb 0x4a5a75
xor esi, esi
jmp 0x4a5d0c
cmp byte [ecx], 0x5a
jne 0x4a5a86
mov ecx, 0x4f79e0
mov edx, 0x4f79e3
jmp 0x4a5a87
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.00479920
add esp, 0x28
mov esi, eax
jmp 0x4a5d0c
mov ebp, dword [esp + 0x68]
mov edi, 0x4f8037
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x4a5add
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4a5add
inc ecx
cmp ecx, esi
jb 0x4a5ad0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4a5b0b
sub eax, 1
je 0x4a5b06
sub eax, 1
je 0x4a5aff
xor esi, esi
jmp 0x4a5d05
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4a5b0d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x4a5b6c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4a5b21
cmp bl, 0x2c
jne 0x4a5b51
inc ecx
inc eax
cmp eax, esi
jae 0x4a5b33
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4a5b33
cmp dl, 0x39
jle 0x4a5b22
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4a5b51
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x4a5b4c
dec edi
sub edx, 1
jne 0x4a5b41
mov edi, 0x4f8037
cmp eax, esi
jae 0x4a5b6c
cmp byte [eax], 0x5a
jne 0x4a5b66
mov eax, 0x4f79a8
mov esi, 0x4f79ac
jmp 0x4a5b6c
mov edi, 0x4f81f0
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x4f8037
mov eax, 0x4f8054
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.00479920
add esp, 0x38
mov esi, eax
jmp 0x4a5d05
mov edi, dword [esp + 0x6c]
add ecx, 0xfffffff4
mov esi, dword [esp + 0x68]
mov ebp, 1
sub edi, esi
cmp ecx, 0x12
ja case.0x4a5bd4.13
movzx eax, byte [ecx + 0x4a60a0]
jmp dword [eax*4 + 0x4a6090]
mov ebp, 2
jmp case.0x4a5bd4.12
mov ebp, 4
xor edx, edx
mov eax, edi
div ebp
test edx, edx
jne case.0x4a5bd4.13
mov eax, edi
div ebp
cmp eax, 0x3fffffff
ja case.0x4a5bd4.13
lea eax, [eax*4 + 1]
push eax
call dword [0x82b5a4]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x4a5bd4.13
cmp dword [esp + 0x14], 0xc
jne 0x4a5c3e
test edi, edi
je 0x4a5c35
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x4a5cfe
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x4a5c35
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4a5c63
sub eax, 2
jne 0x4a5c6c
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 0x4a5cda
cmp ecx, 0x800
jb 0x4a5cc6
cmp ecx, 0x10000
jb 0x4a5cb2
cmp ecx, 0x200000
jae 0x4a5cef
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 0x4a5c46
mov byte [edi + ebx], 0
jmp 0x4a5cfe
push ebx
call dword [0x82b5a8]
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.0x4a5925.7
cmp byte [edi + 0x89c], 0
je 0x4a5d31
push esi
push str.Signature
push ebp
push edi
call fcn.00471650
add esp, 0x10
test ebp, ebp
jne 0x4a5d44
push esi
push str.___Signature:__s_n
push edi
call fcn.004769a0
add esp, 0xc
push esi
call dword [0x82b5a8]
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.0048cb70
add esp, 0x18
test eax, eax
jne 0x4a5d9f
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x82b5a4]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4a5daa
push dword [esp + 0x20]
call dword [0x82b5a8]
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 0x4a5e08
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x4a5e07
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x4a5e02
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x4a5dfd
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4a5db4
jmp 0x4a5e08
add esi, 3
jmp 0x4a5e08
add esi, 2
jmp 0x4a5e08
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x4a5e35
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.004a64f0
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x4a5e17
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 0x4a5e96
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x4a5e95
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x4a5e90
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x4a5e8b
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4a5e42
jmp 0x4a5e96
add esi, 3
jmp 0x4a5e96
add esi, 2
jmp 0x4a5e96
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x82b5a8]
mov ebp, dword [esp + 0x1c]
add esp, 4
cmp byte [ebp + 0x89c], 0
je 0x4a5ed2
push ebx
push str.Cert
push dword [esp + 0x134]
push ebp
call fcn.00471650
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x4a5eeb
push ebx
push 0x4ee2f0
push ebp
call fcn.004769a0
add esp, 0xc
push ebx
call dword [0x82b5a8]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret