Function at 0x1021b6c0
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 + 0x450], bl
jne 0x1021b6f5
test edi, edi
je 0x1021b6f5
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.1021cf70
add esp, 0xc
test eax, eax
je 0x1021b723
pop edi
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.1021d280
mov esi, eax
add esp, 4
test esi, esi
je case.0x1021c797.7
cmp byte [ebp + 0x450], bl
je 0x1021b764
push esi
push str.Subject
push edi
push ebp
call fcn.101e4c80
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x1021cc46
test edi, edi
jne 0x1021b778
push esi
push edi
push str._2d_Subject:__s
push ebp
call fcn.101e9df0
add esp, 0x10
push esi
call dword [0x106c122c]
lea eax, [esp + 0x78]
push eax
call fcn.1021d280
mov esi, eax
add esp, 8
test esi, esi
je case.0x1021c797.7
cmp byte [ebp + 0x450], 0
je 0x1021b7b5
push esi
push str.Issuer
push edi
push ebp
call fcn.101e4c80
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test edi, edi
jne 0x1021b7c8
push esi
push str.___Issuer:__s
push ebp
call fcn.101e9df0
add esp, 0xc
push esi
call dword [0x106c122c]
add esp, 4
test ebx, ebx
jne 0x1021b83a
mov ecx, dword [esp + 0x38]
xor esi, esi
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jae 0x1021b7f1
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x1021b7e4
cmp byte [ebp + 0x450], 0
je 0x1021b84e
push esi
push 0x1035fd4c
call fcn.101d9470
mov edi, eax
add esp, 8
test edi, edi
je case.0x1021c797.7
mov ebx, dword [esp + 0x12c]
push edi
push str.Version
push ebx
push ebp
call fcn.101e4c80
mov ebx, eax
push edi
mov dword [esp + 0x28], ebx
call dword [0x106c122c]
add esp, 0x14
test ebx, ebx
je 0x1021b847
pop esi
pop edi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x114
ret
mov edi, dword [esp + 0x12c]
test edi, edi
jne 0x1021b865
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx_
push ebp
call fcn.101e9df0
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x1021c797.7
movzx ebx, byte [esp + 0x51]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x1021c797.7
movzx eax, byte [eax + 0x1021cde0]
mov ebp, 0x1022f909
mov edx, str.FALSE
jmp dword [eax*4 + 0x1021cdb8]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x1021b8af
xor esi, esi
jmp 0x1021bc85
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x106c1234]
add esp, 4
mov esi, eax
jmp 0x1021bc85
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x1021b8e0
xor esi, esi
jmp 0x1021bc85
cmp eax, 4
jbe 0x1021b8f6
push esi
push edx
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021bc85
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 0x1021b900
cmp ecx, 0xa
mov eax, 0x10361714
push ecx
cmovb eax, ebp
push eax
push str._s_lx
call fcn.101d9470
add esp, 0xc
mov esi, eax
jmp 0x1021bc85
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x1021b942
xor esi, esi
jmp 0x1021bc85
push ecx
push eax
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021bc85
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021bc85
push 0x1022f909
call dword [0x106c1234]
add esp, 4
mov esi, eax
jmp 0x1021bc85
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.1021d2e0
add esp, 0xc
mov esi, eax
jmp 0x1021bc85
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x1021b9b3
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1021b9b3
inc ecx
cmp ecx, edx
jb 0x1021b9a6
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x1021b9cb
sub eax, 2
je 0x1021b9d0
xor esi, esi
jmp 0x1021bc85
mov edi, 0x10361754
cmp ecx, edx
jb 0x1021b9db
xor esi, esi
jmp 0x1021bc85
cmp byte [ecx], 0x5a
jne 0x1021b9ec
mov ecx, 0x10361758
mov edx, 0x1036175b
jmp 0x1021b9ed
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.101d9470
add esp, 0x28
mov esi, eax
jmp 0x1021bc85
mov ebp, dword [esp + 0x48]
mov esi, 0x1022f909
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x1021ba43
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1021ba43
inc ecx
cmp ecx, edi
jb 0x1021ba36
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x1021ba71
sub eax, 1
je 0x1021ba6c
sub eax, 1
je 0x1021ba65
xor esi, esi
jmp 0x1021bc85
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x1021ba73
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x1021bad2
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x1021ba87
cmp bl, 0x2c
jne 0x1021bab7
inc ecx
inc eax
cmp eax, edi
jae 0x1021ba99
mov dl, byte [eax]
cmp dl, 0x30
jl 0x1021ba99
cmp dl, 0x39
jle 0x1021ba88
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x1021bab7
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x1021bab2
dec esi
sub edx, 1
jne 0x1021baa7
mov esi, 0x1022f909
cmp eax, edi
jae 0x1021bad2
cmp byte [eax], 0x5a
jne 0x1021bacc
mov eax, str._GMT
mov edi, 0x10361724
jmp 0x1021bad2
mov esi, 0x1022f9bc
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x1022f909
mov eax, 0x1022f920
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.101d9470
add esp, 0x38
mov esi, eax
jmp 0x1021bc85
mov edi, dword [esp + 0x4c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x48]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x1021bb3e.13
movzx eax, byte [eax + 0x1021ce10]
jmp dword [eax*4 + 0x1021ce00]
mov ecx, 2
jmp 0x1021bb51
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x1021bb3e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x1021bb3e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x106c1228]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x1021bb3e.13
cmp ebx, 0xc
jne 0x1021bbaa
test edi, edi
je 0x1021bba1
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x1021bc7e
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x1021bba1
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x1021bbd1
sub eax, 2
jne 0x1021bbda
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 ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x1021bc58
cmp ecx, 0x800
jb 0x1021bc40
cmp ecx, 0x10000
jb 0x1021bc24
cmp ecx, 0x200000
jae 0x1021bc6f
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x1021bc2c
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x1021bc43
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x1021bc5b
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x4c]
jb 0x1021bbb2
mov byte [edi + ebp], 0
jmp 0x1021bc7e
push ebp
call dword [0x106c122c]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
test esi, esi
je case.0x1021c797.7
mov edi, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x450], 0
je 0x1021bcbc
push esi
push str.Serial_Number
push ebx
push edi
call fcn.101e4c80
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
jmp 0x1021bcc0
mov ebp, dword [esp + 0x14]
test ebx, ebx
jne 0x1021bcd3
push esi
push str.___Serial_Number:__s
push edi
call fcn.101e9df0
add esp, 0xc
push esi
call dword [0x106c122c]
add esp, 4
test ebp, ebp
jne 0x1021cdab
push dword [esp + 0x5c]
lea eax, [esp + 0x118]
push dword [esp + 0x5c]
push eax
call fcn.1021dcd0
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x1021c797.7
cmp byte [edi + 0x450], 0
je 0x1021bd26
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.101e4c80
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x1021bd39
push esi
push str.___Signature_Algorithm:__s
push edi
call fcn.101e9df0
add esp, 0xc
push esi
call dword [0x106c122c]
add esp, 4
test ebp, ebp
jne 0x1021cdab
cmp byte [esp + 0x92], 0
jne case.0x1021c797.7
movzx ebx, byte [esp + 0x91]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x1021c797.7
movzx eax, byte [eax + 0x1021ce4c]
jmp dword [eax*4 + 0x1021ce24]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x1021bd97
xor esi, esi
jmp 0x1021c1b6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x106c1234]
add esp, 4
mov esi, eax
jmp 0x1021c1b6
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x1021bdd3
xor esi, esi
jmp 0x1021c1b6
cmp eax, 4
jbe 0x1021bde9
push esi
push edx
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021c1b6
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x1021bdf0
push ecx
cmp ecx, 0xa
mov eax, 0x10361714
mov ecx, 0x1022f909
cmovb eax, ecx
push eax
push str._s_lx
call fcn.101d9470
add esp, 0xc
mov esi, eax
jmp 0x1021c1b6
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x1021be3d
xor esi, esi
jmp 0x1021c1b6
push ecx
push eax
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021c1b6
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021c1b6
push 0x1022f909
call dword [0x106c1234]
add esp, 4
mov esi, eax
jmp 0x1021c1b6
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.1021d2e0
add esp, 0xc
mov esi, eax
jmp 0x1021c1b6
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x1021bec0
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1021bec0
inc ecx
cmp ecx, edx
jb 0x1021beb3
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x1021bed8
sub eax, 2
je 0x1021bedd
xor esi, esi
jmp 0x1021c1af
mov edi, 0x10361754
cmp ecx, edx
jb 0x1021bee8
xor esi, esi
jmp 0x1021c1af
cmp byte [ecx], 0x5a
jne 0x1021bef9
mov ecx, 0x10361758
mov edx, 0x1036175b
jmp 0x1021befa
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.101d9470
add esp, 0x28
mov esi, eax
jmp 0x1021c1af
mov ebp, dword [esp + 0x88]
mov esi, 0x1022f909
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x1021bf5d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1021bf5d
inc ecx
cmp ecx, edi
jb 0x1021bf50
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x1021bf8b
sub eax, 1
je 0x1021bf86
sub eax, 1
je 0x1021bf7f
xor esi, esi
jmp 0x1021c1ab
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x1021bf8d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x1021bfec
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x1021bfa1
cmp bl, 0x2c
jne 0x1021bfd1
inc ecx
inc eax
cmp eax, edi
jae 0x1021bfb3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x1021bfb3
cmp dl, 0x39
jle 0x1021bfa2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x1021bfd1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x1021bfcc
dec esi
sub edx, 1
jne 0x1021bfc1
mov esi, 0x1022f909
cmp eax, edi
jae 0x1021bfec
cmp byte [eax], 0x5a
jne 0x1021bfe6
mov eax, str._GMT
mov edi, 0x10361724
jmp 0x1021bfec
mov esi, 0x1022f9bc
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x1022f909
mov eax, 0x1022f920
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.101d9470
add esp, 0x38
mov esi, eax
jmp 0x1021c1ab
mov edi, dword [esp + 0x8c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x88]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x1021c05e.13
movzx eax, byte [eax + 0x1021ce7c]
jmp dword [eax*4 + 0x1021ce6c]
mov ecx, 2
jmp 0x1021c071
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x1021c05e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x1021c05e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x106c1228]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x1021c05e.13
cmp ebx, 0xc
jne 0x1021c0ca
test edi, edi
je 0x1021c0c1
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x1021c1a4
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x1021c0c1
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x1021c0f4
sub eax, 2
jne 0x1021c0fd
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 ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x1021c17b
cmp ecx, 0x800
jb 0x1021c163
cmp ecx, 0x10000
jb 0x1021c147
cmp ecx, 0x200000
jae 0x1021c195
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x1021c14f
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x1021c166
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x1021c17e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x8c]
jb 0x1021c0d5
mov byte [edi + ebp], 0
jmp 0x1021c1a4
push ebp
call dword [0x106c122c]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x1021c797.7
cmp byte [edi + 0x450], 0
mov ebx, dword [esp + 0x12c]
je 0x1021c1e4
push esi
push str.Start_Date
push ebx
push edi
call fcn.101e4c80
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x1021c1f7
push esi
push str.___Start_Date:__s
push edi
call fcn.101e9df0
add esp, 0xc
push esi
call dword [0x106c122c]
add esp, 4
test ebp, ebp
jne 0x1021cdab
cmp byte [esp + 0xa2], 0
jne case.0x1021c797.7
movzx ebx, byte [esp + 0xa1]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x1021c797.7
movzx eax, byte [eax + 0x1021ceb8]
jmp dword [eax*4 + 0x1021ce90]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x1021c255
xor esi, esi
jmp 0x1021c676
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x106c1234]
add esp, 4
mov esi, eax
jmp 0x1021c676
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x1021c291
xor esi, esi
jmp 0x1021c676
cmp eax, 4
jbe 0x1021c2a7
push esi
push edx
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021c676
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 0x1021c2b0
push ecx
cmp ecx, 0xa
mov eax, 0x10361714
mov ecx, 0x1022f909
cmovb eax, ecx
push eax
push str._s_lx
call fcn.101d9470
add esp, 0xc
mov esi, eax
jmp 0x1021c676
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x1021c2fd
xor esi, esi
jmp 0x1021c676
push ecx
push eax
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021c676
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021c676
push 0x1022f909
call dword [0x106c1234]
add esp, 4
mov esi, eax
jmp 0x1021c676
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.1021d2e0
add esp, 0xc
mov esi, eax
jmp 0x1021c676
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x1021c380
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1021c380
inc ecx
cmp ecx, edx
jb 0x1021c373
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x1021c398
sub eax, 2
je 0x1021c39d
xor esi, esi
jmp 0x1021c66f
mov edi, 0x10361754
cmp ecx, edx
jb 0x1021c3a8
xor esi, esi
jmp 0x1021c66f
cmp byte [ecx], 0x5a
jne 0x1021c3b9
mov ecx, 0x10361758
mov edx, 0x1036175b
jmp 0x1021c3ba
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.101d9470
add esp, 0x28
mov esi, eax
jmp 0x1021c66f
mov ebp, dword [esp + 0x98]
mov esi, 0x1022f909
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x1021c41d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1021c41d
inc ecx
cmp ecx, edi
jb 0x1021c410
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x1021c44b
sub eax, 1
je 0x1021c446
sub eax, 1
je 0x1021c43f
xor esi, esi
jmp 0x1021c66b
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x1021c44d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x1021c4ac
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x1021c461
cmp bl, 0x2c
jne 0x1021c491
inc ecx
inc eax
cmp eax, edi
jae 0x1021c473
mov dl, byte [eax]
cmp dl, 0x30
jl 0x1021c473
cmp dl, 0x39
jle 0x1021c462
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x1021c491
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x1021c48c
dec esi
sub edx, 1
jne 0x1021c481
mov esi, 0x1022f909
cmp eax, edi
jae 0x1021c4ac
cmp byte [eax], 0x5a
jne 0x1021c4a6
mov eax, str._GMT
mov edi, 0x10361724
jmp 0x1021c4ac
mov esi, 0x1022f9bc
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x1022f909
mov eax, 0x1022f920
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.101d9470
add esp, 0x38
mov esi, eax
jmp 0x1021c66b
mov edi, dword [esp + 0x9c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x98]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x1021c51e.13
movzx eax, byte [eax + 0x1021cee8]
jmp dword [eax*4 + 0x1021ced8]
mov ecx, 2
jmp 0x1021c531
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x1021c51e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x1021c51e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x106c1228]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x1021c51e.13
cmp ebx, 0xc
jne 0x1021c58a
test edi, edi
je 0x1021c581
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x1021c664
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x1021c581
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x1021c5b4
sub eax, 2
jne 0x1021c5bd
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 ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x1021c63b
cmp ecx, 0x800
jb 0x1021c623
cmp ecx, 0x10000
jb 0x1021c607
cmp ecx, 0x200000
jae 0x1021c655
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x1021c60f
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x1021c626
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x1021c63e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x9c]
jb 0x1021c595
mov byte [edi + ebp], 0
jmp 0x1021c664
push ebp
call dword [0x106c122c]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x1021c797.7
cmp byte [edi + 0x450], 0
mov ebx, dword [esp + 0x12c]
je 0x1021c6a4
push esi
push str.Expire_Date
push ebx
push edi
call fcn.101e4c80
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x1021c6b7
push esi
push str.___Expire_Date:__s
push edi
call fcn.101e9df0
add esp, 0xc
push esi
call dword [0x106c122c]
add esp, 4
test ebp, ebp
jne 0x1021cdab
push dword [esp + 0xcc]
lea eax, [esp + 0x118]
push dword [esp + 0xcc]
push eax
call fcn.1021dcd0
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x1021c797.7
cmp byte [edi + 0x450], 0
je 0x1021c714
push esi
push str.Public_Key_Algorithm
push ebx
push edi
call fcn.101e4c80
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x1021c762
test ebx, ebx
jne 0x1021c727
push esi
push str.___Public_Key_Algorithm:__s
push edi
call fcn.101e9df0
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebx
push edi
call fcn.1021d450
add esp, 0x14
test eax, eax
je 0x1021c762
push esi
mov ebp, 0x1b
call dword [0x106c122c]
add esp, 4
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
push esi
call dword [0x106c122c]
add esp, 4
test ebp, ebp
jne 0x1021cdab
cmp byte [esp + 0x72], 0
jne case.0x1021c797.7
movzx ebx, byte [esp + 0x71]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x1021c797.7
movzx eax, byte [eax + 0x1021cf24]
jmp dword [eax*4 + 0x1021cefc]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x1021c7b4
xor esi, esi
jmp 0x1021cb9e
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x106c1234]
add esp, 4
mov esi, eax
jmp 0x1021cb9e
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x1021c7ea
xor esi, esi
jmp 0x1021cb9e
cmp eax, 4
jbe 0x1021c800
push esi
push edx
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021cb9e
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x1021c806
push ecx
cmp ecx, 0xa
mov eax, 0x10361714
mov ecx, 0x1022f909
cmovb eax, ecx
push eax
push str._s_lx
call fcn.101d9470
add esp, 0xc
mov esi, eax
jmp 0x1021cb9e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x1021c84d
xor esi, esi
jmp 0x1021cb9e
push ecx
push eax
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021cb9e
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1021ebe0
add esp, 8
mov esi, eax
jmp 0x1021cb9e
push 0x1022f909
call dword [0x106c1234]
add esp, 4
mov esi, eax
jmp 0x1021cb9e
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.1021d2e0
add esp, 0xc
mov esi, eax
jmp 0x1021cb9e
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x1021c8be
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1021c8be
inc ecx
cmp ecx, edx
jb 0x1021c8b1
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x1021c8d6
sub eax, 2
je 0x1021c8db
xor esi, esi
jmp 0x1021cb97
mov edi, 0x10361754
cmp ecx, edx
jb 0x1021c8e6
xor esi, esi
jmp 0x1021cb97
cmp byte [ecx], 0x5a
jne 0x1021c8f7
mov ecx, 0x10361758
mov edx, 0x1036175b
jmp 0x1021c8f8
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.101d9470
add esp, 0x28
mov esi, eax
jmp 0x1021cb97
mov ebp, dword [esp + 0x68]
mov esi, 0x1022f909
mov edi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, edi
jae 0x1021c94e
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x1021c94e
inc ecx
cmp ecx, edi
jb 0x1021c941
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x1021c97c
sub eax, 1
je 0x1021c977
sub eax, 1
je 0x1021c970
xor esi, esi
jmp 0x1021cb93
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x1021c97e
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x1021c9dd
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x1021c992
cmp bl, 0x2c
jne 0x1021c9c2
inc ecx
inc eax
cmp eax, edi
jae 0x1021c9a4
mov dl, byte [eax]
cmp dl, 0x30
jl 0x1021c9a4
cmp dl, 0x39
jle 0x1021c993
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x1021c9c2
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x1021c9bd
dec esi
sub edx, 1
jne 0x1021c9b2
mov esi, 0x1022f909
cmp eax, edi
jae 0x1021c9dd
cmp byte [eax], 0x5a
jne 0x1021c9d7
mov eax, str._GMT
mov edi, 0x10361724
jmp 0x1021c9dd
mov esi, 0x1022f9bc
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x1022f909
mov eax, 0x1022f920
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.101d9470
add esp, 0x38
mov esi, eax
jmp 0x1021cb93
mov edi, dword [esp + 0x6c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x68]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x1021ca49.13
movzx eax, byte [eax + 0x1021cf54]
jmp dword [eax*4 + 0x1021cf44]
mov ecx, 2
jmp 0x1021ca5c
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x1021ca49.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x1021ca49.13
lea eax, [eax*4 + 1]
push eax
call dword [0x106c1228]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x1021ca49.13
cmp ebx, 0xc
jne 0x1021cab5
test edi, edi
je 0x1021caac
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x1021cb8c
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x1021caac
nop dword [eax]
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x1021cadf
sub eax, 2
jne 0x1021cae8
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 ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x1021cb66
cmp ecx, 0x800
jb 0x1021cb4e
cmp ecx, 0x10000
jb 0x1021cb32
cmp ecx, 0x200000
jae 0x1021cb7d
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x1021cb3a
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x1021cb51
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x1021cb69
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x6c]
jb 0x1021cac0
mov byte [edi + ebp], 0
jmp 0x1021cb8c
push ebp
call dword [0x106c122c]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x1021c797.7
cmp byte [edi + 0x450], 0
mov ebx, dword [esp + 0x12c]
je 0x1021cbc8
push esi
push str.Signature
push ebx
push edi
call fcn.101e4c80
add esp, 0x10
mov ebp, eax
test ebx, ebx
jne 0x1021cbdb
push esi
push str.___Signature:__s
push edi
call fcn.101e9df0
add esp, 0xc
push esi
call dword [0x106c122c]
add esp, 4
test ebp, ebp
jne 0x1021cdab
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
call fcn.10201190
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x1021cdab
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x106c1228]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1021cc51
push dword [esp + 0x20]
call dword [0x106c122c]
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 + eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x1021ccb4
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x1021ccb3
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x1021ccae
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x1021cca9
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x1021cc60
jmp 0x1021ccb4
add esi, 3
jmp 0x1021ccb4
add esi, 2
jmp 0x1021ccb4
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x1021cce1
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.1021d3c0
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x1021ccc3
lea edx, [ebx + 2]
xor esi, esi
mov ecx, str._____END_CERTIFICATE_____
add edx, edi
nop dword [eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x1021cd44
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x1021cd43
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x1021cd3e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x1021cd39
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x1021ccf0
jmp 0x1021cd44
add esi, 3
jmp 0x1021cd44
add esi, 2
jmp 0x1021cd44
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 [0x106c122c]
mov esi, dword [esp + 0x12c]
add esp, 4
cmp byte [esi + 0x450], 0
je 0x1021cd88
push ebx
push str.Cert
push dword [esp + 0x134]
push esi
call fcn.101e4c80
add esp, 0x10
mov ebp, eax
cmp dword [esp + 0x12c], 0
jne 0x1021cda1
push ebx
push 0x102ed1b4
push esi
call fcn.101e9df0
add esp, 0xc
push ebx
call dword [0x106c122c]
add esp, 4
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x114
ret