Function at 0x4310d4
Capabilities:
Read .ini file

Disassembly:
push 0x464
mov eax, 0x565ac9
call fcn.0053d399
and dword [ebp - 0x464], 0
mov esi, ecx
mov dword [ebp - 0x424], esi
mov ebx, edx
mov dword [ebp - 4], 2
call fcn.00437f60
push eax
mov ecx, esi
call fcn.0042a551
mov dword [ebp - 0x464], 1
call fcn.00437f60
push eax
lea ecx, [ebp - 0x44c]
call fcn.0042a551
mov byte [ebp - 4], 3
call fcn.00437f60
push eax
lea ecx, [ebp - 0x460]
call fcn.0042a551
lea edi, [ebp - 0x470]
mov byte [ebp - 4], 4
call fcn.004336e8
mov byte [ebp - 4], 5
mov dword [ebp - method.CEpsonScanSetting.virtual_0], vtable.CEpsonScanSetting.0
call fcn.00437f60
push eax
lea ecx, [ebp - 0x450]
call fcn.0042a551
lea eax, [ebp - 0x420]
push eax
mov byte [ebp - 4], 6
call fcn.00435508
pop ecx
call fcn.00437f60
push eax
lea ecx, [ebp - 0x45c]
call fcn.0042a551
push str.ESCNDV
push 0x59a6b4
lea eax, [ebp - 0x420]
push eax
mov esi, str._s_s_s
lea eax, [ebp - 0x45c]
push esi
push eax
mov byte [ebp - 4], 7
call fcn.0040a7ee
add esp, 0x14
call fcn.00437f60
push eax
lea ecx, [ebp - 0x458]
call fcn.0042a551
push ebx
push ecx
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x428], esp
push 0x598e20
call fcn.00402358
lea edi, [ebp - 0x43c]
call fcn.00437362
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 9
call fcn.0040248a
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff0
call fcn.00402728
call fcn.00437f60
push eax
lea ecx, [ebp - 0x43c]
call fcn.0042a551
mov byte [ebp - 4], 0xa
push dword [ebp + 8]
lea eax, [ebp - 0x43c]
push dword [ebp - 0x458]
push dword [ebp - 0x45c]
push esi
push eax
call fcn.0040a7ee
add esp, 0x14
push dword [ebp - 0x43c]
lea ecx, [ebp - 0x450]
call fcn.00402332
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor esi, esi
lea eax, [ebp - 0x216]
push esi
push eax
call fcn.00538a20
lea eax, [ebp - 0x218]
push eax
call fcn.004354e1
add esp, 0x10
call fcn.00437f60
push eax
lea ecx, [ebp - 0x440]
call fcn.0042a551
push str.Resources
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x440]
push 0x59a4dc
push eax
mov byte [ebp - 4], 0xb
call fcn.0040a7ee
add esp, 0x10
mov dword [ebp - method.CLcMgrStub.virtual_0], vtable.CLcMgrStub.0
mov dword [ebp - 0x444], esi
mov byte [ebp - 4], 0xc
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], esi
je 0x431352
call fcn.00437f60
push eax
lea ecx, [ebp - 0x434]
call fcn.0042a551
mov byte [ebp - 4], 0xd
push dword [ebp + 0xc]
lea eax, [ebp - 0x434]
push dword [ebp - 0x440]
push str._s_s
push eax
call fcn.0040a7ee
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x428], esp
push str.string
call fcn.00402358
mov byte [ebp - 4], 0xe
mov edi, dword [ebp - 0x434]
push ecx
add edi, 0xfffffff0
mov dword [ebp - 0x430], esp
mov esi, esp
push edi
call fcn.0040242c
add eax, 0x10
mov dword [esi], eax
pop ecx
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0xd
call fcn.004172bb
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.00402728
jmp 0x431396
push ecx
mov ecx, esp
mov dword [ebp - 0x428], esp
push str.string
call fcn.00402358
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x440]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x430], esp
mov esi, esp
push eax
call fcn.0040242c
add eax, 0x10
mov dword [esi], eax
pop ecx
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0xc
call fcn.004172bb
call fcn.00437f60
push eax
lea ecx, [ebp - 0x434]
call fcn.0042a551
push 0x59e680
lea ebx, [ebp - 0x42c]
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0x10
call fcn.00417310
push eax
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0x11
call fcn.0040248a
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402728
push dword [ebp - 0x450]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0x12c
push str.Resolution
mov esi, str.ScanSettings
push esi
call edi
push eax
push dword [ebp - 0x434]
lea eax, [ebp - 0x44c]
push eax
call fcn.0040a7ee
push 0x59e67c
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x42c]
push eax
call fcn.00401943
add esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040248a
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402728
push dword [ebp - 0x450]
push 0
push str.ImageType
push esi
call edi
sub eax, 0
je 0x43147c
dec eax
je 0x43146f
dec eax
je 0x431477
dec eax
je 0x431473
push 2
jmp 0x43147e
xor eax, eax
jmp 0x43147f
xor eax, eax
inc eax
jmp 0x43147f
push 3
pop eax
lea esi, [ebp - 0x428]
call fcn.004339b2
mov byte [ebp - 4], 0x13
push dword [eax]
lea ebx, [ebp - 0x430]
lea esi, [ebp - 0x448]
call fcn.00417310
push eax
mov byte [ebp - 4], 0x14
push dword [ebp - 0x424]
lea eax, [ebp - 0x438]
push eax
call fcn.004018ec
push 0x59e67c
push eax
lea eax, [ebp - 0x42c]
push eax
mov byte [ebp - 4], 0x15
call fcn.00401943
add esp, 0x18
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040248a
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402728
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.00402728
push dword [ebp - 0x450]
push 0xffffffffffffffff
push 0x59b1c8
push str.FileSaveSettings
call edi
dec eax
je 0x43155a
dec eax
je 0x431556
dec eax
je 0x431551
dec eax
je 0x43154d
dec eax
je 0x431549
sub eax, 3
jne 0x431556
push 3
jmp 0x431553
push 5
jmp 0x431553
push 2
jmp 0x431553
push 4
pop eax
jmp 0x43155d
xor eax, eax
jmp 0x43155d
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x42c]
lea esi, [ebp - 0x470]
call fcn.004338ce
mov byte [ebp - 4], 0x17
push dword [eax]
lea ebx, [ebp - 0x438]
lea esi, [ebp - 0x448]
call fcn.00417310
push eax
mov byte [ebp - 4], 0x18
push dword [ebp - 0x424]
lea eax, [ebp - 0x430]
push eax
call fcn.004018ec
push 0x59e67c
push eax
lea eax, [ebp - 0x428]
push eax
mov byte [ebp - 4], 0x19
call fcn.00401943
add esp, 0x18
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040248a
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402728
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402728
push dword [ebp - 0x450]
push 0
push str.DocumentSource
push str.ScanSettings
call edi
cmp eax, 8
ja case.0x43161b.1064
jmp dword [eax*4 + 0x431774]
xor eax, eax
inc eax
jmp 0x431646
push 2
pop eax
jmp 0x431646
push 3
jmp 0x431629
push 7
jmp 0x431629
push 8
jmp 0x431629
push 4
jmp 0x431629
push 6
jmp 0x431629
push 5
jmp 0x431629
xor eax, eax
push eax
lea ecx, [ebp - 0x438]
lea esi, [ebp - 0x470]
call fcn.0043393d
mov byte [ebp - 4], 0x1b
push dword [eax]
lea ebx, [ebp - 0x430]
lea esi, [ebp - 0x448]
call fcn.00417310
push eax
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x424]
lea eax, [ebp - 0x428]
push eax
call fcn.004018ec
add esp, 0xc
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040248a
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x434]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.004172aa
mov ecx, dword [ebp - 0x440]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x458]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x45c]
add ecx, 0xfffffff0
call fcn.00402728
lea ecx, [ebp - 0x454]
call fcn.004129a6
lea ecx, [ebp - 0x46c]
mov dword [ebp - method.ScanSettingManager.virtual_0], vtable.ScanSettingManager.0
call fcn.00433a2c
mov ecx, dword [ebp - 0x460]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp - 0x44c]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00402728
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.00402728
mov eax, dword [ebp - 0x424]
call fcn.0053d41c
ret 8