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

Disassembly:
sub esp, 0x114
mov eax, dword [esp + 0x118]
push ebx
mov ebx, dword [esp + 0x120]
push ebp
mov ebp, dword [eax]
mov dword [esp + 0x10], ebp
cmp byte [ebp + 0x89c], 0
jne 0x4de624
test ebx, ebx
je 0x4de624
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.004dfdc0
add esp, 0xc
test eax, eax
je 0x4de651
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
push esi
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.004e00d0
mov esi, eax
add esp, 4
test esi, esi
je case.0x4df605.7
cmp byte [ebp + 0x89c], 0
je 0x4de686
push esi
push str.Subject
push ebx
push ebp
call fcn.004ab150
add esp, 0x10
test ebx, ebx
jne 0x4de69a
push esi
push ebx
push str._2d_Subject:__s_n
push ebp
call fcn.004b04d0
add esp, 0x10
push esi
call dword [0x520080]
lea eax, [esp + 0x78]
push eax
call fcn.004e00d0
mov esi, eax
add esp, 8
test esi, esi
je case.0x4df605.7
cmp byte [ebp + 0x89c], 0
je 0x4de6d1
push esi
push str.Issuer
push ebx
push ebp
call fcn.004ab150
add esp, 0x10
test ebx, ebx
jne 0x4de6e4
push esi
push str.___Issuer:__s_n
push ebp
call fcn.004b04d0
add esp, 0xc
push esi
call dword [0x520080]
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x3c]
xor esi, esi
cmp ecx, edx
jae 0x4de70d
nop dword [eax]
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x4de700
cmp byte [ebp + 0x89c], 0
je 0x4de745
push esi
push 0x515a48
call fcn.004b3450
mov edi, eax
add esp, 8
test edi, edi
je case.0x4df605.7
push edi
push str.Version
push ebx
push ebp
call fcn.004ab150
push edi
call dword [0x520080]
add esp, 0x14
test ebx, ebx
jne 0x4de75c
push esi
lea eax, [esi + 1]
push eax
push str.___Version:__lu__0x_lx__n
push ebp
call fcn.004b04d0
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x4df605.7
movzx ebx, byte [esp + 0x51]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x4df605.7
movzx eax, byte [eax + 0x4dfc28]
mov edi, 0x517b5b
mov edx, 0x50dd70
jmp dword [eax*4 + 0x4dfc00]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x4de7a6
xor edi, edi
jmp 0x4deb87
cmp byte [ecx], 0
mov eax, 0x50dd68
cmove eax, edx
push eax
call dword [0x520088]
add esp, 4
mov edi, eax
jmp 0x4deb87
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x4de7d7
xor edi, edi
jmp 0x4deb87
cmp eax, 4
jbe 0x4de7ed
push esi
push edx
call fcn.004e1920
add esp, 8
mov edi, eax
jmp 0x4deb87
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4de7f3
cmp ecx, 0xa
mov eax, 0x5171e0
push ecx
cmovb eax, edi
push eax
push str._s_lx
call fcn.004b3450
add esp, 0xc
mov edi, eax
jmp 0x4deb87
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x4de835
xor edi, edi
jmp 0x4deb87
push ecx
push eax
call fcn.004e1920
add esp, 8
mov edi, eax
jmp 0x4deb87
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004e1920
add esp, 8
mov edi, eax
jmp 0x4deb87
push 0x517b5b
call dword [0x520088]
add esp, 4
mov edi, eax
jmp 0x4deb87
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.004e0120
add esp, 0xc
mov edi, eax
jmp 0x4deb87
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x4de8ad
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4de8ad
inc ecx
cmp ecx, edx
jb 0x4de8a0
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4de8c5
sub eax, 2
je 0x4de8ca
xor edi, edi
jmp 0x4deb87
mov edi, 0x517220
cmp ecx, edx
jb 0x4de8d5
xor edi, edi
jmp 0x4deb87
cmp byte [ecx], 0x5a
jne 0x4de8e6
mov ecx, 0x517224
mov edx, 0x517227
jmp 0x4de8e7
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.004b3450
add esp, 0x28
mov edi, eax
jmp 0x4deb87
mov ebp, dword [esp + 0x48]
mov esi, 0x517b5b
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x4de93d
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4de93d
inc ecx
cmp ecx, edi
jb 0x4de930
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4de96b
sub eax, 1
je 0x4de966
sub eax, 1
je 0x4de95f
xor edi, edi
jmp 0x4deb83
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4de96d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4de9cc
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4de981
cmp bl, 0x2c
jne 0x4de9b1
inc ecx
inc eax
cmp eax, edi
jae 0x4de993
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4de993
cmp dl, 0x39
jle 0x4de982
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4de9b1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4de9ac
dec esi
sub edx, 1
jne 0x4de9a1
mov esi, 0x517b5b
cmp eax, edi
jae 0x4de9cc
cmp byte [eax], 0x5a
jne 0x4de9c6
mov eax, 0x5171ec
mov edi, 0x5171f0
jmp 0x4de9cc
mov esi, 0x517cf4
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x517b5b
mov eax, 0x517b78
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.004b3450
add esp, 0x38
mov edi, eax
jmp 0x4deb83
mov esi, dword [esp + 0x4c]
lea eax, [ebx - 0xc]
mov edi, dword [esp + 0x48]
mov ecx, 1
sub esi, edi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x4dea38.13
movzx eax, byte [eax + 0x4dfc58]
jmp dword [eax*4 + 0x4dfc48]
mov ecx, 2
jmp 0x4dea4b
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, esi
div ecx
test edx, edx
jne case.0x4dea38.13
mov eax, esi
div ecx
cmp eax, 0x3fffffff
ja case.0x4dea38.13
lea eax, [eax*4 + 1]
push eax
call dword [0x52007c]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x4dea38.13
cmp ebx, 0xc
jne 0x4deaa4
test esi, esi
je 0x4dea9b
push esi
push edi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebp], 0
jmp 0x4deb7c
xor esi, esi
cmp edi, dword [esp + 0x4c]
jae 0x4dea9b
nop dword [eax]
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub eax, 2
je 0x4deacf
sub eax, 2
jne 0x4dead8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add edi, 2
movzx eax, byte [edi]
shl ecx, 8
or ecx, eax
inc edi
movzx eax, byte [edi]
mov ebx, 1
shl ecx, 8
inc edi
or ecx, eax
cmp ecx, 0x80
jb 0x4deb56
cmp ecx, 0x800
jb 0x4deb3e
cmp ecx, 0x10000
jb 0x4deb22
cmp ecx, 0x200000
jae 0x4deb6d
mov al, cl
lea edx, [esi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x4deb2a
lea edx, [esi + 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 0x4deb41
lea edx, [esi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x4deb59
lea edx, [esi + ebp]
add esi, ebx
mov byte [edx], cl
cmp edi, dword [esp + 0x4c]
jb 0x4deab0
mov byte [esi + ebp], 0
jmp 0x4deb7c
push ebp
call dword [0x520080]
add esp, 4
or esi, 0xffffffff
xor ebp, ebp
xor edi, edi
test esi, esi
cmovns edi, ebp
mov ebp, dword [esp + 0x18]
test edi, edi
je case.0x4df605.7
cmp byte [ebp + 0x89c], 0
mov ebx, dword [esp + 0x12c]
je 0x4debaf
push edi
push str.Serial_Number
push ebx
push ebp
call fcn.004ab150
add esp, 0x10
test ebx, ebx
jne 0x4debc2
push edi
push str.___Serial_Number:__s_n
push ebp
call fcn.004b04d0
add esp, 0xc
push edi
call dword [0x520080]
push dword [esp + 0x60]
lea eax, [esp + 0x11c]
push dword [esp + 0x60]
push eax
call fcn.004e0a10
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x4df605.7
cmp byte [ebp + 0x89c], 0
je 0x4dec04
push esi
push str.Signature_Algorithm
push ebx
push ebp
call fcn.004ab150
add esp, 0x10
test ebx, ebx
jne 0x4dec17
push esi
push str.___Signature_Algorithm:__s_n
push ebp
call fcn.004b04d0
add esp, 0xc
push esi
call dword [0x520080]
add esp, 4
cmp byte [esp + 0x92], 0
jne case.0x4df605.7
movzx ebx, byte [esp + 0x91]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x4df605.7
movzx eax, byte [eax + 0x4dfc94]
jmp dword [eax*4 + 0x4dfc6c]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x4dec6d
xor esi, esi
jmp 0x4df07f
cmp byte [ecx], 0
mov eax, 0x50dd68
mov ecx, 0x50dd70
cmove eax, ecx
push eax
call dword [0x520088]
add esp, 4
mov esi, eax
jmp 0x4df07f
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x4deca9
xor esi, esi
jmp 0x4df07f
cmp eax, 4
jbe 0x4decbf
push esi
push edx
call fcn.004e1920
add esp, 8
mov esi, eax
jmp 0x4df07f
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4decc5
push ecx
cmp ecx, 0xa
mov eax, 0x5171e0
mov ecx, 0x517b5b
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004b3450
add esp, 0xc
mov esi, eax
jmp 0x4df07f
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x4ded12
xor esi, esi
jmp 0x4df07f
push ecx
push eax
call fcn.004e1920
add esp, 8
mov esi, eax
jmp 0x4df07f
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.004e1920
add esp, 8
mov esi, eax
jmp 0x4df07f
push 0x517b5b
call dword [0x520088]
add esp, 4
mov esi, eax
jmp 0x4df07f
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.004e0120
add esp, 0xc
mov esi, eax
jmp 0x4df07f
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x4ded95
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4ded95
inc ecx
cmp ecx, edx
jb 0x4ded88
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4dedad
sub eax, 2
je 0x4dedb2
xor esi, esi
jmp 0x4df07f
mov edi, 0x517220
cmp ecx, edx
jb 0x4dedbd
xor esi, esi
jmp 0x4df07f
cmp byte [ecx], 0x5a
jne 0x4dedce
mov ecx, 0x517224
mov edx, 0x517227
jmp 0x4dedcf
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.004b3450
add esp, 0x28
mov esi, eax
jmp 0x4df07f
mov ebp, dword [esp + 0x88]
mov esi, 0x517b5b
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x4dee2d
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4dee2d
inc ecx
cmp ecx, edi
jb 0x4dee20
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4dee5b
sub eax, 1
je 0x4dee56
sub eax, 1
je 0x4dee4f
xor esi, esi
jmp 0x4df07b
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4dee5d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4deebc
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4dee71
cmp bl, 0x2c
jne 0x4deea1
inc ecx
inc eax
cmp eax, edi
jae 0x4dee83
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4dee83
cmp dl, 0x39
jle 0x4dee72
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4deea1
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4dee9c
dec esi
sub edx, 1
jne 0x4dee91
mov esi, 0x517b5b
cmp eax, edi
jae 0x4deebc
cmp byte [eax], 0x5a
jne 0x4deeb6
mov eax, 0x5171ec
mov edi, 0x5171f0
jmp 0x4deebc
mov esi, 0x517cf4
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x517b5b
mov eax, 0x517b78
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.004b3450
add esp, 0x38
mov esi, eax
jmp 0x4df07b
mov edi, dword [esp + 0x8c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x88]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x4def2e.13
movzx eax, byte [eax + 0x4dfcc4]
jmp dword [eax*4 + 0x4dfcb4]
mov ecx, 2
jmp 0x4def41
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4def2e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4def2e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x52007c]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x4def2e.13
cmp ebx, 0xc
jne 0x4def9a
test edi, edi
je 0x4def91
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x4df074
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x4def91
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub eax, 2
je 0x4defc4
sub eax, 2
jne 0x4defcd
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 0x4df04b
cmp ecx, 0x800
jb 0x4df033
cmp ecx, 0x10000
jb 0x4df017
cmp ecx, 0x200000
jae 0x4df065
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 0x4df01f
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 0x4df036
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 0x4df04e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x8c]
jb 0x4defa5
mov byte [edi + ebp], 0
jmp 0x4df074
push ebp
call dword [0x520080]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x18]
test esi, esi
je case.0x4df605.7
cmp byte [ebp + 0x89c], 0
mov edi, dword [esp + 0x12c]
je 0x4df0a7
push esi
push str.Start_Date
push edi
push ebp
call fcn.004ab150
add esp, 0x10
test edi, edi
jne 0x4df0ba
push esi
push str.___Start_Date:__s_n
push ebp
call fcn.004b04d0
add esp, 0xc
push esi
call dword [0x520080]
add esp, 4
cmp byte [esp + 0xa2], 0
jne case.0x4df605.7
movzx ebx, byte [esp + 0xa1]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x4df605.7
movzx eax, byte [eax + 0x4dfd00]
jmp dword [eax*4 + 0x4dfcd8]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x4df110
xor edi, edi
jmp 0x4df52a
cmp byte [ecx], 0
mov eax, 0x50dd68
mov ecx, 0x50dd70
cmove eax, ecx
push eax
call dword [0x520088]
add esp, 4
mov edi, eax
jmp 0x4df52a
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x4df14c
xor edi, edi
jmp 0x4df52a
cmp eax, 4
jbe 0x4df162
push esi
push edx
call fcn.004e1920
add esp, 8
mov edi, eax
jmp 0x4df52a
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4df168
push ecx
cmp ecx, 0xa
mov eax, 0x5171e0
mov ecx, 0x517b5b
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004b3450
add esp, 0xc
mov edi, eax
jmp 0x4df52a
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x4df1b5
xor edi, edi
jmp 0x4df52a
push ecx
push eax
call fcn.004e1920
add esp, 8
mov edi, eax
jmp 0x4df52a
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.004e1920
add esp, 8
mov edi, eax
jmp 0x4df52a
push 0x517b5b
call dword [0x520088]
add esp, 4
mov edi, eax
jmp 0x4df52a
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.004e0120
add esp, 0xc
mov edi, eax
jmp 0x4df52a
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x4df23d
nop dword [eax + eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4df23d
inc ecx
cmp ecx, edx
jb 0x4df230
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4df255
sub eax, 2
je 0x4df25a
xor edi, edi
jmp 0x4df52a
mov edi, 0x517220
cmp ecx, edx
jb 0x4df265
xor edi, edi
jmp 0x4df52a
cmp byte [ecx], 0x5a
jne 0x4df276
mov ecx, 0x517224
mov edx, 0x517227
jmp 0x4df277
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.004b3450
add esp, 0x28
mov edi, eax
jmp 0x4df52a
mov ebp, dword [esp + 0x98]
mov esi, 0x517b5b
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x4df2d3
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4df2d3
inc ecx
cmp ecx, edi
jb 0x4df2c6
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4df301
sub eax, 1
je 0x4df2fc
sub eax, 1
je 0x4df2f5
xor edi, edi
jmp 0x4df526
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4df303
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x4df362
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4df317
cmp bl, 0x2c
jne 0x4df347
inc ecx
inc eax
cmp eax, edi
jae 0x4df329
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4df329
cmp dl, 0x39
jle 0x4df318
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4df347
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x4df342
dec esi
sub edx, 1
jne 0x4df337
mov esi, 0x517b5b
cmp eax, edi
jae 0x4df362
cmp byte [eax], 0x5a
jne 0x4df35c
mov eax, 0x5171ec
mov edi, 0x5171f0
jmp 0x4df362
mov esi, 0x517cf4
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x517b5b
mov eax, 0x517b78
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.004b3450
add esp, 0x38
mov edi, eax
jmp 0x4df526
mov esi, dword [esp + 0x9c]
lea eax, [ebx - 0xc]
mov edi, dword [esp + 0x98]
mov ecx, 1
sub esi, edi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x4df3d4.13
movzx eax, byte [eax + 0x4dfd30]
jmp dword [eax*4 + 0x4dfd20]
mov ecx, 2
jmp 0x4df3e7
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, esi
div ecx
test edx, edx
jne case.0x4df3d4.13
mov eax, esi
div ecx
cmp eax, 0x3fffffff
ja case.0x4df3d4.13
lea eax, [eax*4 + 1]
push eax
call dword [0x52007c]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x4df3d4.13
cmp ebx, 0xc
jne 0x4df440
test esi, esi
je 0x4df437
push esi
push edi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebp], 0
jmp 0x4df51f
xor esi, esi
cmp edi, dword [esp + 0x9c]
jae 0x4df437
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub eax, 2
je 0x4df46f
sub eax, 2
jne 0x4df478
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add edi, 2
movzx eax, byte [edi]
shl ecx, 8
or ecx, eax
inc edi
movzx eax, byte [edi]
mov ebx, 1
shl ecx, 8
inc edi
or ecx, eax
cmp ecx, 0x80
jb 0x4df4f6
cmp ecx, 0x800
jb 0x4df4de
cmp ecx, 0x10000
jb 0x4df4c2
cmp ecx, 0x200000
jae 0x4df510
mov al, cl
lea edx, [esi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x4df4ca
lea edx, [esi + 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 0x4df4e1
lea edx, [esi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x4df4f9
lea edx, [esi + ebp]
add esi, ebx
mov byte [edx], cl
cmp edi, dword [esp + 0x9c]
jb 0x4df450
mov byte [esi + ebp], 0
jmp 0x4df51f
push ebp
call dword [0x520080]
add esp, 4
or esi, 0xffffffff
xor ebp, ebp
xor edi, edi
test esi, esi
cmovns edi, ebp
mov ebp, dword [esp + 0x18]
test edi, edi
je case.0x4df605.7
cmp byte [ebp + 0x89c], 0
mov ebx, dword [esp + 0x12c]
je 0x4df552
push edi
push str.Expire_Date
push ebx
push ebp
call fcn.004ab150
add esp, 0x10
test ebx, ebx
jne 0x4df565
push edi
push str.___Expire_Date:__s_n
push ebp
call fcn.004b04d0
add esp, 0xc
push edi
call dword [0x520080]
push dword [esp + 0xd0]
lea eax, [esp + 0x11c]
push dword [esp + 0xd0]
push eax
call fcn.004e0a10
mov esi, eax
add esp, 0x10
test esi, esi
je case.0x4df605.7
cmp byte [ebp + 0x89c], 0
je 0x4df5ad
push esi
push str.Public_Key_Algorithm
push ebx
push ebp
call fcn.004ab150
add esp, 0x10
test ebx, ebx
jne 0x4df5c0
push esi
push str.___Public_Key_Algorithm:__s_n
push ebp
call fcn.004b04d0
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebx
push ebp
call fcn.004e0290
push esi
call dword [0x520080]
add esp, 0x18
cmp byte [esp + 0x72], 0
jne case.0x4df605.7
movzx ebx, byte [esp + 0x71]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x4df605.7
movzx eax, byte [eax + 0x4dfd6c]
jmp dword [eax*4 + 0x4dfd44]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x4df622
xor esi, esi
jmp 0x4dfa07
cmp byte [ecx], 0
mov eax, 0x50dd68
mov ecx, 0x50dd70
cmove eax, ecx
push eax
call dword [0x520088]
add esp, 4
mov esi, eax
jmp 0x4dfa07
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x4df658
xor esi, esi
jmp 0x4dfa07
cmp eax, 4
jbe 0x4df66e
push esi
push edx
call fcn.004e1920
add esp, 8
mov esi, eax
jmp 0x4dfa07
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x4df674
push ecx
cmp ecx, 0xa
mov eax, 0x5171e0
mov ecx, 0x517b5b
cmovb eax, ecx
push eax
push str._s_lx
call fcn.004b3450
add esp, 0xc
mov esi, eax
jmp 0x4dfa07
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x4df6bb
xor esi, esi
jmp 0x4dfa07
push ecx
push eax
call fcn.004e1920
add esp, 8
mov esi, eax
jmp 0x4dfa07
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.004e1920
add esp, 8
mov esi, eax
jmp 0x4dfa07
push 0x517b5b
call dword [0x520088]
add esp, 4
mov esi, eax
jmp 0x4dfa07
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.004e0120
add esp, 0xc
mov esi, eax
jmp 0x4dfa07
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x4df72d
nop
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4df72d
inc ecx
cmp ecx, edx
jb 0x4df720
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x4df745
sub eax, 2
je 0x4df74a
xor esi, esi
jmp 0x4dfa07
mov edi, 0x517220
cmp ecx, edx
jb 0x4df755
xor esi, esi
jmp 0x4dfa07
cmp byte [ecx], 0x5a
jne 0x4df766
mov ecx, 0x517224
mov edx, 0x517227
jmp 0x4df767
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.004b3450
add esp, 0x28
mov esi, eax
jmp 0x4dfa07
mov ebp, dword [esp + 0x68]
mov edi, 0x517b5b
mov esi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, esi
jae 0x4df7bd
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x4df7bd
inc ecx
cmp ecx, esi
jb 0x4df7b0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x4df7eb
sub eax, 1
je 0x4df7e6
sub eax, 1
je 0x4df7df
xor esi, esi
jmp 0x4dfa03
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x4df7ed
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, esi
jae 0x4df84c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x4df801
cmp bl, 0x2c
jne 0x4df831
inc ecx
inc eax
cmp eax, esi
jae 0x4df813
mov dl, byte [eax]
cmp dl, 0x30
jl 0x4df813
cmp dl, 0x39
jle 0x4df802
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x4df831
lea edi, [ecx - 1]
add edi, edx
cmp byte [edi], 0x30
jne 0x4df82c
dec edi
sub edx, 1
jne 0x4df821
mov edi, 0x517b5b
cmp eax, esi
jae 0x4df84c
cmp byte [eax], 0x5a
jne 0x4df846
mov eax, 0x5171ec
mov esi, 0x5171f0
jmp 0x4df84c
mov edi, 0x517cf4
inc eax
push eax
sub esi, eax
test edx, edx
push esi
push edi
push ecx
push edx
mov ecx, 0x517b5b
mov eax, 0x517b78
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.004b3450
add esp, 0x38
mov esi, eax
jmp 0x4dfa03
mov edi, dword [esp + 0x6c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x68]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x12
ja case.0x4df8b8.13
movzx eax, byte [eax + 0x4dfd9c]
jmp dword [eax*4 + 0x4dfd8c]
mov ecx, 2
jmp 0x4df8cb
mov ecx, 4
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x4df8b8.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x4df8b8.13
lea eax, [eax*4 + 1]
push eax
call dword [0x52007c]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x4df8b8.13
cmp ebx, 0xc
jne 0x4df924
test edi, edi
je 0x4df91b
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x4df9fc
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x4df91b
nop dword [eax]
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub eax, 2
je 0x4df94f
sub eax, 2
jne 0x4df958
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 0x4df9d6
cmp ecx, 0x800
jb 0x4df9be
cmp ecx, 0x10000
jb 0x4df9a2
cmp ecx, 0x200000
jae 0x4df9ed
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 0x4df9aa
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 0x4df9c1
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 0x4df9d9
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x6c]
jb 0x4df930
mov byte [edi + ebp], 0
jmp 0x4df9fc
push ebp
call dword [0x520080]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x18]
test esi, esi
je case.0x4df605.7
cmp byte [ebp + 0x89c], 0
mov edi, dword [esp + 0x12c]
je 0x4dfa2f
push esi
push str.Signature
push edi
push ebp
call fcn.004ab150
add esp, 0x10
test edi, edi
jne 0x4dfa42
push esi
push str.___Signature:__s_n
push ebp
call fcn.004b04d0
add esp, 0xc
push esi
call dword [0x520080]
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 ebp
call fcn.004c66d0
add esp, 0x18
test eax, eax
jne 0x4dfa9d
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x52007c]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4dfaa8
push dword [esp + 0x20]
call dword [0x520080]
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 0x4dfb06
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x4dfb05
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x4dfb00
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x4dfafb
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4dfab2
jmp 0x4dfb06
add esi, 3
jmp 0x4dfb06
add esi, 2
jmp 0x4dfb06
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x4dfb33
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.004e0200
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x4dfb15
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 0x4dfb94
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x4dfb93
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x4dfb8e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x4dfb89
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x4dfb40
jmp 0x4dfb94
add esi, 3
jmp 0x4dfb94
add esi, 2
jmp 0x4dfb94
inc esi
mov byte [esi + ebp], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x520080]
mov esi, dword [esp + 0x1c]
add esp, 4
cmp byte [esi + 0x89c], 0
je 0x4dfbd0
push ebx
push str.Cert
push dword [esp + 0x134]
push esi
call fcn.004ab150
add esp, 0x10
cmp dword [esp + 0x12c], 0
jne 0x4dfbe9
push ebx
push 0x50da84
push esi
call fcn.004b04d0
add esp, 0xc
push ebx
call dword [0x520080]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret