Function at 0x4871c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x114
push ebx
push ebp
mov ebp, dword [esp + 0x120]
xor ebx, ebx
push edi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x10], ebx
cmp byte [ebp + 0x46c], bl
jne 0x4871f5
test edi, edi
je 0x4871f5
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x114
ret
push dword [esp + 0x130]
lea eax, [esp + 0x24]
push dword [esp + 0x130]
push eax
call fcn.00488a50
add esp, 0xc
test eax, eax
je 0x487223
pop edi
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.00488d50
mov esi, eax
add esp, 4
test esi, esi
je case.0x488282.7
cmp byte [ebp + 0x46c], bl
je 0x487264
push esi
push str.Subject
push edi
push ebp
call fcn.0044ed50
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x488727
test edi, edi
jne 0x487278
push esi
push edi
push str._2d_Subject:__s
push ebp
call fcn.00454970
add esp, 0x10
push esi
call dword [0x4a8004]
lea eax, [esp + 0x78]
push eax
call fcn.00488d50
mov esi, eax
add esp, 8
test esi, esi
je case.0x488282.7
cmp byte [ebp + 0x46c], 0
je 0x4872b5
push esi
push str.Issuer
push edi
push ebp
call fcn.0044ed50
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test edi, edi
jne 0x4872c8
push esi
push str.___Issuer:__s
push ebp
call fcn.00454970
add esp, 0xc
push esi
call dword [0x4a8004]
add esp, 4
test ebx, ebx
jne 0x487339
mov ecx, dword [esp + 0x38]
xor esi, esi
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jae 0x4872f1
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x4872e4
cmp byte [ebp + 0x46c], 0
je 0x48734d
push esi
push 0x49c624
call fcn.00459070
mov edi, eax
add esp, 8
test edi, edi
je case.0x488282.7
push edi
push str.Version
push dword [esp + 0x134]
push ebp
call fcn.0044ed50
mov ebx, eax
push edi
mov dword [esp + 0x28], ebx
call dword [0x4a8004]
add esp, 0x14
test ebx, ebx
je 0x487346
pop esi
pop edi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x114
ret
mov edi, dword [esp + 0x12c]
test edi, edi
jne 0x487364
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx_
push ebp
call fcn.00454970
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x488282.7
movzx ebp, byte [esp + 0x51]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x488282.7
movzx eax, byte [eax + 0x4888c4]
mov ebx, 0x49e850
mov edx, str.FALSE
jmp dword [eax*4 + 0x48889c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x4873ae
xor esi, esi
jmp 0x48777c
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x4a800c]
add esp, 4
mov esi, eax
jmp 0x48777c
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x4873df
xor esi, esi
jmp 0x48777c
cmp eax, 4
jbe 0x4873f5
push esi
push edx
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x48777c
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax + eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x487400
cmp ecx, 0xa
mov eax, 0x49e038
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.00459070
add esp, 0xc
mov esi, eax
jmp 0x48777c
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x487442
xor esi, esi
jmp 0x48777c
push ecx
push eax
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x48777c
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x48777c
push 0x49e850
call dword [0x4a800c]
add esp, 4
mov esi, eax
jmp 0x48777c
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.00488db0
add esp, 0xc
mov esi, eax
jmp 0x48777c
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x4874b3
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4874b3
inc ecx
cmp ecx, edx
jb 0x4874a6
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4874cb
sub eax, 2
je 0x4874d0
xor esi, esi
jmp 0x487775
mov edi, 0x49e078
cmp ecx, edx
jb 0x4874db
xor esi, esi
jmp 0x487775
cmp byte [ecx], 0x5a
jne 0x4874ec
mov ecx, 0x49e07c
mov edx, 0x49e07f
jmp 0x4874ed
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.00459070
add esp, 0x28
mov esi, eax
jmp 0x487775
mov ebp, dword [esp + 0x48]
mov esi, 0x49e850
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x487543
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x487543
inc ecx
cmp ecx, edi
jb 0x487536
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x487571
sub eax, 1
je 0x48756c
sub eax, 1
je 0x487565
xor esi, esi
jmp 0x487775
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x487573
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4875d2
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x487587
cmp bl, 0x2c
jne 0x4875b7
inc ecx
inc eax
cmp eax, edi
jae 0x487599
mov dl, byte [eax]
cmp dl, 0x30
jl 0x487599
cmp dl, 0x39
jle 0x487588
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4875b7
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4875b2
dec esi
sub edx, 1
jne 0x4875a7
mov esi, 0x49e850
cmp eax, edi
jae 0x4875d2
cmp byte [eax], 0x5a
jne 0x4875cc
mov eax, str._GMT
mov edi, 0x49e048
jmp 0x4875d2
mov esi, 0x49eac8
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x49e850
mov eax, 0x4943cc
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.00459070
add esp, 0x38
mov esi, eax
jmp 0x487775
mov edi, dword [esp + 0x4c]
lea eax, [ebp - 0xc]
mov esi, dword [esp + 0x48]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x48763e.13
movzx eax, byte [eax + 0x4888f4]
jmp dword [eax*4 + 0x4888e4]
mov ecx, 2
jmp 0x487651
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x48763e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x48763e.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x48763e.13
cmp ebp, 0xc
jne 0x4876aa
test edi, edi
je 0x4876a1
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x48776e
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x4876a1
mov ebp, dword [esp + 0x18]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4876d3
sub eax, 2
jne 0x4876dc
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 0x48774a
cmp ecx, 0x800
jb 0x487736
cmp ecx, 0x10000
jb 0x487722
cmp ecx, 0x200000
jae 0x48775f
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 0x4876b6
mov byte [edi + ebx], 0
jmp 0x48776e
push ebx
call dword [0x4a8004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
mov edi, dword [esp + 0x12c]
test esi, esi
je case.0x488282.7
mov ebx, dword [esp + 0x128]
cmp byte [ebx + 0x46c], 0
je 0x4877ac
push esi
push str.Serial_Number
push edi
push ebx
call fcn.0044ed50
mov edi, eax
add esp, 0x10
mov dword [esp + 0x14], edi
jmp 0x4877b0
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x12c]
test ebp, ebp
jne 0x4877ca
push esi
push str.___Serial_Number:__s
push ebx
call fcn.00454970
add esp, 0xc
push esi
call dword [0x4a8004]
add esp, 4
test edi, edi
jne 0x4886c0
push dword [esp + 0x5c]
lea eax, [esp + 0x118]
push dword [esp + 0x5c]
push eax
call fcn.004896e0
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x488282.7
cmp byte [ebx + 0x46c], 0
je 0x48781d
push esi
push str.Signature_Algorithm
push ebp
push ebx
call fcn.0044ed50
mov edi, eax
add esp, 0x10
mov dword [esp + 0x14], edi
test ebp, ebp
jne 0x487830
push esi
push str.___Signature_Algorithm:__s
push ebx
call fcn.00454970
add esp, 0xc
push esi
call dword [0x4a8004]
add esp, 4
test edi, edi
jne 0x4886c0
cmp byte [esp + 0x92], 0
jne case.0x488282.7
movzx ebp, byte [esp + 0x91]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x488282.7
movzx eax, byte [eax + 0x488930]
jmp dword [eax*4 + 0x488908]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x48788e
xor esi, esi
jmp 0x487c96
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4a800c]
add esp, 4
mov esi, eax
jmp 0x487c96
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x4878ca
xor esi, esi
jmp 0x487c96
cmp eax, 4
jbe 0x4878e0
push esi
push edx
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x487c96
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4878e6
push ecx
cmp ecx, 0xa
mov eax, 0x49e038
mov ecx, 0x49e850
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00459070
add esp, 0xc
mov esi, eax
jmp 0x487c96
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x487933
xor esi, esi
jmp 0x487c96
push ecx
push eax
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x487c96
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x487c96
push 0x49e850
call dword [0x4a800c]
add esp, 4
mov esi, eax
jmp 0x487c96
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.00488db0
add esp, 0xc
mov esi, eax
jmp 0x487c96
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x4879bd
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4879bd
inc ecx
cmp ecx, edx
jb 0x4879b0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4879d5
sub eax, 2
je 0x4879da
xor esi, esi
jmp 0x487c92
mov edi, 0x49e078
cmp ecx, edx
jb 0x4879e5
xor esi, esi
jmp 0x487c92
cmp byte [ecx], 0x5a
jne 0x4879f6
mov ecx, 0x49e07c
mov edx, 0x49e07f
jmp 0x4879f7
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.00459070
add esp, 0x28
mov esi, eax
jmp 0x487c92
mov ebp, dword [esp + 0x88]
mov esi, 0x49e850
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x487a53
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x487a53
inc ecx
cmp ecx, edi
jb 0x487a46
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x487a81
sub eax, 1
je 0x487a7c
sub eax, 1
je 0x487a75
xor esi, esi
jmp 0x487c92
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x487a83
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x487ae2
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x487a97
cmp bl, 0x2c
jne 0x487ac7
inc ecx
inc eax
cmp eax, edi
jae 0x487aa9
mov dl, byte [eax]
cmp dl, 0x30
jl 0x487aa9
cmp dl, 0x39
jle 0x487a98
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x487ac7
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x487ac2
dec esi
sub edx, 1
jne 0x487ab7
mov esi, 0x49e850
cmp eax, edi
jae 0x487ae2
cmp byte [eax], 0x5a
jne 0x487adc
mov eax, str._GMT
mov edi, 0x49e048
jmp 0x487ae2
mov esi, 0x49eac8
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x49e850
mov eax, 0x4943cc
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.00459070
add esp, 0x38
mov esi, eax
jmp 0x487c92
mov edi, dword [esp + 0x8c]
lea eax, [ebp - 0xc]
mov esi, dword [esp + 0x88]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x487b54.13
movzx eax, byte [eax + 0x488960]
jmp dword [eax*4 + 0x488950]
mov ecx, 2
jmp 0x487b67
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x487b54.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x487b54.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x487b54.13
cmp ebp, 0xc
jne 0x487bc0
test edi, edi
je 0x487bb7
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x487c8b
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x487bb7
mov ebp, dword [esp + 0x18]
nop
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x487bed
sub eax, 2
jne 0x487bf6
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 0x487c64
cmp ecx, 0x800
jb 0x487c50
cmp ecx, 0x10000
jb 0x487c3c
cmp ecx, 0x200000
jae 0x487c7c
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 0x487bd0
mov byte [edi + ebx], 0
jmp 0x487c8b
push ebx
call dword [0x4a8004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
mov edi, dword [esp + 0x14]
test esi, esi
je case.0x488282.7
mov ebx, dword [esp + 0x128]
cmp byte [ebx + 0x46c], 0
je 0x487cca
push esi
push str.Start_Date
push dword [esp + 0x134]
push ebx
call fcn.0044ed50
mov edi, eax
add esp, 0x10
mov dword [esp + 0x14], edi
cmp dword [esp + 0x12c], 0
jne 0x487ce3
push esi
push str.___Start_Date:__s
push ebx
call fcn.00454970
add esp, 0xc
push esi
call dword [0x4a8004]
add esp, 4
test edi, edi
jne 0x4886c0
cmp byte [esp + 0xa2], 0
jne case.0x488282.7
movzx ebp, byte [esp + 0xa1]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x488282.7
movzx eax, byte [eax + 0x48899c]
jmp dword [eax*4 + 0x488974]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x487d41
xor esi, esi
jmp 0x488156
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4a800c]
add esp, 4
mov esi, eax
jmp 0x488156
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x487d7d
xor esi, esi
jmp 0x488156
cmp eax, 4
jbe 0x487d93
push esi
push edx
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x488156
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x487da0
push ecx
cmp ecx, 0xa
mov eax, 0x49e038
mov ecx, 0x49e850
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00459070
add esp, 0xc
mov esi, eax
jmp 0x488156
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x487ded
xor esi, esi
jmp 0x488156
push ecx
push eax
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x488156
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x488156
push 0x49e850
call dword [0x4a800c]
add esp, 4
mov esi, eax
jmp 0x488156
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.00488db0
add esp, 0xc
mov esi, eax
jmp 0x488156
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x487e70
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x487e70
inc ecx
cmp ecx, edx
jb 0x487e63
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x487e88
sub eax, 2
je 0x487e8d
xor esi, esi
jmp 0x488152
mov edi, 0x49e078
cmp ecx, edx
jb 0x487e98
xor esi, esi
jmp 0x488152
cmp byte [ecx], 0x5a
jne 0x487ea9
mov ecx, 0x49e07c
mov edx, 0x49e07f
jmp 0x487eaa
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.00459070
add esp, 0x28
mov esi, eax
jmp 0x488152
mov ebp, dword [esp + 0x98]
mov esi, 0x49e850
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x487f0d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x487f0d
inc ecx
cmp ecx, edi
jb 0x487f00
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x487f3b
sub eax, 1
je 0x487f36
sub eax, 1
je 0x487f2f
xor esi, esi
jmp 0x488152
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x487f3d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x487f9c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x487f51
cmp bl, 0x2c
jne 0x487f81
inc ecx
inc eax
cmp eax, edi
jae 0x487f63
mov dl, byte [eax]
cmp dl, 0x30
jl 0x487f63
cmp dl, 0x39
jle 0x487f52
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x487f81
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x487f7c
dec esi
sub edx, 1
jne 0x487f71
mov esi, 0x49e850
cmp eax, edi
jae 0x487f9c
cmp byte [eax], 0x5a
jne 0x487f96
mov eax, str._GMT
mov edi, 0x49e048
jmp 0x487f9c
mov esi, 0x49eac8
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x49e850
mov eax, 0x4943cc
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.00459070
add esp, 0x38
mov esi, eax
jmp 0x488152
mov edi, dword [esp + 0x9c]
lea eax, [ebp - 0xc]
mov esi, dword [esp + 0x98]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x48800e.13
movzx eax, byte [eax + 0x4889cc]
jmp dword [eax*4 + 0x4889bc]
mov ecx, 2
jmp 0x488021
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x48800e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x48800e.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x48800e.13
cmp ebp, 0xc
jne 0x48807a
test edi, edi
je 0x488071
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x48814b
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x488071
mov ebp, dword [esp + 0x18]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4880ad
sub eax, 2
jne 0x4880b6
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 0x488124
cmp ecx, 0x800
jb 0x488110
cmp ecx, 0x10000
jb 0x4880fc
cmp ecx, 0x200000
jae 0x48813c
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 0x488090
mov byte [edi + ebx], 0
jmp 0x48814b
push ebx
call dword [0x4a8004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
mov edi, dword [esp + 0x14]
test esi, esi
je case.0x488282.7
mov ebp, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
cmp byte [ebp + 0x46c], 0
je 0x48818b
push esi
push str.Expire_Date
push ebx
push ebp
call fcn.0044ed50
mov edi, eax
add esp, 0x10
mov dword [esp + 0x14], edi
test ebx, ebx
jne 0x48819e
push esi
push str.___Expire_Date:__s
push ebp
call fcn.00454970
add esp, 0xc
push esi
call dword [0x4a8004]
add esp, 4
test edi, edi
jne 0x4886c0
push dword [esp + 0xcc]
lea eax, [esp + 0x118]
push dword [esp + 0xcc]
push eax
call fcn.004896e0
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x488282.7
cmp byte [ebp + 0x46c], 0
je 0x4881fb
push esi
push str.Public_Key_Algorithm
push ebx
push ebp
call fcn.0044ed50
mov edi, eax
add esp, 0x10
mov dword [esp + 0x14], edi
test edi, edi
jne 0x488249
test ebx, ebx
jne 0x48820e
push esi
push str.___Public_Key_Algorithm:__s
push ebp
call fcn.00454970
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebx
push ebp
call fcn.00488f20
add esp, 0x14
test eax, eax
je 0x488249
push esi
mov edi, 0x1b
call dword [0x4a8004]
add esp, 4
mov eax, edi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
push esi
call dword [0x4a8004]
add esp, 4
test edi, edi
jne 0x4886c0
cmp byte [esp + 0x72], 0
jne case.0x488282.7
movzx ecx, byte [esp + 0x71]
mov dword [esp + 0x18], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x488282.7
movzx eax, byte [eax + 0x488a08]
jmp dword [eax*4 + 0x4889e0]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x48829f
xor esi, esi
jmp 0x488670
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x4a800c]
add esp, 4
mov esi, eax
jmp 0x488670
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x4882d5
xor esi, esi
jmp 0x488670
cmp eax, 4
jbe 0x4882eb
push esi
push edx
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x488670
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4882f1
push ecx
cmp ecx, 0xa
mov eax, 0x49e038
mov ecx, 0x49e850
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00459070
add esp, 0xc
mov esi, eax
jmp 0x488670
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x488338
xor esi, esi
jmp 0x488670
push ecx
push eax
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x488670
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.0048a5d0
add esp, 8
mov esi, eax
jmp 0x488670
push 0x49e850
call dword [0x4a800c]
add esp, 4
mov esi, eax
jmp 0x488670
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.00488db0
add esp, 0xc
mov esi, eax
jmp 0x488670
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x4883ad
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4883ad
inc ecx
cmp ecx, edx
jb 0x4883a0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4883c5
sub eax, 2
je 0x4883ca
xor esi, esi
jmp 0x48866c
mov edi, 0x49e078
cmp ecx, edx
jb 0x4883d5
xor esi, esi
jmp 0x48866c
cmp byte [ecx], 0x5a
jne 0x4883e6
mov ecx, 0x49e07c
mov edx, 0x49e07f
jmp 0x4883e7
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.00459070
add esp, 0x28
mov esi, eax
jmp 0x48866c
mov ebp, dword [esp + 0x68]
mov esi, 0x49e850
mov edi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, edi
jae 0x48843d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x48843d
inc ecx
cmp ecx, edi
jb 0x488430
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x48846b
sub eax, 1
je 0x488466
sub eax, 1
je 0x48845f
xor esi, esi
jmp 0x488665
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x48846d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4884cc
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x488481
cmp bl, 0x2c
jne 0x4884b1
inc ecx
inc eax
cmp eax, edi
jae 0x488493
mov dl, byte [eax]
cmp dl, 0x30
jl 0x488493
cmp dl, 0x39
jle 0x488482
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4884b1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4884ac
dec esi
sub edx, 1
jne 0x4884a1
mov esi, 0x49e850
cmp eax, edi
jae 0x4884cc
cmp byte [eax], 0x5a
jne 0x4884c6
mov eax, str._GMT
mov edi, 0x49e048
jmp 0x4884cc
mov esi, 0x49eac8
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x49e850
mov eax, 0x4943cc
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.00459070
add esp, 0x38
mov esi, eax
jmp 0x488665
mov edi, dword [esp + 0x6c]
add ecx, 0xfffffff4
mov esi, dword [esp + 0x68]
mov ebp, 1
sub edi, esi
cmp ecx, 0x12
ja case.0x488534.13
movzx eax, byte [ecx + 0x488a38]
jmp dword [eax*4 + 0x488a28]
mov ebp, 2
jmp case.0x488534.12
mov ebp, 4
xor edx, edx
mov eax, edi
div ebp
test edx, edx
jne case.0x488534.13
mov eax, edi
div ebp
cmp eax, 0x3fffffff
ja case.0x488534.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x488534.13
cmp dword [esp + 0x18], 0xc
jne 0x48859e
test edi, edi
je 0x488595
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x48865e
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x488595
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x4885c3
sub eax, 2
jne 0x4885cc
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 0x48863a
cmp ecx, 0x800
jb 0x488626
cmp ecx, 0x10000
jb 0x488612
cmp ecx, 0x200000
jae 0x48864f
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 0x4885a6
mov byte [edi + ebx], 0
jmp 0x48865e
push ebx
call dword [0x4a8004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
mov ebp, dword [esp + 0x128]
mov edi, dword [esp + 0x14]
test esi, esi
je case.0x488282.7
cmp byte [ebp + 0x46c], 0
je 0x488699
push esi
push str.Signature
push dword [esp + 0x134]
push ebp
call fcn.0044ed50
add esp, 0x10
mov edi, eax
cmp dword [esp + 0x12c], 0
jne 0x4886b2
push esi
push str.___Signature:__s
push ebp
call fcn.00454970
add esp, 0xc
push esi
call dword [0x4a8004]
add esp, 4
test edi, edi
je 0x4886cd
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x34]
sub eax, ecx
push eax
push ecx
push ebp
call fcn.0046c600
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x48888d
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x488732
push dword [esp + 0x20]
call dword [0x4a8004]
add esp, 4
mov eax, 0x1b
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
mov ecx, str._____BEGIN_CERTIFICATE_____
lea edx, [ebx + 2]
xor esi, esi
nop dword [eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x488794
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x488793
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x48878e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x488789
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x488740
jmp 0x488794
add esi, 3
jmp 0x488794
add esi, 2
jmp 0x488794
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x4887c1
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.00488e90
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x4887a3
lea edx, [edi + 2]
xor esi, esi
mov ecx, str._____END_CERTIFICATE_____
add edx, ebx
nop dword [eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x488824
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x488823
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x48881e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x488819
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4887d0
jmp 0x488824
add esi, 3
jmp 0x488824
add esi, 2
jmp 0x488824
inc esi
lea eax, [ebx + edi]
mov byte [esi + eax], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x4a8004]
mov eax, dword [esp + 0x12c]
add esp, 4
mov esi, dword [esp + 0x12c]
cmp byte [eax + 0x46c], 0
je 0x488870
push ebx
push str.Cert
push esi
push eax
call fcn.0044ed50
mov ebp, eax
add esp, 0x10
mov eax, dword [esp + 0x128]
test esi, esi
jne 0x488883
push ebx
push 0x49f098
push eax
call fcn.00454970
add esp, 0xc
push ebx
call dword [0x4a8004]
add esp, 4
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x114
ret