Function at 0x40e093
Capabilities:
Read .ini file

Disassembly:
push 0x494
mov eax, 0x56922f
call fcn.0053d399
xor edi, edi
mov esi, ecx
mov ebx, edx
mov dword [ebp - 0x49c], edi
mov dword [ebp - 0x480], ebx
cmp dword [esi], edi
jne 0x40e0cc
call fcn.00437f60
push eax
mov ecx, ebx
call fcn.0042a551
mov eax, ebx
jmp 0x40e409
call fcn.00437f60
push eax
lea ecx, [ebp - 0x48c]
call fcn.0042a551
mov dword [ebp - 4], 1
call fcn.00437f60
push eax
lea ecx, [ebp - 0x484]
call fcn.0042a551
lea eax, [ebp - 0x420]
push eax
mov byte [ebp - 4], 2
call fcn.00435508
mov dword [esp], str.Event_Manager_
push 0x59a6b4
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x484]
push 0x59a6c0
push eax
call fcn.0040a7ee
add esp, 0x14
push 0x59a6d0
lea eax, [ebp - 0x484]
push eax
lea eax, [ebp - 0x488]
push eax
call fcn.00401943
add esp, 0xc
mov byte [ebp - 4], 3
push dword [ebp - 0x488]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push str.MajorNum
push eax
call ebx
push dword [ebp - 0x488]
mov dword [ebp - 0x474], eax
mov eax, dword [esi]
mov eax, dword [eax + 4]
push edi
push str.MinorNum
push eax
call ebx
cmp dword [ebp - 0x474], 2
jne 0x40e18d
cmp eax, 0x46
jge 0x40e196
cmp dword [ebp - 0x474], 3
jl 0x40e1e5
call fcn.00437f60
push eax
lea ecx, [ebp - 0x47c]
call fcn.0042a551
mov byte [ebp - 4], 4
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [eax + 0x14]
push ecx
sub eax, 0x10
mov dword [ebp - 0x478], esp
mov ebx, esp
push eax
call fcn.0040242c
pop ecx
push dword [ebp - 0x480]
add eax, 0x10
push esi
mov dword [ebx], eax
call fcn.0040dd4a
mov ecx, dword [ebp - 0x47c]
jmp 0x40e3d1
call fcn.00437f60
push eax
lea ecx, [ebp - 0x474]
call fcn.0042a551
mov byte [ebp - 4], 5
call fcn.00437f60
push eax
lea ecx, [ebp - 0x47c]
call fcn.0042a551
lea eax, [ebp - 0x218]
push eax
mov byte [ebp - 4], 6
call fcn.004354e1
pop ecx
call fcn.00437f60
push eax
lea ecx, [ebp - 0x490]
call fcn.0042a551
push str.Resources
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x490]
push 0x59a4dc
push eax
mov byte [ebp - 4], 7
call fcn.0040a7ee
mov dword [ebp - method.CLcMgrStub.virtual_0], vtable.CLcMgrStub.0
mov dword [ebp - 0x494], edi
add esp, 0xc
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x478], esp
push str.string
call fcn.00402358
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x490]
push ecx
add edi, 0xfffffff0
mov dword [ebp - 0x4a0], esp
mov esi, esp
push edi
call fcn.0040242c
add eax, 0x10
mov dword [esi], eax
pop ecx
lea esi, [ebp - 0x498]
mov byte [ebp - 4], 8
call fcn.004172bb
push str.MSG.LowVersionDriver.Error
lea ebx, [ebp - 0x478]
call fcn.00417310
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0xa
call fcn.0040248a
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.00402728
push str.MSG.WindowsTitle
lea ebx, [ebp - 0x478]
call fcn.00417310
push eax
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 0xb
call fcn.0040248a
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.00402728
mov ebx, dword [ebp - 0x47c]
push 0x30
push ebx
push dword [ebp - 0x474]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x2f
mov esi, str...COMMONApplicationRunner.cpp
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x40e33a
push 0x2f
jmp 0x40e34a
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x40e355
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x40e357
mov eax, esi
push 1
push 0x119
push eax
lea esi, [ebp - 0x470]
call fcn.00404b6f
push str.ScanToPDF____Lower_version
push 0
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.00404c4d
mov esi, eax
call fcn.0040cc0a
pop ecx
lea ecx, [ebp - 0x470]
mov byte [ebp - 4], 8
call fcn.00404bdb
mov ecx, dword [ebp - 0x480]
push 0x5990a0
call fcn.00402358
lea ecx, [ebp - 0x498]
mov dword [ebp - 0x49c], 1
mov byte [ebp - 4], 7
call fcn.004172aa
mov ecx, edi
call fcn.00402728
lea ecx, [ebx - 0x10]
call fcn.00402728
mov ecx, dword [ebp - 0x474]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x488]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x484]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x48c]
add ecx, 0xfffffff0
call fcn.00402728
mov eax, dword [ebp - 0x480]
call fcn.0053d41c
ret