Function at 0x431499
Capabilities:
Read .ini file

Disassembly:
push 0x464
mov eax, 0x565e94
call fcn.0053d749
and dword [ebp - 0x464], 0
mov esi, ecx
mov dword [ebp - 0x424], esi
mov ebx, edx
mov dword [ebp - 4], 2
call fcn.00438329
push eax
mov ecx, esi
call fcn.00402a28
mov dword [ebp - 0x464], 1
call fcn.00438329
push eax
lea ecx, [ebp - 0x44c]
call fcn.00402a28
mov byte [ebp - 4], 3
call fcn.00438329
push eax
lea ecx, [ebp - 0x460]
call fcn.00402a28
lea edi, [ebp - 0x470]
mov byte [ebp - 4], 4
call fcn.00433aaf
mov byte [ebp - 4], 5
mov dword [ebp - method.CEpsonScanSetting.virtual_0], vtable.CEpsonScanSetting.0
call fcn.00438329
push eax
lea ecx, [ebp - 0x450]
call fcn.00402a28
lea eax, [ebp - 0x420]
push eax
mov byte [ebp - 4], 6
call fcn.004358cf
pop ecx
call fcn.00438329
push eax
lea ecx, [ebp - 0x45c]
call fcn.00402a28
push str.ESCNDV
push 0x59a77c
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.0040ab0a
add esp, 0x14
call fcn.00438329
push eax
lea ecx, [ebp - 0x458]
call fcn.00402a28
push ebx
push ecx
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x428], esp
push 0x598ee8
call fcn.0040266d
lea edi, [ebp - 0x43c]
call fcn.00437729
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 9
call fcn.0040279f
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff0
call fcn.00402a50
call fcn.00438329
push eax
lea ecx, [ebp - 0x43c]
call fcn.00402a28
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.0040ab0a
add esp, 0x14
push dword [ebp - 0x43c]
lea ecx, [ebp - 0x450]
call fcn.00402647
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor esi, esi
lea eax, [ebp - 0x216]
push esi
push eax
call fcn.00538860
lea eax, [ebp - 0x218]
push eax
call fcn.004358a8
add esp, 0x10
call fcn.00438329
push eax
lea ecx, [ebp - 0x440]
call fcn.00402a28
push str.Resources
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x440]
push 0x59a5a4
push eax
mov byte [ebp - 4], 0xb
call fcn.0040ab0a
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 0x431717
call fcn.00438329
push eax
lea ecx, [ebp - 0x434]
call fcn.00402a28
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.0040ab0a
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x428], esp
push str.string
call fcn.0040266d
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.00402741
add eax, 0x10
mov dword [esi], eax
pop ecx
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0xd
call fcn.004176cf
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.00402a50
jmp 0x43175b
push ecx
mov ecx, esp
mov dword [ebp - 0x428], esp
push str.string
call fcn.0040266d
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.00402741
add eax, 0x10
mov dword [esi], eax
pop ecx
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0xc
call fcn.004176cf
call fcn.00438329
push eax
lea ecx, [ebp - 0x434]
call fcn.00402a28
push 0x59e718
lea ebx, [ebp - 0x42c]
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0x10
call fcn.00417724
push eax
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0x11
call fcn.0040279f
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402a50
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.0040ab0a
push 0x59e714
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x42c]
push eax
call fcn.00401c58
add esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040279f
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402a50
push dword [ebp - 0x450]
push 0
push str.ImageType
push esi
call edi
sub eax, 0
je 0x431841
dec eax
je 0x431834
dec eax
je 0x43183c
dec eax
je 0x431838
push 2
jmp 0x431843
xor eax, eax
jmp 0x431844
xor eax, eax
inc eax
jmp 0x431844
push 3
pop eax
lea esi, [ebp - 0x428]
call fcn.00433d79
mov byte [ebp - 4], 0x13
push dword [eax]
lea ebx, [ebp - 0x430]
lea esi, [ebp - 0x448]
call fcn.00417724
push eax
mov byte [ebp - 4], 0x14
push dword [ebp - 0x424]
lea eax, [ebp - 0x438]
push eax
call fcn.00401c01
push 0x59e714
push eax
lea eax, [ebp - 0x42c]
push eax
mov byte [ebp - 4], 0x15
call fcn.00401c58
add esp, 0x18
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040279f
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402a50
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.00402a50
push dword [ebp - 0x450]
push 0xffffffffffffffff
push 0x59b290
push str.FileSaveSettings
call edi
dec eax
je 0x43191f
dec eax
je 0x43191b
dec eax
je 0x431916
dec eax
je 0x431912
dec eax
je 0x43190e
sub eax, 3
jne 0x43191b
push 3
jmp 0x431918
push 5
jmp 0x431918
push 2
jmp 0x431918
push 4
pop eax
jmp 0x431922
xor eax, eax
jmp 0x431922
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x42c]
lea esi, [ebp - 0x470]
call fcn.00433c95
mov byte [ebp - 4], 0x17
push dword [eax]
lea ebx, [ebp - 0x438]
lea esi, [ebp - 0x448]
call fcn.00417724
push eax
mov byte [ebp - 4], 0x18
push dword [ebp - 0x424]
lea eax, [ebp - 0x430]
push eax
call fcn.00401c01
push 0x59e714
push eax
lea eax, [ebp - 0x428]
push eax
mov byte [ebp - 4], 0x19
call fcn.00401c58
add esp, 0x18
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040279f
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402a50
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x42c]
add ecx, 0xfffffff0
call fcn.00402a50
push dword [ebp - 0x450]
push 0
push str.DocumentSource
push str.ScanSettings
call edi
cmp eax, 8
ja case.0x4319e0.1064
jmp dword [eax*4 + 0x431b39]
xor eax, eax
inc eax
jmp 0x431a0b
push 2
pop eax
jmp 0x431a0b
push 3
jmp 0x4319ee
push 7
jmp 0x4319ee
push 8
jmp 0x4319ee
push 4
jmp 0x4319ee
push 6
jmp 0x4319ee
push 5
jmp 0x4319ee
xor eax, eax
push eax
lea ecx, [ebp - 0x438]
lea esi, [ebp - 0x470]
call fcn.00433d04
mov byte [ebp - 4], 0x1b
push dword [eax]
lea ebx, [ebp - 0x430]
lea esi, [ebp - 0x448]
call fcn.00417724
push eax
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x424]
lea eax, [ebp - 0x428]
push eax
call fcn.00401c01
add esp, 0xc
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040279f
mov ecx, dword [ebp - 0x428]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x434]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.004176be
mov ecx, dword [ebp - 0x440]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x458]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x45c]
add ecx, 0xfffffff0
call fcn.00402a50
lea ecx, [ebp - 0x454]
call fcn.00412dd7
lea ecx, [ebp - 0x46c]
mov dword [ebp - method.ScanSettingManager.virtual_0], vtable.ScanSettingManager.0
call fcn.00433df3
mov ecx, dword [ebp - 0x460]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp - 0x44c]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.00402a50
mov eax, dword [ebp - 0x424]
call fcn.0053d7cc
ret 8