Function at 0x426768
Capabilities:
Check if file exists
Get common file path
Get file attributes
Link many functions at runtime
Set current directory

Disassembly:
push 0x14
mov eax, 0x4891a8
call fcn.00464e48
mov edi, ecx
cmp dword [0x4e2538], 0
jne 0x426a56
test edi, edi
je 0x426a56
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor ecx, ecx
push 2
pop edx
lea esi, [eax + 0x13]
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0044a8a2
pop ecx
push eax
push esi
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [edi + 0x68]
sub eax, 0x10
push eax
call fcn.00402d2a
add eax, 0x10
pop ecx
mov dword [ebp - 0x14], eax
mov ecx, edi
mov dword [ebp - 4], ebx
call fcn.00403212
test eax, eax
mov ecx, str.Acrobat_
mov esi, str.Reader_
cmove esi, ecx
push esi
call fcn.0046a019
pop ecx
push eax
push esi
lea ecx, [ebp - 0x14]
call fcn.00402556
mov edi, dword [ebp - 0x14]
lea eax, [edi - 0x10]
push eax
mov dword [ebp - 0x20], eax
call fcn.00402d2a
add eax, 0x10
pop ecx
mov dword [ebp - 0x10], eax
mov esi, str.logsession.dll
mov byte [ebp - 4], 1
push esi
call fcn.0046a019
pop ecx
push eax
push esi
lea ecx, [ebp - 0x10]
call fcn.00402556
mov esi, dword [ebp - 0x10]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42686e
push ecx
push edi
push str.Agent
mov edx, str.SoftwareAdobeCommonFilesUsageCC_
mov ecx, SysReAllocString
call fcn.0043fa73
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, dword [ebp - 0x1c]
push edi
mov dword [0x4e2538], eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
jmp 0x4268a6
push str.Unable_to_find_Logsession.dll:
lea ecx, [ebp - 0x18]
call fcn.0040279b
push ebx
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 2
push eax
push 2
lea edx, [ebp - 0x18]
pop ecx
call fcn.00413900
pop ecx
pop ecx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x1c]
push edi
call fcn.0044a89d
mov eax, dword [0x4e2538]
pop ecx
test eax, eax
jne 0x4268ec
push str.LoadLibrary_failed:
lea ecx, [ebp - 0x1c]
call fcn.0040279b
push ebx
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 3
push eax
push 2
lea edx, [ebp - 0x1c]
pop ecx
call fcn.00413900
mov eax, dword [ebp - 0x1c]
pop ecx
pop ecx
lea ecx, [eax - 0x10]
call fcn.00402def
mov esi, dword [ebp - 0x10]
jmp 0x426a3f
mov ecx, dword [0x4e1efc]
cmp ecx, 1
jne 0x42691f
push str.UTInitialize
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e253c], eax
test eax, eax
jne 0x426981
push str.Failed_to_export_UTInitialize_from_Logsession_HB
lea ecx, [ebp - 0x1c]
call fcn.0040279b
mov byte [ebp - 4], 4
jmp 0x42694e
cmp ecx, 2
jne 0x426a16
push str.UTInitialize
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e2540], eax
test eax, eax
jne 0x426981
push str.Failed_to_export_UTInitialize_from_Logsession_NGL
lea ecx, [ebp - 0x1c]
call fcn.0040279b
mov byte [ebp - 4], 5
push ebx
push 2
lea edx, [ebp - 0x1c]
pop ecx
call fcn.00413e51
pop ecx
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov eax, dword [0x4e2538]
test eax, eax
je 0x426976
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4e2538], ebx
jmp 0x426a3f
push str.UTStartSession
push dword [0x4e2538]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.UTLogEvent
push dword [0x4e2538]
mov dword [0x4e2544], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.UTNewDataGroup
push dword [0x4e2538]
mov dword [0x4e2548], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.UTAddToGroup
push dword [0x4e2538]
mov dword [0x4e254c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.UTCloseSession
push dword [0x4e2538]
mov dword [0x4e2550], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.UTDisableRealTime
push dword [0x4e2538]
mov dword [0x4e2554], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esi - 0x10]
mov dword [0x4e2558], eax
call fcn.00402def
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
jmp 0x426a85
push str.Not_valid_LogsessionType_in_HB::AVUsageMeasureInitialized
lea ecx, [ebp - 0x1c]
call fcn.0040279b
push ebx
push 2
lea edx, [ebp - 0x1c]
mov byte [ebp - 4], 6
pop ecx
call fcn.00413e51
mov eax, dword [ebp - 0x1c]
pop ecx
lea ecx, [eax - 0x10]
call fcn.00402def
lea ecx, [esi - 0x10]
call fcn.00402def
mov ecx, dword [ebp - 0x20]
call fcn.00402def
xor al, al
jmp 0x426b00
push str.No_condition_to_load_library
lea ecx, [ebp - 0x20]
call fcn.0040279b
xor ebx, ebx
mov dword [ebp - 4], 7
push ebx
push 2
pop eax
lea edx, [ebp - 0x20]
mov ecx, eax
call fcn.00413e51
or dword [ebp - 4], 0xffffffff
pop ecx
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.00402def
cmp dword [0x4e2544], 0
je 0x426abc
cmp dword [0x4e2548], 0
je 0x426abc
cmp dword [0x4e254c], 0
je 0x426abc
cmp dword [0x4e2550], 0
je 0x426abc
cmp dword [0x4e2554], 0
je 0x426abc
xor eax, eax
inc eax
jmp 0x426b00
push str.One_of_the_exports_failed
lea ecx, [ebp - 0x18]
call fcn.0040279b
push ebx
push 2
lea edx, [ebp - 0x18]
mov dword [ebp - 4], 8
pop ecx
call fcn.00413e51
pop ecx
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov eax, dword [0x4e2538]
test eax, eax
je 0x426af8
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4e2538], ebx
mov al, bl
call fcn.00464e11
ret