Function at 0x4142e5
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
mov eax, 0x604e78
call fcn.00465b38
sub esp, 0x21c
push ebx
push esi
lea eax, [ecx + 0x190]
push edi
xor esi, esi
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], eax
call fcn.005ecafe
push dword [0x66b7a0]
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], esi
call fcn.005ed182
push dword [ebp - 0x20]
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
call ebx
cmp eax, 0xffffffff
je 0x41435f
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1c]
call fcn.00480200
push dword [eax]
mov byte [ebp - 4], 1
call fcn.00438063
and byte [ebp - 4], 0
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00480a70
mov dword [ebp - 0x14], 1
jmp 0x414550
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
mov esi, 0x104
test edi, edi
je 0x414453
push 0x69dc58
lea ecx, [ebp - 0x18]
call fcn.005ece05
push esi
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.005ed1d6
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
call fcn.005ed226
push 0x5c
lea ecx, [ebp - 0x18]
call fcn.005e1d1b
cmp eax, 0xffffffff
je 0x41443d
lea edi, [eax + 1]
lea eax, [ebp - 0x10]
push edi
push eax
lea ecx, [ebp - 0x18]
call fcn.005e1c4f
push dword [0x66b7a0]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.005ed182
push dword [ebp - 0x10]
call ebx
cmp eax, 0xffffffff
je 0x414431
lea eax, [ebp - 0x14]
push edi
push eax
lea ecx, [ebp - 0x18]
call fcn.005e1c4f
mov ecx, dword [ebp - 0x1c]
push eax
mov byte [ebp - 4], 4
call fcn.005eced8
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.005ecd91
push dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
call fcn.00480200
push dword [eax]
mov byte [ebp - 4], 5
call fcn.00438063
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.00480a70
mov dword [ebp - 0x14], 1
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.005ecd91
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.005ecd91
cmp dword [ebp - 0x14], 0
jne 0x414550
and word [ebp - 0x228], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x226]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x228]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x69dc58
lea ecx, [ebp - 0x10]
call fcn.005ece05
push dword [0x66b7a0]
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x10]
push 0x66b78c
push eax
call fcn.005e20b1
add esp, 0x10
push dword [ebp - 0x10]
call ebx
cmp eax, 0xffffffff
je 0x4144f4
lea eax, [ebp - 0x228]
push eax
push 0x66cb7c
push dword [ebp - 0x1c]
call fcn.005e20b1
add esp, 0xc
lea ecx, [ebp - 0x1c]
push dword [ebp - 0x10]
call fcn.00480200
push dword [eax]
mov byte [ebp - 4], 7
call fcn.00438063
pop ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call fcn.00480a70
mov dword [ebp - 0x14], 1
and byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.005ecd91
cmp dword [ebp - 0x14], 0
jne 0x414550
cmp dword [0x6a3388], 0
je 0x414548
push dword [0x66b7a0]
lea ecx, [ebp - 0x10]
call fcn.00480200
push dword [eax]
mov byte [ebp - 4], 8
push str.OEAViewer_Init_reader_failed__Cannot_find__s_r_n
push str.oeaviewer
push 4
push 0x6a2af4
call fcn.004cdcb0
and byte [ebp - 4], 0
add esp, 0x14
lea ecx, [ebp - 0x10]
call fcn.00480a70
push 3
call fcn.004296ed
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.005ecd91
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret