Function at 0x42587b
Capabilities:
Get common file path
Get program files directory
Link many functions at runtime

Disassembly:
push 0x28c
mov eax, 0x488f8d
call fcn.00464e7c
mov edi, ecx
push 0x4e1df8
call fcn.0046e0e0
pop ecx
test eax, eax
jne 0x425bb3
cmp byte [0x4e258e], al
jne 0x425bb3
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x21c]
push ebx
push eax
call fcn.00466990
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
push ebx
push ebx
push 0x26
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x425bb3
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00426bee
push str.Common_FilesAdobeOOBEPDAppP7_
mov edx, eax
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x264]
call fcn.00427162
inc ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
mov edx, eax
mov dword [esp], str.IMSLib.dll
call fcn.00427162
pop ecx
lea ecx, [ebp - 0x264]
call fcn.00426bc3
push 4
pop eax
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], al
call fcn.00426bc3
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x425ba8
push str.IMS_createRefForProductVersion
push esi
mov byte [0x4e258e], bl
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IMS_registerClientToGroup
push esi
mov dword [ebp - 0x288], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IMS_deregisterClientFromGroup
push esi
mov dword [ebp - 0x284], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IMS_fetchDefaultUserInfoForClientId
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IMS_releaseData
push esi
mov dword [ebp - 0x280], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IMS_releaseRef
push esi
mov dword [ebp - 0x294], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
and dword [ebp - 0x224], 0
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x220], 0xf
mov byte [ebp - 0x234], 0
push 0x1a
lea ecx, [edi + 0x50]
mov byte [ebp - 4], 5
call fcn.0043f780
movzx eax, ax
cmp eax, 0x38
jne 0x4259fc
push 4
pop edx
jmp 0x425a1a
cmp eax, 0x42
jne 0x425a06
push 2
pop ebx
jmp 0x4259f7
cmp eax, 0x43
jne 0x425a0f
push 3
jmp 0x425a03
xor ebx, ebx
cmp eax, 0x45
push 4
pop edx
cmove ebx, edx
cmp ebx, edx
mov ecx, str.V7AcrobatESR_12_Win_GM
mov eax, str.V7AcrobatCont_12_Win_GM
cmove eax, ecx
lea ecx, [ebp - 0x234]
push eax
call fcn.00426c94
cmp dword [ebp - 0x220], 0x10
lea eax, [ebp - 0x234]
mov esi, dword [ebp - 0x288]
mov ecx, esi
cmovae eax, dword [ebp - 0x234]
xor ebx, ebx
push eax
push ebx
call dword [0x4907c8]
call esi
mov esi, dword [ebp - 0x284]
mov edi, str.AAM_CCE
pop ecx
pop ecx
push ebx
push edi
push eax
mov ecx, esi
mov dword [ebp - 0x290], eax
call dword [0x4907c8]
call esi
add esp, 0xc
test eax, eax
jne 0x425b9d
mov esi, dword [ebp - 0x280]
lea eax, [ebp - 0x28c]
push eax
push edi
push dword [ebp - 0x290]
mov ecx, esi
mov dword [ebp - 0x28c], ebx
call dword [0x4907c8]
call esi
add esp, 0xc
lea ecx, [ebp - 0x288]
push dword [ebp - 0x28c]
call fcn.0040986c
mov byte [ebp - 4], 6
call fcn.0044afe1
push eax
lea ecx, [ebp - 0x280]
call fcn.00402824
push str._UserID_
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 7
call fcn.0040279b
lea eax, [ebp - 0x280]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x284]
lea ecx, [ebp - 0x288]
call fcn.00446e21
pop ecx
mov byte [ebp - 4], 7
mov esi, eax
mov ecx, dword [ebp - 0x284]
add ecx, 0xfffffff0
call fcn.00402def
test esi, esi
jne 0x425b47
mov eax, dword [ebp - 0x280]
cmp dword [eax - 0xc], ebx
je 0x425b47
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
push 0x104
mov edx, 0x4e1df8
lea ecx, [ebp - 0x280]
call fcn.0043f84d
pop ecx
pop ecx
mov esi, dword [ebp - 0x294]
lea eax, [ebp - 0x28c]
push eax
push 3
push dword [ebp - 0x290]
mov ecx, esi
call dword [0x4907c8]
call esi
mov esi, dword [ebp - 0x298]
lea eax, [ebp - 0x290]
add esp, 0xc
mov ecx, esi
push eax
call dword [0x4907c8]
call esi
pop ecx
mov ecx, dword [ebp - 0x280]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov ecx, dword [ebp - 0x288]
add ecx, 0xfffffff0
call fcn.00402def
lea ecx, [ebp - 0x234]
call fcn.00426cea
lea ecx, [ebp - 0x24c]
call fcn.00426bc3
mov eax, 0x4e1df8
call fcn.00464e26
ret