Function at 0x430c58
Capabilities:
Read .ini file

Disassembly:
push 0x464
mov eax, 0x5655d8
call fcn.0053cea9
and dword [ebp - 0x464], 0
mov esi, ecx
mov dword [ebp - 0x424], esi
mov ebx, edx
mov dword [ebp - 4], 2
call fcn.00437a9e
push eax
mov ecx, esi
call fcn.00402723
mov dword [ebp - 0x464], 1
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x44c]
call fcn.00402723
mov byte [ebp - 4], 3
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x460]
call fcn.00402723
lea edi, [ebp - 0x470]
mov byte [ebp - 4], 4
call fcn.00433309
mov byte [ebp - 4], 5
mov dword [ebp - method.CEpsonScanSetting.virtual_0], vtable.CEpsonScanSetting.0
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x450]
call fcn.00402723
lea eax, [ebp - 0x420]
push eax
mov byte [ebp - 4], 6
call fcn.00435129
pop ecx
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x45c]
call fcn.00402723
push str.ESCNDV
push 0x59a44c
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.0040a0e9
add esp, 0x14
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x458]
call fcn.00402723
push ebx
push ecx
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x428], esp
push 0x598d00
call fcn.0040235d
lea edi, [ebp - 0x43c]
call fcn.00436f83
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 9
call fcn.0040248f
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff0
call fcn.0040274b
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x43c]
call fcn.00402723
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.0040a0e9
add esp, 0x14
push dword [ebp - 0x43c]
lea ecx, [ebp - 0x450]
call fcn.00402337
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor esi, esi
lea eax, [ebp - 0x216]
push esi
push eax
call fcn.00538530
lea eax, [ebp - 0x218]
push eax
call fcn.00435102
add esp, 0x10
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x440]
call fcn.00402723
push str.Resources
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x440]
push 0x59a28c
push eax
mov byte [ebp - 4], 0xb
call fcn.0040a0e9
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 0x430ed6
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x434]
call fcn.00402723
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.0040a0e9
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x428], esp
push str.string
call fcn.0040235d
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.00402431
add eax, 0x10
mov dword [esi], eax
pop ecx
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0xd
call fcn.00416e97
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0040274b
jmp 0x430f1a
push ecx
mov ecx, esp
mov dword [ebp - 0x428], esp
push str.string
call fcn.0040235d
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.00402431
add eax, 0x10
mov dword [esi], eax
pop ecx
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0xc
call fcn.00416e97
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x434]
call fcn.00402723
push 0x59e3d0
lea ebx, [ebp - 0x42c]
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0x10
call fcn.00416eec
push eax
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0x11
call fcn.0040248f
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.0040274b
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.0040a0e9
push 0x59e3cc
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x42c]
push eax
call fcn.0040193e
add esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040248f
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.0040274b
push dword [ebp - 0x450]
push 0
push str.ImageType
push esi
call edi
sub eax, 0
je 0x431000
dec eax
je 0x430ff3
dec eax
je 0x430ffb
dec eax
je 0x430ff7
push 2
jmp 0x431002
xor eax, eax
jmp 0x431003
xor eax, eax
inc eax
jmp 0x431003
push 3
pop eax
lea esi, [ebp - 0x428]
call fcn.004335d3
mov byte [ebp - 4], 0x13
push dword [eax]
lea ebx, [ebp - 0x430]
lea esi, [ebp - 0x448]
call fcn.00416eec
push eax
mov byte [ebp - 4], 0x14
push dword [ebp - 0x424]
lea eax, [ebp - 0x438]
push eax
call fcn.004018e7
push 0x59e3cc
push eax
lea eax, [ebp - 0x42c]
push eax
mov byte [ebp - 4], 0x15
call fcn.0040193e
add esp, 0x18
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040248f
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.0040274b
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.0040274b
push dword [ebp - 0x450]
push 0xffffffffffffffff
push 0x59af50
push str.FileSaveSettings
call edi
dec eax
je 0x4310de
dec eax
je 0x4310da
dec eax
je 0x4310d5
dec eax
je 0x4310d1
dec eax
je 0x4310cd
sub eax, 3
jne 0x4310da
push 3
jmp 0x4310d7
push 5
jmp 0x4310d7
push 2
jmp 0x4310d7
push 4
pop eax
jmp 0x4310e1
xor eax, eax
jmp 0x4310e1
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x42c]
lea esi, [ebp - 0x470]
call fcn.004334ef
mov byte [ebp - 4], 0x17
push dword [eax]
lea ebx, [ebp - 0x438]
lea esi, [ebp - 0x448]
call fcn.00416eec
push eax
mov byte [ebp - 4], 0x18
push dword [ebp - 0x424]
lea eax, [ebp - 0x430]
push eax
call fcn.004018e7
push 0x59e3cc
push eax
lea eax, [ebp - 0x428]
push eax
mov byte [ebp - 4], 0x19
call fcn.0040193e
add esp, 0x18
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040248f
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.0040274b
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.0040274b
push dword [ebp - 0x450]
push 0
push str.DocumentSource
push str.ScanSettings
call edi
cmp eax, 8
ja case.0x43119f.1064
jmp dword [eax*4 + 0x4312f8]
xor eax, eax
inc eax
jmp 0x4311ca
push 2
pop eax
jmp 0x4311ca
push 3
jmp 0x4311ad
push 7
jmp 0x4311ad
push 8
jmp 0x4311ad
push 4
jmp 0x4311ad
push 6
jmp 0x4311ad
push 5
jmp 0x4311ad
xor eax, eax
push eax
lea ecx, [ebp - 0x438]
lea esi, [ebp - 0x470]
call fcn.0043355e
mov byte [ebp - 4], 0x1b
push dword [eax]
lea ebx, [ebp - 0x430]
lea esi, [ebp - 0x448]
call fcn.00416eec
push eax
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x424]
lea eax, [ebp - 0x428]
push eax
call fcn.004018e7
add esp, 0xc
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040248f
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x434]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.00416e86
mov ecx, dword [ebp - 0x440]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x458]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x45c]
add ecx, 0xfffffff0
call fcn.0040274b
lea ecx, [ebp - 0x454]
call fcn.00412507
lea ecx, [ebp - 0x46c]
mov dword [ebp - method.ScanSettingManager.virtual_0], vtable.ScanSettingManager.0
call fcn.0043364d
mov ecx, dword [ebp - 0x460]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x44c]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0040274b
mov eax, dword [ebp - 0x424]
call fcn.0053cf2c
ret 8