Function at 0x43171e
Capabilities:
Read .ini file

Disassembly:
push 0x464
mov eax, 0x5661a3
call fcn.0053da79
and dword [ebp - 0x464], 0
mov esi, ecx
mov dword [ebp - 0x424], esi
mov ebx, edx
mov dword [ebp - 4], 2
call fcn.00438647
push eax
mov ecx, esi
call fcn.0042a80d
mov dword [ebp - 0x464], 1
call fcn.00438647
push eax
lea ecx, [ebp - 0x44c]
call fcn.0042a80d
mov byte [ebp - 4], 3
call fcn.00438647
push eax
lea ecx, [ebp - 0x460]
call fcn.0042a80d
lea edi, [ebp - 0x470]
mov byte [ebp - 4], 4
call fcn.00433dcf
mov byte [ebp - 4], 5
mov dword [ebp - method.CEpsonScanSetting.virtual_0], vtable.CEpsonScanSetting.0
call fcn.00438647
push eax
lea ecx, [ebp - 0x450]
call fcn.0042a80d
lea eax, [ebp - 0x420]
push eax
mov byte [ebp - 4], 6
call fcn.00435bef
pop ecx
call fcn.00438647
push eax
lea ecx, [ebp - 0x45c]
call fcn.0042a80d
push str.ESCNDV
push 0x59a67c
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.0040a7c3
add esp, 0x14
call fcn.00438647
push eax
lea ecx, [ebp - 0x458]
call fcn.0042a80d
push ebx
push ecx
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x428], esp
push 0x598e20
call fcn.0040235d
lea edi, [ebp - 0x43c]
call fcn.00437a49
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.00402722
call fcn.00438647
push eax
lea ecx, [ebp - 0x43c]
call fcn.0042a80d
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.0040a7c3
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.00539100
lea eax, [ebp - 0x218]
push eax
call fcn.00435bc8
add esp, 0x10
call fcn.00438647
push eax
lea ecx, [ebp - 0x440]
call fcn.0042a80d
push str.Resources
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x440]
push 0x59a4bc
push eax
mov byte [ebp - 4], 0xb
call fcn.0040a7c3
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 0x43199c
call fcn.00438647
push eax
lea ecx, [ebp - 0x434]
call fcn.0042a80d
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.0040a7c3
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.004174d7
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.00402722
jmp 0x4319e0
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.004174d7
call fcn.00438647
push eax
lea ecx, [ebp - 0x434]
call fcn.0042a80d
push 0x59e600
lea ebx, [ebp - 0x42c]
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0x10
call fcn.0041752c
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.00402722
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.0040a7c3
push 0x59e5fc
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.00402722
push dword [ebp - 0x450]
push 0
push str.ImageType
push esi
call edi
sub eax, 0
je 0x431ac6
dec eax
je 0x431ab9
dec eax
je 0x431ac1
dec eax
je 0x431abd
push 2
jmp 0x431ac8
xor eax, eax
jmp 0x431ac9
xor eax, eax
inc eax
jmp 0x431ac9
push 3
pop eax
lea esi, [ebp - 0x428]
call fcn.00434099
mov byte [ebp - 4], 0x13
push dword [eax]
lea ebx, [ebp - 0x430]
lea esi, [ebp - 0x448]
call fcn.0041752c
push eax
mov byte [ebp - 4], 0x14
push dword [ebp - 0x424]
lea eax, [ebp - 0x438]
push eax
call fcn.004018e7
push 0x59e5fc
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.00402722
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402722
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.00402722
push dword [ebp - 0x450]
push 0xffffffffffffffff
push 0x59b180
push str.FileSaveSettings
call edi
dec eax
je 0x431ba4
dec eax
je 0x431ba0
dec eax
je 0x431b9b
dec eax
je 0x431b97
dec eax
je 0x431b93
sub eax, 3
jne 0x431ba0
push 3
jmp 0x431b9d
push 5
jmp 0x431b9d
push 2
jmp 0x431b9d
push 4
pop eax
jmp 0x431ba7
xor eax, eax
jmp 0x431ba7
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x42c]
lea esi, [ebp - 0x470]
call fcn.00433fb5
mov byte [ebp - 4], 0x17
push dword [eax]
lea ebx, [ebp - 0x438]
lea esi, [ebp - 0x448]
call fcn.0041752c
push eax
mov byte [ebp - 4], 0x18
push dword [ebp - 0x424]
lea eax, [ebp - 0x430]
push eax
call fcn.004018e7
push 0x59e5fc
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.00402722
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402722
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402722
push dword [ebp - 0x450]
push 0
push str.DocumentSource
push str.ScanSettings
call edi
cmp eax, 8
ja case.0x431c65.1064
jmp dword [eax*4 + 0x431dbe]
xor eax, eax
inc eax
jmp 0x431c90
push 2
pop eax
jmp 0x431c90
push 3
jmp 0x431c73
push 7
jmp 0x431c73
push 8
jmp 0x431c73
push 4
jmp 0x431c73
push 6
jmp 0x431c73
push 5
jmp 0x431c73
xor eax, eax
push eax
lea ecx, [ebp - 0x438]
lea esi, [ebp - 0x470]
call fcn.00434024
mov byte [ebp - 4], 0x1b
push dword [eax]
lea ebx, [ebp - 0x430]
lea esi, [ebp - 0x448]
call fcn.0041752c
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.00402722
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp - 0x434]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.004174c6
mov ecx, dword [ebp - 0x440]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp - 0x458]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp - 0x45c]
add ecx, 0xfffffff0
call fcn.00402722
lea ecx, [ebp - 0x454]
call fcn.00412b65
lea ecx, [ebp - 0x46c]
mov dword [ebp - method.ScanSettingManager.virtual_0], vtable.ScanSettingManager.0
call fcn.00434113
mov ecx, dword [ebp - 0x460]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp - 0x44c]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00402722
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.00402722
mov eax, dword [ebp - 0x424]
call fcn.0053dafc
ret 8