Function at 0x42d967
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x566135
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x5c9030]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x5c9030]
xor eax, esp
push eax
lea eax, [esp + 0x128]
mov dword fs:[0], eax
push 0x2f
mov edi, str...CommonScanProject.cpp
push edi
mov ebx, ecx
mov dword [esp + 0x2c], 0x59e190
mov dword [esp + 0x30], str.Gray
mov dword [esp + 0x34], str.Color
mov dword [esp + 0x38], str.Auto
mov dword [esp + 0x3c], str.Document_Table
mov dword [esp + 0x40], 0x59e1dc
mov dword [esp + 0x44], str.ADF_Duplex
mov dword [esp + 0x48], str.Magazine
mov dword [esp + 0x4c], str.Newspaper
mov dword [esp + 0x50], str.Text
mov dword [esp + 0x54], str.Photo
mov dword [esp + 0x58], str.Custom
mov dword [esp + 0x5c], str.Epson_Scan_Setting
mov dword [esp + 0x60], 0x59e274
mov dword [esp + 0x64], str.LETTER
mov dword [esp + 0x68], str.LEGAL
mov dword [esp + 0x6c], 0x59e298
mov dword [esp + 0x70], 0x59e2a0
mov dword [esp + 0x74], str.TABLOID
mov dword [esp + 0x78], 0x59e2b8
mov dword [esp + 0x7c], 0x59e2c0
mov dword [esp + 0x80], 0x59e2c8
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42da73
push 0x2f
jmp 0x42da83
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42da8e
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42da90
mov eax, edi
push 1
push 0x41
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
and dword [esp + 0x130], 0
push str.Scan_Structure___
push 0
mov ecx, eax
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x134], 0xffffffff
pop ecx
lea ecx, [esp + 0x7c]
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dae2
push 0x2f
jmp 0x42daf2
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dafd
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42daff
mov eax, edi
push 1
push 0x42
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov dword [esp + 0x130], 1
push dword [ebx + 0x88]
mov ecx, eax
push str.ADE:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x138], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42db5b
push 0x2f
jmp 0x42db6b
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42db76
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42db78
mov eax, edi
push 1
push 0x43
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov dword [esp + 0x130], 2
push dword [ebx + 0x90]
mov ecx, eax
push str.Descreen:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x138], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dbd4
push 0x2f
jmp 0x42dbe4
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dbef
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42dbf1
mov eax, edi
push 1
push 0x44
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov dword [esp + 0x130], 3
push dword [ebx + 0x84]
mov ecx, eax
push str.PIM:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x138], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dc4d
push 0x2f
jmp 0x42dc5d
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dc68
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42dc6a
mov eax, edi
push 1
push 0x45
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov dword [esp + 0x130], 4
push dword [ebx + 0x5c]
mov ecx, eax
push str.Show_UI:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x138], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dcc3
push 0x2f
jmp 0x42dcd3
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dcde
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42dce0
mov eax, edi
push 1
push 0x46
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov dword [esp + 0x130], 5
push dword [ebx + 0x8c]
mov ecx, eax
push str.Unsharp:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x138], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dd3c
push 0x2f
jmp 0x42dd4c
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42dd57
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42dd59
mov eax, edi
push 1
push 0x47
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
push ecx
push ecx
mov dword [esp + 0x138], 6
fld dword [ebx + 0x78]
fstp qword [esp]
push str.Width:__lf
push 0
mov ecx, eax
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x13c], 0xffffffff
add esp, 0xc
lea ecx, [esp + 0x7c]
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42ddb8
push 0x2f
jmp 0x42ddc8
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42ddd3
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42ddd5
mov eax, edi
push 1
push 0x48
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
push ecx
push ecx
mov dword [esp + 0x138], 7
fld dword [ebx + 0x7c]
fstp qword [esp]
push str.Height:__lf
push 0
mov ecx, eax
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x13c], 0xffffffff
add esp, 0xc
lea ecx, [esp + 0x7c]
call fcn.00404ee1
mov eax, dword [ebx + 0x74]
test eax, eax
js 0x42de34
cmp eax, 9
jae 0x42de34
mov eax, dword [esp + eax*4 + 0x58]
jmp 0x42de39
mov eax, str.Unknown
push eax
lea ecx, [esp + 0x14]
call fcn.0040266d
push 0x2f
push edi
mov dword [esp + 0x138], 8
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42de60
push 0x2f
jmp 0x42de70
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42de7b
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42de7d
mov eax, edi
push 1
push 0x4a
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 9
push dword [esp + 0x10]
mov ecx, eax
push str.DocSize:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 8
call fcn.00404ee1
mov eax, dword [ebx + 0x9c]
test eax, eax
js 0x42ded7
cmp eax, 4
jae 0x42ded7
mov eax, dword [esp + eax*4 + 0x30]
jmp 0x42dedc
mov eax, str.Unknown
push eax
lea ecx, [esp + 0x1c]
call fcn.0040266d
push 0x2f
push edi
mov byte [esp + 0x138], 0xa
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42df00
push 0x2f
jmp 0x42df10
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42df1b
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42df1d
mov eax, edi
push 1
push 0x4c
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0xb
push dword [esp + 0x18]
mov ecx, eax
push str.Doc_Source:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xa
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42df74
push 0x2f
jmp 0x42df84
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42df91
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
lea esi, [eax + 1]
jmp 0x42df93
mov esi, edi
mov ecx, ebx
call fcn.0042e6e9
push dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0x24]
call fcn.0040266d
mov dword [esp + 0x1c], eax
push 1
push 0x4d
push esi
lea esi, [esp + 0x88]
mov byte [esp + 0x13c], 0xc
call fcn.00404e75
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x130], 0xd
push dword [ecx]
mov ecx, eax
push str.DocType:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xc
call fcn.00404ee1
mov byte [esp + 0x130], 0xa
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00402a50
mov eax, dword [ebx + 0x80]
test eax, eax
js 0x42e023
cmp eax, 3
jae 0x42e023
mov eax, dword [esp + eax*4 + 0x24]
jmp 0x42e028
mov eax, str.Unknown
push eax
lea ecx, [esp + 0x18]
call fcn.0040266d
push 0x2f
push edi
mov byte [esp + 0x138], 0xe
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e04c
push 0x2f
jmp 0x42e05c
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e067
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e069
mov eax, edi
push 1
push 0x4f
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0xf
push dword [esp + 0x14]
mov ecx, eax
push str.ImageType:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e0c0
push 0x2f
jmp 0x42e0d0
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e0db
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e0dd
mov eax, edi
push 1
push 0x50
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x10
push dword [ebx + 0x98]
mov ecx, eax
push str.Orientation:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e136
push 0x2f
jmp 0x42e146
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e151
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e153
mov eax, edi
push 1
push 0x51
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x11
push dword [ebx + 0x6c]
mov ecx, eax
push str.QualityIndex:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e1a9
push 0x2f
jmp 0x42e1b9
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e1c4
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e1c6
mov eax, edi
push 1
push 0x52
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x12
push dword [ebx + 0x70]
mov ecx, eax
push str.Resolution:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e21c
push 0x2f
jmp 0x42e22c
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e237
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e239
mov eax, edi
push 1
push 0x53
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x13
push dword [ebx + 0xa0]
mov ecx, eax
push str.ScanMode:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e292
push 0x2f
jmp 0x42e2a2
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e2ad
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e2af
mov eax, edi
push 1
push 0x54
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x14
push dword [ebx + 0x94]
mov ecx, eax
push str.UIMode:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e308
push 0x2f
jmp 0x42e318
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e323
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e325
mov eax, edi
push 1
push 0x55
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x15
push dword [ebx + 0xa4]
mov ecx, eax
push str.Save_Format:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e37e
push 0x2f
jmp 0x42e38e
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e399
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e39b
mov eax, edi
push 1
push 0x56
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x16
push dword [ebx + 0xa8]
mov ecx, eax
push str.File_prefix:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e3f4
push 0x2f
jmp 0x42e404
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e40f
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e411
mov eax, edi
push 1
push 0x57
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x17
push dword [ebx + 0xb0]
mov ecx, eax
push str.Target_folder:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e46a
push 0x2f
jmp 0x42e47a
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e485
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e487
mov eax, edi
push 1
push 0x58
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x18
push dword [ebx + 0xb4]
mov ecx, eax
push str.User_target_folder:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e4e0
push 0x2f
jmp 0x42e4f0
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e4fb
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e4fd
mov eax, edi
push 1
push 0x59
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x19
push dword [ebx + 0x60]
mov ecx, eax
push str.Device_Name:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e553
push 0x2f
jmp 0x42e563
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e56e
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e570
mov eax, edi
push 1
push 0x5a
push eax
lea esi, [esp + 0x88]
call fcn.00404e75
mov byte [esp + 0x130], 0x1a
push dword [ebx + 0x68]
mov ecx, eax
push str.Doc_type_string:__s
push 0
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
pop ecx
pop ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
push 0x2f
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e5c6
push 0x2f
jmp 0x42e5d6
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x42e5e1
push 0x5c
push edi
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x42e5e3
mov eax, edi
push 1
push 0x5b
push eax
lea esi, [esp + 0xd8]
call fcn.00404e75
push str.__Scan_Structure
push 0
mov ecx, eax
mov byte [esp + 0x138], 0x1b
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
lea ecx, [esp + 0xcc]
mov byte [esp + 0x130], 0xe
call fcn.00404ee1
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.00402a50
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.005381db
mov esp, ebp
pop ebp
ret