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

Disassembly:
sub esp, 0x114
mov eax, dword [esp + 0x118]
push ebx
mov ebx, dword [esp + 0x120]
push ebp
mov ebp, dword [eax]
mov dword [esp + 0x10], ebp
cmp byte [ebp + 0x88c], 0
jne 0x518af4
test ebx, ebx
je 0x518af4
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.0051a250
add esp, 0xc
test eax, eax
je 0x518b21
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.0051a550
mov esi, eax
add esp, 4
test esi, esi
je case.0x519ab5.7
cmp byte [ebp + 0x88c], 0
je 0x518b56
push esi
push str.Subject
push ebx
push ebp
call fcn.004f15a0
add esp, 0x10
test ebx, ebx
jne 0x518b6a
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.004f6430
add esp, 0x10
push esi
call dword [0x6ec004]
lea eax, [esp + 0x78]
push eax
call fcn.0051a550
mov esi, eax
add esp, 8
test esi, esi
je case.0x519ab5.7
cmp byte [ebp + 0x88c], 0
je 0x518ba1
push esi
push str.Issuer
push ebx
push ebp
call fcn.004f15a0
add esp, 0x10
test ebx, ebx
jne 0x518bb4
push esi
push str.___Issuer:__s_n
push ebp
call fcn.004f6430
add esp, 0xc
push esi
call dword [0x6ec004]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x518bdd
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x518bd0
cmp byte [ebp + 0x88c], 0
je 0x518c15
push esi
push 0x63e804
call fcn.00504de0
mov edi, eax
add esp, 8
test edi, edi
je case.0x519ab5.7
push edi
push str.Version
push ebx
push ebp
call fcn.004f15a0
push edi
call dword [0x6ec004]
add esp, 0x14
test ebx, ebx
jne 0x518c2c
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.004f6430
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x519ab5.7
movzx ebp, byte [esp + 0x51]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x519ab5.7
movzx eax, byte [eax + 0x51a0bc]
mov ebx, 0x6a66d6
mov edx, str.FALSE
jmp dword [eax*4 + 0x51a094]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x518c76
xor esi, esi
jmp 0x51903f
cmp byte [ecx], 0
mov eax, str.TRUE
cmove eax, edx
push eax
call dword [0x6ec00c]
add esp, 4
mov esi, eax
jmp 0x51903f
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x518ca7
xor esi, esi
jmp 0x51903f
cmp eax, 4
jbe 0x518cbd
push esi
push edx
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x51903f
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x518cc3
cmp ecx, 0xa
mov eax, 0x6423f4
push ecx
cmovb eax, ebx
push eax
push str._s_lx
call fcn.00504de0
add esp, 0xc
mov esi, eax
jmp 0x51903f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x518d05
xor esi, esi
jmp 0x51903f
push ecx
push eax
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x51903f
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x51903f
push 0x6a66d6
call dword [0x6ec00c]
add esp, 4
mov esi, eax
jmp 0x51903f
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.0051a5a0
add esp, 0xc
mov esi, eax
jmp 0x51903f
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x518d7d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x518d7d
inc ecx
cmp ecx, edx
jb 0x518d70
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x518d95
sub eax, 2
je 0x518d9a
xor esi, esi
jmp 0x51903f
mov edi, 0x642434
cmp ecx, edx
jb 0x518da5
xor esi, esi
jmp 0x51903f
cmp byte [ecx], 0x5a
jne 0x518db6
mov ecx, 0x642438
mov edx, 0x64243b
jmp 0x518db7
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.00504de0
add esp, 0x28
mov esi, eax
jmp 0x51903f
mov ebp, dword [esp + 0x48]
mov esi, 0x6a66d6
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x518e0d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x518e0d
inc ecx
cmp ecx, edi
jb 0x518e00
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x518e3b
sub eax, 1
je 0x518e36
sub eax, 1
je 0x518e2f
xor esi, esi
jmp 0x51903f
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x518e3d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x518e9c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x518e51
cmp bl, 0x2c
jne 0x518e81
inc ecx
inc eax
cmp eax, edi
jae 0x518e63
mov dl, byte [eax]
cmp dl, 0x30
jl 0x518e63
cmp dl, 0x39
jle 0x518e52
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x518e81
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x518e7c
dec esi
sub edx, 1
jne 0x518e71
mov esi, 0x6a66d6
cmp eax, edi
jae 0x518e9c
cmp byte [eax], 0x5a
jne 0x518e96
mov eax, str._GMT
mov edi, 0x642404
jmp 0x518e9c
mov esi, 0x6e5888
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x6a66d6
mov eax, 0x6e5668
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.00504de0
add esp, 0x38
mov esi, eax
jmp 0x51903f
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.0x518f08.13
movzx eax, byte [eax + 0x51a0ec]
jmp dword [eax*4 + 0x51a0dc]
mov ecx, 2
jmp 0x518f1b
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x518f08.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x518f08.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x518f08.13
cmp ebp, 0xc
jne 0x518f74
test edi, edi
je 0x518f6b
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x519038
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x518f6b
mov ebp, dword [esp + 0x14]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x518f9d
sub eax, 2
jne 0x518fa6
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 0x519014
cmp ecx, 0x800
jb 0x519000
cmp ecx, 0x10000
jb 0x518fec
cmp ecx, 0x200000
jae 0x519029
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 0x518f80
mov byte [edi + ebx], 0
jmp 0x519038
push ebx
call dword [0x6ec004]
add esp, 4
or edi, 0xffffffff
xor ebx, ebx
xor esi, esi
test edi, edi
cmovns esi, ebx
test esi, esi
je case.0x519ab5.7
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x88c], 0
je 0x51906b
push esi
push str.Serial_Number
push ebx
push edi
call fcn.004f15a0
add esp, 0x10
test ebx, ebx
jne 0x51907e
push esi
push str.___Serial_Number:__s_n
push edi
call fcn.004f6430
add esp, 0xc
push esi
call dword [0x6ec004]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.0051ae80
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x519ab5.7
cmp byte [edi + 0x88c], 0
je 0x5190c0
push esi
push str.Signature_Algorithm
push ebx
push edi
call fcn.004f15a0
add esp, 0x10
test ebx, ebx
jne 0x5190d3
push esi
push str.___Signature_Algorithm:__s_n
push edi
call fcn.004f6430
add esp, 0xc
push esi
call dword [0x6ec004]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x519ab5.7
movzx ebp, byte [esp + 0x91]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x519ab5.7
movzx eax, byte [eax + 0x51a128]
jmp dword [eax*4 + 0x51a100]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x519129
xor esi, esi
jmp 0x519536
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x6ec00c]
add esp, 4
mov esi, eax
jmp 0x519536
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x519165
xor esi, esi
jmp 0x519536
cmp eax, 4
jbe 0x51917b
push esi
push edx
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x519536
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x519181
push ecx
cmp ecx, 0xa
mov eax, 0x6423f4
mov ecx, 0x6a66d6
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00504de0
add esp, 0xc
mov esi, eax
jmp 0x519536
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x5191ce
xor esi, esi
jmp 0x519536
push ecx
push eax
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x519536
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x519536
push 0x6a66d6
call dword [0x6ec00c]
add esp, 4
mov esi, eax
jmp 0x519536
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.0051a5a0
add esp, 0xc
mov esi, eax
jmp 0x519536
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x519251
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x519251
inc ecx
cmp ecx, edx
jb 0x519244
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x519269
sub eax, 2
je 0x51926e
xor esi, esi
jmp 0x519532
mov edi, 0x642434
cmp ecx, edx
jb 0x519279
xor esi, esi
jmp 0x519532
cmp byte [ecx], 0x5a
jne 0x51928a
mov ecx, 0x642438
mov edx, 0x64243b
jmp 0x51928b
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.00504de0
add esp, 0x28
mov esi, eax
jmp 0x519532
mov ebp, dword [esp + 0x88]
mov esi, 0x6a66d6
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x5192ed
nop word [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x5192ed
inc ecx
cmp ecx, edi
jb 0x5192e0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x51931b
sub eax, 1
je 0x519316
sub eax, 1
je 0x51930f
xor esi, esi
jmp 0x519532
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x51931d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x51937c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x519331
cmp bl, 0x2c
jne 0x519361
inc ecx
inc eax
cmp eax, edi
jae 0x519343
mov dl, byte [eax]
cmp dl, 0x30
jl 0x519343
cmp dl, 0x39
jle 0x519332
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x519361
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x51935c
dec esi
sub edx, 1
jne 0x519351
mov esi, 0x6a66d6
cmp eax, edi
jae 0x51937c
cmp byte [eax], 0x5a
jne 0x519376
mov eax, str._GMT
mov edi, 0x642404
jmp 0x51937c
mov esi, 0x6e5888
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x6a66d6
mov eax, 0x6e5668
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.00504de0
add esp, 0x38
mov esi, eax
jmp 0x519532
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.0x5193ee.13
movzx eax, byte [eax + 0x51a158]
jmp dword [eax*4 + 0x51a148]
mov ecx, 2
jmp 0x519401
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x5193ee.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x5193ee.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x5193ee.13
cmp ebp, 0xc
jne 0x51945a
test edi, edi
je 0x519451
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x51952b
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x519451
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x51948d
sub eax, 2
jne 0x519496
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 0x519504
cmp ecx, 0x800
jb 0x5194f0
cmp ecx, 0x10000
jb 0x5194dc
cmp ecx, 0x200000
jae 0x51951c
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 0x519470
mov byte [edi + ebx], 0
jmp 0x51952b
push ebx
call dword [0x6ec004]
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.0x519ab5.7
cmp byte [edi + 0x88c], 0
mov ebx, dword [esp + 0x12c]
je 0x51955e
push esi
push str.Start_Date
push ebx
push edi
call fcn.004f15a0
add esp, 0x10
test ebx, ebx
jne 0x519571
push esi
push str.___Start_Date:__s_n
push edi
call fcn.004f6430
add esp, 0xc
push esi
call dword [0x6ec004]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x519ab5.7
movzx ebp, byte [esp + 0xa1]
lea eax, [ebp - 1]
cmp eax, 0x1d
ja case.0x519ab5.7
movzx eax, byte [eax + 0x51a194]
jmp dword [eax*4 + 0x51a16c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x5195c7
xor esi, esi
jmp 0x5199d6
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x6ec00c]
add esp, 4
mov esi, eax
jmp 0x5199d6
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x519603
xor esi, esi
jmp 0x5199d6
cmp eax, 4
jbe 0x519619
push esi
push edx
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x5199d6
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x519620
push ecx
cmp ecx, 0xa
mov eax, 0x6423f4
mov ecx, 0x6a66d6
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00504de0
add esp, 0xc
mov esi, eax
jmp 0x5199d6
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x51966d
xor esi, esi
jmp 0x5199d6
push ecx
push eax
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x5199d6
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x5199d6
push 0x6a66d6
call dword [0x6ec00c]
add esp, 4
mov esi, eax
jmp 0x5199d6
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.0051a5a0
add esp, 0xc
mov esi, eax
jmp 0x5199d6
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x5196f0
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x5196f0
inc ecx
cmp ecx, edx
jb 0x5196e3
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x519708
sub eax, 2
je 0x51970d
xor esi, esi
jmp 0x5199d2
mov edi, 0x642434
cmp ecx, edx
jb 0x519718
xor esi, esi
jmp 0x5199d2
cmp byte [ecx], 0x5a
jne 0x519729
mov ecx, 0x642438
mov edx, 0x64243b
jmp 0x51972a
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.00504de0
add esp, 0x28
mov esi, eax
jmp 0x5199d2
mov ebp, dword [esp + 0x98]
mov esi, 0x6a66d6
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x51978d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x51978d
inc ecx
cmp ecx, edi
jb 0x519780
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x5197bb
sub eax, 1
je 0x5197b6
sub eax, 1
je 0x5197af
xor esi, esi
jmp 0x5199d2
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x5197bd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x51981c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x5197d1
cmp bl, 0x2c
jne 0x519801
inc ecx
inc eax
cmp eax, edi
jae 0x5197e3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x5197e3
cmp dl, 0x39
jle 0x5197d2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x519801
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x5197fc
dec esi
sub edx, 1
jne 0x5197f1
mov esi, 0x6a66d6
cmp eax, edi
jae 0x51981c
cmp byte [eax], 0x5a
jne 0x519816
mov eax, str._GMT
mov edi, 0x642404
jmp 0x51981c
mov esi, 0x6e5888
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x6a66d6
mov eax, 0x6e5668
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.00504de0
add esp, 0x38
mov esi, eax
jmp 0x5199d2
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.0x51988e.13
movzx eax, byte [eax + 0x51a1c4]
jmp dword [eax*4 + 0x51a1b4]
mov ecx, 2
jmp 0x5198a1
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x51988e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x51988e.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x51988e.13
cmp ebp, 0xc
jne 0x5198fa
test edi, edi
je 0x5198f1
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x5199cb
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x5198f1
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x51992d
sub eax, 2
jne 0x519936
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 0x5199a4
cmp ecx, 0x800
jb 0x519990
cmp ecx, 0x10000
jb 0x51997c
cmp ecx, 0x200000
jae 0x5199bc
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 0x519910
mov byte [edi + ebx], 0
jmp 0x5199cb
push ebx
call dword [0x6ec004]
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.0x519ab5.7
cmp byte [edi + 0x88c], 0
mov ebp, dword [esp + 0x12c]
je 0x5199fe
push esi
push str.Expire_Date
push ebp
push edi
call fcn.004f15a0
add esp, 0x10
test ebp, ebp
jne 0x519a11
push esi
push str.___Expire_Date:__s_n
push edi
call fcn.004f6430
add esp, 0xc
push esi
call dword [0x6ec004]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.0051ae80
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x519ab5.7
cmp byte [edi + 0x88c], 0
je 0x519a59
push esi
push str.Public_Key_Algorithm
push ebp
push edi
call fcn.004f15a0
add esp, 0x10
test ebp, ebp
jne 0x519a6c
push esi
push str.___Public_Key_Algorithm:__s_n
push edi
call fcn.004f6430
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebp
push edi
call fcn.0051a710
push esi
call dword [0x6ec004]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x519ab5.7
movzx ecx, byte [esp + 0x71]
mov dword [esp + 0x14], ecx
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x519ab5.7
movzx eax, byte [eax + 0x51a200]
jmp dword [eax*4 + 0x51a1d8]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x519ad2
xor esi, esi
jmp 0x519ea0
cmp byte [ecx], 0
mov eax, str.TRUE
mov ecx, str.FALSE
cmove eax, ecx
push eax
call dword [0x6ec00c]
add esp, 4
mov esi, eax
jmp 0x519ea0
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x519b08
xor esi, esi
jmp 0x519ea0
cmp eax, 4
jbe 0x519b1e
push esi
push edx
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x519ea0
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x519b24
push ecx
cmp ecx, 0xa
mov eax, 0x6423f4
mov ecx, 0x6a66d6
cmovb eax, ecx
push eax
push str._s_lx
call fcn.00504de0
add esp, 0xc
mov esi, eax
jmp 0x519ea0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x519b6b
xor esi, esi
jmp 0x519ea0
push ecx
push eax
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x519ea0
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.0051bd70
add esp, 8
mov esi, eax
jmp 0x519ea0
push 0x6a66d6
call dword [0x6ec00c]
add esp, 4
mov esi, eax
jmp 0x519ea0
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0051a5a0
add esp, 0xc
mov esi, eax
jmp 0x519ea0
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x519bdd
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x519bdd
inc ecx
cmp ecx, edx
jb 0x519bd0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x519bf5
sub eax, 2
je 0x519bfa
xor esi, esi
jmp 0x519e9c
mov edi, 0x642434
cmp ecx, edx
jb 0x519c05
xor esi, esi
jmp 0x519e9c
cmp byte [ecx], 0x5a
jne 0x519c16
mov ecx, 0x642438
mov edx, 0x64243b
jmp 0x519c17
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.00504de0
add esp, 0x28
mov esi, eax
jmp 0x519e9c
mov ebp, dword [esp + 0x68]
mov edi, 0x6a66d6
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x519c6d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x519c6d
inc ecx
cmp ecx, esi
jb 0x519c60
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x519c9b
sub eax, 1
je 0x519c96
sub eax, 1
je 0x519c8f
xor esi, esi
jmp 0x519e95
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x519c9d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x519cfc
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x519cb1
cmp bl, 0x2c
jne 0x519ce1
inc ecx
inc eax
cmp eax, esi
jae 0x519cc3
mov dl, byte [eax]
cmp dl, 0x30
jl 0x519cc3
cmp dl, 0x39
jle 0x519cb2
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x519ce1
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x519cdc
dec edi
sub edx, 1
jne 0x519cd1
mov edi, 0x6a66d6
cmp eax, esi
jae 0x519cfc
cmp byte [eax], 0x5a
jne 0x519cf6
mov eax, str._GMT
mov esi, 0x642404
jmp 0x519cfc
mov edi, 0x6e5888
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x6a66d6
mov eax, 0x6e5668
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.00504de0
add esp, 0x38
mov esi, eax
jmp 0x519e95
mov edi, dword [esp + 0x6c]
add ecx, 0xfffffff4
mov esi, dword [esp + 0x68]
mov ebp, 1
sub edi, esi
cmp ecx, 0x12
ja case.0x519d64.13
movzx eax, byte [ecx + 0x51a230]
jmp dword [eax*4 + 0x51a220]
mov ebp, 2
jmp case.0x519d64.12
mov ebp, 4
xor edx, edx
mov eax, edi
div ebp
test edx, edx
jne case.0x519d64.13
mov eax, edi
div ebp
cmp eax, 0x3fffffff
ja case.0x519d64.13
lea eax, [eax*4 + 1]
push eax
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x519d64.13
cmp dword [esp + 0x14], 0xc
jne 0x519dce
test edi, edi
je 0x519dc5
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
jmp 0x519e8e
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x519dc5
mov eax, ebp
xor ecx, ecx
sub eax, 2
je 0x519df3
sub eax, 2
jne 0x519dfc
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 0x519e6a
cmp ecx, 0x800
jb 0x519e56
cmp ecx, 0x10000
jb 0x519e42
cmp ecx, 0x200000
jae 0x519e7f
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 0x519dd6
mov byte [edi + ebx], 0
jmp 0x519e8e
push ebx
call dword [0x6ec004]
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.0x519ab5.7
cmp byte [edi + 0x88c], 0
je 0x519ec1
push esi
push str.Signature
push ebp
push edi
call fcn.004f15a0
add esp, 0x10
test ebp, ebp
jne 0x519ed4
push esi
push str.___Signature:__s_n
push edi
call fcn.004f6430
add esp, 0xc
push esi
call dword [0x6ec004]
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.00510280
add esp, 0x18
test eax, eax
jne 0x519f2f
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 0x519f3a
push dword [esp + 0x20]
call dword [0x6ec004]
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 0x519f98
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x519f97
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x519f92
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x519f8d
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x519f44
jmp 0x519f98
add esi, 3
jmp 0x519f98
add esi, 2
jmp 0x519f98
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x519fc5
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.0051a680
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x519fa7
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 0x51a026
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x51a025
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x51a020
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x51a01b
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x519fd2
jmp 0x51a026
add esi, 3
jmp 0x51a026
add esi, 2
jmp 0x51a026
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x6ec004]
mov ebp, dword [esp + 0x1c]
add esp, 4
cmp byte [ebp + 0x88c], 0
je 0x51a062
push ebx
push str.Cert
push dword [esp + 0x134]
push ebp
call fcn.004f15a0
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x51a07b
push ebx
push 0x638f20
push ebp
call fcn.004f6430
add esp, 0xc
push ebx
call dword [0x6ec004]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret