Function at 0x40e3af
Capabilities:
Read .ini file

Disassembly:
push 0x494
mov eax, 0x5695ec
call fcn.0053d749
xor edi, edi
mov esi, ecx
mov ebx, edx
mov dword [ebp - 0x49c], edi
mov dword [ebp - 0x480], ebx
cmp dword [esi], edi
jne 0x40e3e8
call fcn.00438329
push eax
mov ecx, ebx
call fcn.00402a28
mov eax, ebx
jmp 0x40e725
call fcn.00438329
push eax
lea ecx, [ebp - 0x48c]
call fcn.00402a28
mov dword [ebp - 4], 1
call fcn.00438329
push eax
lea ecx, [ebp - 0x484]
call fcn.00402a28
lea eax, [ebp - 0x420]
push eax
mov byte [ebp - 4], 2
call fcn.004358cf
mov dword [esp], str.Event_Manager_
push 0x59a77c
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x484]
push 0x59a788
push eax
call fcn.0040ab0a
add esp, 0x14
push 0x59a798
lea eax, [ebp - 0x484]
push eax
lea eax, [ebp - 0x488]
push eax
call fcn.00401c58
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 0x40e4a9
cmp eax, 0x46
jge 0x40e4b2
cmp dword [ebp - 0x474], 3
jl 0x40e501
call fcn.00438329
push eax
lea ecx, [ebp - 0x47c]
call fcn.00402a28
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.00402741
pop ecx
push dword [ebp - 0x480]
add eax, 0x10
push esi
mov dword [ebx], eax
call fcn.0040e066
mov ecx, dword [ebp - 0x47c]
jmp 0x40e6ed
call fcn.00438329
push eax
lea ecx, [ebp - 0x474]
call fcn.00402a28
mov byte [ebp - 4], 5
call fcn.00438329
push eax
lea ecx, [ebp - 0x47c]
call fcn.00402a28
lea eax, [ebp - 0x218]
push eax
mov byte [ebp - 4], 6
call fcn.004358a8
pop ecx
call fcn.00438329
push eax
lea ecx, [ebp - 0x490]
call fcn.00402a28
push str.Resources
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x490]
push 0x59a5a4
push eax
mov byte [ebp - 4], 7
call fcn.0040ab0a
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.0040266d
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.00402741
add eax, 0x10
mov dword [esi], eax
pop ecx
lea esi, [ebp - 0x498]
mov byte [ebp - 4], 8
call fcn.004176cf
push str.MSG.LowVersionDriver.Error
lea ebx, [ebp - 0x478]
call fcn.00417724
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0xa
call fcn.0040279f
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.00402a50
push str.MSG.WindowsTitle
lea ebx, [ebp - 0x478]
call fcn.00417724
push eax
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 0xb
call fcn.0040279f
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.00402a50
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.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x40e656
push 0x2f
jmp 0x40e666
push 0x5c
push esi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x40e671
push 0x5c
push esi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x40e673
mov eax, esi
push 1
push 0x119
push eax
lea esi, [ebp - 0x470]
call fcn.00404e75
push str.ScanToPDF____Lower_version
push 0
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
lea ecx, [ebp - 0x470]
mov byte [ebp - 4], 8
call fcn.00404ee1
mov ecx, dword [ebp - 0x480]
push 0x599168
call fcn.0040266d
lea ecx, [ebp - 0x498]
mov dword [ebp - 0x49c], 1
mov byte [ebp - 4], 7
call fcn.004176be
mov ecx, edi
call fcn.00402a50
lea ecx, [ebx - 0x10]
call fcn.00402a50
mov ecx, dword [ebp - 0x474]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x488]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x484]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x48c]
add ecx, 0xfffffff0
call fcn.00402a50
mov eax, dword [ebp - 0x480]
call fcn.0053d7cc
ret