Function at 0x46c6d0
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 + 0x42c], bl
jne 0x46c705
test edi, edi
je 0x46c705
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.0046df90
add esp, 0xc
test eax, eax
je 0x46c733
pop edi
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.0046e2a0
mov esi, eax
add esp, 4
test esi, esi
je case.0x46d7b7.7
cmp byte [ebp + 0x42c], bl
je 0x46c788
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46c760
sub ecx, edx
push ecx
push esi
push str.Subject
push edi
push ebp
call fcn.0042f9e0
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x46c85e
test edi, edi
jne 0x46c79c
push esi
push edi
push str._2d_Subject:__s
push ebp
call fcn.004352b0
add esp, 0x10
push esi
call dword [0x48a004]
lea eax, [esp + 0x78]
push eax
call fcn.0046e2a0
mov esi, eax
add esp, 8
test esi, esi
je case.0x46d7b7.7
cmp byte [ebp + 0x42c], 0
je 0x46c7d9
push esi
push str.Issuer
push edi
push ebp
call fcn.0046fcb0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test edi, edi
jne 0x46c7ec
push esi
push str.___Issuer:__s
push ebp
call fcn.004352b0
add esp, 0xc
push esi
call dword [0x48a004]
add esp, 4
test ebx, ebx
jne 0x46c85e
mov ecx, dword [esp + 0x38]
xor esi, esi
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jae 0x46c815
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x46c808
cmp byte [ebp + 0x42c], 0
je 0x46c872
push esi
push 0x48345c
call fcn.004390e0
mov edi, eax
add esp, 8
test edi, edi
je case.0x46d7b7.7
mov ebx, dword [esp + 0x12c]
push edi
push str.Version
push ebx
push ebp
call fcn.0046fcb0
mov ebx, eax
push edi
mov dword [esp + 0x28], ebx
call dword [0x48a004]
add esp, 0x14
test ebx, ebx
je 0x46c86b
pop esi
pop edi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x114
ret
mov edi, dword [esp + 0x12c]
test edi, edi
jne 0x46c889
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__u__0x_x_
push ebp
call fcn.004352b0
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x46d7b7.7
movzx ebx, byte [esp + 0x51]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x46d7b7.7
movzx eax, byte [eax + 0x46de00]
mov ebp, 0x483e85
mov edx, str.FALSE
jmp dword [eax*4 + 0x46ddd8]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x46c8d3
xor esi, esi
jmp 0x46cca5
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x48a00c]
add esp, 4
mov esi, eax
jmp 0x46cca5
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x46c904
xor esi, esi
jmp 0x46cca5
cmp eax, 4
jbe 0x46c91a
push esi
push edx
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46cca5
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46c920
cmp ecx, 0xa
mov eax, 0x4832f8
push ecx
cmovb eax, ebp
push eax
push str._s_x
call fcn.004390e0
add esp, 0xc
mov esi, eax
jmp 0x46cca5
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x46c962
xor esi, esi
jmp 0x46cca5
push ecx
push eax
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46cca5
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46cca5
push 0x483e85
call dword [0x48a00c]
add esp, 4
mov esi, eax
jmp 0x46cca5
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.0046e300
add esp, 0xc
mov esi, eax
jmp 0x46cca5
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x46c9d3
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46c9d3
inc ecx
cmp ecx, edx
jb 0x46c9c6
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46c9eb
sub eax, 2
je 0x46c9f0
xor esi, esi
jmp 0x46cca5
mov edi, 0x483338
cmp ecx, edx
jb 0x46c9fb
xor esi, esi
jmp 0x46cca5
cmp byte [ecx], 0x5a
jne 0x46ca0c
mov ecx, 0x48333c
mov edx, 0x48333f
jmp 0x46ca0d
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.004390e0
add esp, 0x28
mov esi, eax
jmp 0x46cca5
mov ebp, dword [esp + 0x48]
mov esi, 0x483e85
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x46ca63
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46ca63
inc ecx
cmp ecx, edi
jb 0x46ca56
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46ca91
sub eax, 1
je 0x46ca8c
sub eax, 1
je 0x46ca85
xor esi, esi
jmp 0x46cca5
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46ca93
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46caf2
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46caa7
cmp bl, 0x2c
jne 0x46cad7
inc ecx
inc eax
cmp eax, edi
jae 0x46cab9
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46cab9
cmp dl, 0x39
jle 0x46caa8
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46cad7
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46cad2
dec esi
sub edx, 1
jne 0x46cac7
mov esi, 0x483e85
cmp eax, edi
jae 0x46caf2
cmp byte [eax], 0x5a
jne 0x46caec
mov eax, str._GMT
mov edi, 0x483308
jmp 0x46caf2
mov esi, 0x479024
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x483e85
mov eax, 0x4788a4
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.004390e0
add esp, 0x38
mov esi, eax
jmp 0x46cca5
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.0x46cb5e.13
movzx eax, byte [eax + 0x46de30]
jmp dword [eax*4 + 0x46de20]
mov ecx, 2
jmp 0x46cb71
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46cb5e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46cb5e.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x46cb5e.13
cmp ebx, 0xc
jne 0x46cbca
test edi, edi
je 0x46cbc1
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x46cc9e
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x46cbc1
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x46cbf1
sub eax, 2
jne 0x46cbfa
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 0x46cc78
cmp ecx, 0x800
jb 0x46cc60
cmp ecx, 0x10000
jb 0x46cc44
cmp ecx, 0x200000
jae 0x46cc8f
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 0x46cc4c
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 0x46cc63
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 0x46cc7b
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x4c]
jb 0x46cbd2
mov byte [edi + ebp], 0
jmp 0x46cc9e
push ebp
call dword [0x48a004]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
test esi, esi
je case.0x46d7b7.7
mov edi, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x42c], 0
je 0x46ccdc
push esi
push str.Serial_Number
push ebx
push edi
call fcn.0046fcb0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
jmp 0x46cce0
mov ebp, dword [esp + 0x14]
test ebx, ebx
jne 0x46ccf3
push esi
push str.___Serial_Number:__s
push edi
call fcn.004352b0
add esp, 0xc
push esi
call dword [0x48a004]
add esp, 4
test ebp, ebp
jne 0x46ddcb
push dword [esp + 0x5c]
lea eax, [esp + 0x118]
push dword [esp + 0x5c]
push eax
call fcn.0046ed30
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x46d7b7.7
cmp byte [edi + 0x42c], 0
je 0x46cd46
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.0046fcb0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x46cd59
push esi
push str.___Signature_Algorithm:__s
push edi
call fcn.004352b0
add esp, 0xc
push esi
call dword [0x48a004]
add esp, 4
test ebp, ebp
jne 0x46ddcb
cmp byte [esp + 0x92], 0
jne case.0x46d7b7.7
movzx ebx, byte [esp + 0x91]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x46d7b7.7
movzx eax, byte [eax + 0x46de6c]
jmp dword [eax*4 + 0x46de44]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x46cdb7
xor esi, esi
jmp 0x46d1d6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x48a00c]
add esp, 4
mov esi, eax
jmp 0x46d1d6
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x46cdf3
xor esi, esi
jmp 0x46d1d6
cmp eax, 4
jbe 0x46ce09
push esi
push edx
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46d1d6
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46ce10
push ecx
cmp ecx, 0xa
mov eax, 0x4832f8
mov ecx, 0x483e85
cmovb eax, ecx
push eax
push str._s_x
call fcn.004390e0
add esp, 0xc
mov esi, eax
jmp 0x46d1d6
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x46ce5d
xor esi, esi
jmp 0x46d1d6
push ecx
push eax
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46d1d6
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46d1d6
push 0x483e85
call dword [0x48a00c]
add esp, 4
mov esi, eax
jmp 0x46d1d6
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.0046e300
add esp, 0xc
mov esi, eax
jmp 0x46d1d6
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x46cee0
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46cee0
inc ecx
cmp ecx, edx
jb 0x46ced3
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46cef8
sub eax, 2
je 0x46cefd
xor esi, esi
jmp 0x46d1cf
mov edi, 0x483338
cmp ecx, edx
jb 0x46cf08
xor esi, esi
jmp 0x46d1cf
cmp byte [ecx], 0x5a
jne 0x46cf19
mov ecx, 0x48333c
mov edx, 0x48333f
jmp 0x46cf1a
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.004390e0
add esp, 0x28
mov esi, eax
jmp 0x46d1cf
mov ebp, dword [esp + 0x88]
mov esi, 0x483e85
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x46cf7d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46cf7d
inc ecx
cmp ecx, edi
jb 0x46cf70
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46cfab
sub eax, 1
je 0x46cfa6
sub eax, 1
je 0x46cf9f
xor esi, esi
jmp 0x46d1cb
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46cfad
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46d00c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46cfc1
cmp bl, 0x2c
jne 0x46cff1
inc ecx
inc eax
cmp eax, edi
jae 0x46cfd3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46cfd3
cmp dl, 0x39
jle 0x46cfc2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46cff1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46cfec
dec esi
sub edx, 1
jne 0x46cfe1
mov esi, 0x483e85
cmp eax, edi
jae 0x46d00c
cmp byte [eax], 0x5a
jne 0x46d006
mov eax, str._GMT
mov edi, 0x483308
jmp 0x46d00c
mov esi, 0x479024
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x483e85
mov eax, 0x4788a4
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.004390e0
add esp, 0x38
mov esi, eax
jmp 0x46d1cb
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.0x46d07e.13
movzx eax, byte [eax + 0x46de9c]
jmp dword [eax*4 + 0x46de8c]
mov ecx, 2
jmp 0x46d091
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46d07e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46d07e.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x46d07e.13
cmp ebx, 0xc
jne 0x46d0ea
test edi, edi
je 0x46d0e1
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x46d1c4
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x46d0e1
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x46d114
sub eax, 2
jne 0x46d11d
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 0x46d19b
cmp ecx, 0x800
jb 0x46d183
cmp ecx, 0x10000
jb 0x46d167
cmp ecx, 0x200000
jae 0x46d1b5
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 0x46d16f
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 0x46d186
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 0x46d19e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x8c]
jb 0x46d0f5
mov byte [edi + ebp], 0
jmp 0x46d1c4
push ebp
call dword [0x48a004]
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.0x46d7b7.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x46d204
push esi
push str.Start_Date
push ebx
push edi
call fcn.0046fcb0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x46d217
push esi
push str.___Start_Date:__s
push edi
call fcn.004352b0
add esp, 0xc
push esi
call dword [0x48a004]
add esp, 4
test ebp, ebp
jne 0x46ddcb
cmp byte [esp + 0xa2], 0
jne case.0x46d7b7.7
movzx ebx, byte [esp + 0xa1]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x46d7b7.7
movzx eax, byte [eax + 0x46ded8]
jmp dword [eax*4 + 0x46deb0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x46d275
xor esi, esi
jmp 0x46d696
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x48a00c]
add esp, 4
mov esi, eax
jmp 0x46d696
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x46d2b1
xor esi, esi
jmp 0x46d696
cmp eax, 4
jbe 0x46d2c7
push esi
push edx
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46d696
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 0x46d2d0
push ecx
cmp ecx, 0xa
mov eax, 0x4832f8
mov ecx, 0x483e85
cmovb eax, ecx
push eax
push str._s_x
call fcn.004390e0
add esp, 0xc
mov esi, eax
jmp 0x46d696
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x46d31d
xor esi, esi
jmp 0x46d696
push ecx
push eax
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46d696
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46d696
push 0x483e85
call dword [0x48a00c]
add esp, 4
mov esi, eax
jmp 0x46d696
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.0046e300
add esp, 0xc
mov esi, eax
jmp 0x46d696
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x46d3a0
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46d3a0
inc ecx
cmp ecx, edx
jb 0x46d393
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46d3b8
sub eax, 2
je 0x46d3bd
xor esi, esi
jmp 0x46d68f
mov edi, 0x483338
cmp ecx, edx
jb 0x46d3c8
xor esi, esi
jmp 0x46d68f
cmp byte [ecx], 0x5a
jne 0x46d3d9
mov ecx, 0x48333c
mov edx, 0x48333f
jmp 0x46d3da
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.004390e0
add esp, 0x28
mov esi, eax
jmp 0x46d68f
mov ebp, dword [esp + 0x98]
mov esi, 0x483e85
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x46d43d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46d43d
inc ecx
cmp ecx, edi
jb 0x46d430
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46d46b
sub eax, 1
je 0x46d466
sub eax, 1
je 0x46d45f
xor esi, esi
jmp 0x46d68b
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46d46d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46d4cc
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46d481
cmp bl, 0x2c
jne 0x46d4b1
inc ecx
inc eax
cmp eax, edi
jae 0x46d493
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46d493
cmp dl, 0x39
jle 0x46d482
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46d4b1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46d4ac
dec esi
sub edx, 1
jne 0x46d4a1
mov esi, 0x483e85
cmp eax, edi
jae 0x46d4cc
cmp byte [eax], 0x5a
jne 0x46d4c6
mov eax, str._GMT
mov edi, 0x483308
jmp 0x46d4cc
mov esi, 0x479024
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x483e85
mov eax, 0x4788a4
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.004390e0
add esp, 0x38
mov esi, eax
jmp 0x46d68b
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.0x46d53e.13
movzx eax, byte [eax + 0x46df08]
jmp dword [eax*4 + 0x46def8]
mov ecx, 2
jmp 0x46d551
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46d53e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46d53e.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x46d53e.13
cmp ebx, 0xc
jne 0x46d5aa
test edi, edi
je 0x46d5a1
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x46d684
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x46d5a1
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x46d5d4
sub eax, 2
jne 0x46d5dd
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 0x46d65b
cmp ecx, 0x800
jb 0x46d643
cmp ecx, 0x10000
jb 0x46d627
cmp ecx, 0x200000
jae 0x46d675
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 0x46d62f
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 0x46d646
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 0x46d65e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x9c]
jb 0x46d5b5
mov byte [edi + ebp], 0
jmp 0x46d684
push ebp
call dword [0x48a004]
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.0x46d7b7.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x46d6c4
push esi
push str.Expire_Date
push ebx
push edi
call fcn.0046fcb0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x46d6d7
push esi
push str.___Expire_Date:__s
push edi
call fcn.004352b0
add esp, 0xc
push esi
call dword [0x48a004]
add esp, 4
test ebp, ebp
jne 0x46ddcb
push dword [esp + 0xcc]
lea eax, [esp + 0x118]
push dword [esp + 0xcc]
push eax
call fcn.0046ed30
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x46d7b7.7
cmp byte [edi + 0x42c], 0
je 0x46d734
push esi
push str.Public_Key_Algorithm
push ebx
push edi
call fcn.0046fcb0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x46d782
test ebx, ebx
jne 0x46d747
push esi
push str.___Public_Key_Algorithm:__s
push edi
call fcn.004352b0
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebx
push edi
call fcn.0046e470
add esp, 0x14
test eax, eax
je 0x46d782
push esi
mov ebp, 0x1b
call dword [0x48a004]
add esp, 4
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
push esi
call dword [0x48a004]
add esp, 4
test ebp, ebp
jne 0x46ddcb
cmp byte [esp + 0x72], 0
jne case.0x46d7b7.7
movzx ebx, byte [esp + 0x71]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x46d7b7.7
movzx eax, byte [eax + 0x46df44]
jmp dword [eax*4 + 0x46df1c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x46d7d4
xor esi, esi
jmp 0x46dbbe
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x48a00c]
add esp, 4
mov esi, eax
jmp 0x46dbbe
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x46d80a
xor esi, esi
jmp 0x46dbbe
cmp eax, 4
jbe 0x46d820
push esi
push edx
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46dbbe
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x46d826
push ecx
cmp ecx, 0xa
mov eax, 0x4832f8
mov ecx, 0x483e85
cmovb eax, ecx
push eax
push str._s_x
call fcn.004390e0
add esp, 0xc
mov esi, eax
jmp 0x46dbbe
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x46d86d
xor esi, esi
jmp 0x46dbbe
push ecx
push eax
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46dbbe
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.0046fc40
add esp, 8
mov esi, eax
jmp 0x46dbbe
push 0x483e85
call dword [0x48a00c]
add esp, 4
mov esi, eax
jmp 0x46dbbe
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0046e300
add esp, 0xc
mov esi, eax
jmp 0x46dbbe
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x46d8de
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46d8de
inc ecx
cmp ecx, edx
jb 0x46d8d1
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x46d8f6
sub eax, 2
je 0x46d8fb
xor esi, esi
jmp 0x46dbb7
mov edi, 0x483338
cmp ecx, edx
jb 0x46d906
xor esi, esi
jmp 0x46dbb7
cmp byte [ecx], 0x5a
jne 0x46d917
mov ecx, 0x48333c
mov edx, 0x48333f
jmp 0x46d918
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.004390e0
add esp, 0x28
mov esi, eax
jmp 0x46dbb7
mov ebp, dword [esp + 0x68]
mov esi, 0x483e85
mov edi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, edi
jae 0x46d96e
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x46d96e
inc ecx
cmp ecx, edi
jb 0x46d961
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x46d99c
sub eax, 1
je 0x46d997
sub eax, 1
je 0x46d990
xor esi, esi
jmp 0x46dbb3
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x46d99e
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x46d9fd
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x46d9b2
cmp bl, 0x2c
jne 0x46d9e2
inc ecx
inc eax
cmp eax, edi
jae 0x46d9c4
mov dl, byte [eax]
cmp dl, 0x30
jl 0x46d9c4
cmp dl, 0x39
jle 0x46d9b3
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x46d9e2
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x46d9dd
dec esi
sub edx, 1
jne 0x46d9d2
mov esi, 0x483e85
cmp eax, edi
jae 0x46d9fd
cmp byte [eax], 0x5a
jne 0x46d9f7
mov eax, str._GMT
mov edi, 0x483308
jmp 0x46d9fd
mov esi, 0x479024
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x483e85
mov eax, 0x4788a4
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.004390e0
add esp, 0x38
mov esi, eax
jmp 0x46dbb3
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.0x46da69.13
movzx eax, byte [eax + 0x46df74]
jmp dword [eax*4 + 0x46df64]
mov ecx, 2
jmp 0x46da7c
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x46da69.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x46da69.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x46da69.13
cmp ebx, 0xc
jne 0x46dad5
test edi, edi
je 0x46dacc
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x46dbac
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x46dacc
nop dword [eax]
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x46daff
sub eax, 2
jne 0x46db08
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 0x46db86
cmp ecx, 0x800
jb 0x46db6e
cmp ecx, 0x10000
jb 0x46db52
cmp ecx, 0x200000
jae 0x46db9d
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 0x46db5a
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 0x46db71
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 0x46db89
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x6c]
jb 0x46dae0
mov byte [edi + ebp], 0
jmp 0x46dbac
push ebp
call dword [0x48a004]
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.0x46d7b7.7
cmp byte [edi + 0x42c], 0
mov ebx, dword [esp + 0x12c]
je 0x46dbe8
push esi
push str.Signature
push ebx
push edi
call fcn.0046fcb0
add esp, 0x10
mov ebp, eax
test ebx, ebx
jne 0x46dbfb
push esi
push str.___Signature:__s
push edi
call fcn.004352b0
add esp, 0xc
push esi
call dword [0x48a004]
add esp, 4
test ebp, ebp
jne 0x46ddcb
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.0044af60
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x46ddcb
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 0x46dc71
push dword [esp + 0x20]
call dword [0x48a004]
add esp, 4
pop esi
pop edi
pop ebp
mov eax, 0x1b
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 0x46dcd4
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x46dcd3
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x46dcce
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x46dcc9
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x46dc80
jmp 0x46dcd4
add esi, 3
jmp 0x46dcd4
add esi, 2
jmp 0x46dcd4
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x46dd01
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.0046e3e0
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x46dce3
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 0x46dd64
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x46dd63
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x46dd5e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x46dd59
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x46dd10
jmp 0x46dd64
add esi, 3
jmp 0x46dd64
add esi, 2
jmp 0x46dd64
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 [0x48a004]
mov esi, dword [esp + 0x12c]
add esp, 4
cmp byte [esi + 0x42c], 0
je 0x46dda8
push ebx
push str.Cert
push dword [esp + 0x134]
push esi
call fcn.0046fcb0
add esp, 0x10
mov ebp, eax
cmp dword [esp + 0x12c], 0
jne 0x46ddc1
push ebx
push 0x478390
push esi
call fcn.004352b0
add esp, 0xc
push ebx
call dword [0x48a004]
add esp, 4
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x114
ret