Function at 0x42e61d
Capabilities:
Check if file exists

Disassembly:
push 0x3c0
mov eax, 0x619b9f
call fcn.005b83bf
mov ebx, ecx
mov dword [ebp - 0x310], ebx
push 0
push 0
push 0xd6
push str.HPXS::CScanAppConfig::InitIniPaths
push 0x1299334
push dword [0x12992f8]
lea ecx, [ebp - 0x308]
call fcn.0041f881
and dword [ebp - 4], 0
call fcn.004162e0
push eax
lea ecx, [ebp - 0x31c]
call fcn.0042bd25
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 1
push eax
push str.SOFTWAREHPHPTwain
push reloc.WS2_32.dll_accept
mov byte [ebp - 0x309], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x42e70f
mov esi, 0x208
push esi
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.005b9760
mov ecx, dword [0x1281188]
lea edx, [ebp - 0x314]
add esp, 0xc
mov dword [ebp - 0x314], esi
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x218]
push edx
push 0
push str.ScanAppIniPath
push dword [ebp - 0x318]
call dword [eax + 0x10]
test eax, eax
jne 0x42e6fe
lea ecx, [ebp - 0x218]
mov byte [ebp - 0x309], 1
call fcn.0042bc7b
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x31c]
call fcn.0042c3eb
mov ecx, dword [0x1281188]
push dword [ebp - 0x318]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, dword [0x1299378]
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x31c]
test eax, eax
je 0x42eb01
lea eax, [ebp - 0x278]
push eax
call fcn.0042e4ba
push str.HPScan2Cloud.exe
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 6
call fcn.0041e772
mov edi, 0x1299368
test eax, eax
jne 0x42e766
push 0xffffffffffffffff
push eax
push 0x1299398
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.0041c022
lea eax, [ebx + 0x48]
push eax
lea ecx, [ebp - 0x230]
call fcn.0041b3b8
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x220]
mov byte [ebp - 4], 0xf
test eax, eax
jne 0x42e7e6
push 0xffffffffffffffff
push eax
push 0x12812b4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xf
call fcn.0041c022
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x220]
mov byte [ebp - 4], 0xf
test eax, eax
jne 0x42e7e6
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.0047ba66
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x20
call fcn.0041d4ea
push 0
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x21
call fcn.00416b1a
mov byte [ebp - 4], 0xf
push 0
push edi
lea edx, [ebp - 0x230]
lea ecx, [ebp - 0x248]
call fcn.0047b5ea
pop ecx
pop ecx
lea edi, [ebx + 0xa8]
mov byte [ebp - 4], 0x26
push eax
mov ecx, edi
call fcn.0041d4ea
push 0
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x27
call fcn.00416b1a
cmp byte [ebp - 0x309], 0
mov byte [ebp - 4], 0xf
je 0x42e892
push esi
lea ecx, [ebp - 0x260]
call fcn.0041b35f
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x260]
cmp dword [ebp - 0x24c], 8
cmovae eax, dword [ebp - 0x260]
push eax
mov byte [ebp - 4], 0x2c
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42e87b
lea eax, [ebp - 0x260]
cmp edi, eax
je 0x42e87b
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2c
call fcn.0041c022
push 0
push 1
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x38
call fcn.00416b1a
mov byte [ebp - 4], 0xf
push ecx
push ecx
lea ecx, [ebp - 0x3cc]
call fcn.0042aba2
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x3d
call fcn.0047bba6
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x3e
call fcn.0041d4ea
push 0
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x3f
call fcn.00416b1a
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x44
mov eax, dword [ebx + 0x10]
mov byte [ebp - 4], 0x3d
test eax, eax
jne 0x42e8f1
call fcn.0041e01f
jmp 0x42e90b
call fcn.0041e01f
mov edx, ebx
mov ecx, eax
call fcn.0043069d
mov edx, 0x6daccc
mov ecx, eax
call fcn.0041e267
mov edx, 0x1299368
mov ecx, eax
call fcn.0043069d
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x3cc]
call fcn.0042ab57
push 0
push eax
lea edx, [ebp - 0x230]
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x248]
call fcn.0047b5ea
pop ecx
pop ecx
add ebx, 0xc0
mov byte [ebp - 4], 0x49
push eax
mov ecx, ebx
call fcn.0041d4ea
push 0
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x4a
call fcn.00416b1a
push 0
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x4f
call fcn.00416b1a
push 0
sub esp, 0x18
mov byte [ebp - 4], 0x3d
mov ecx, esp
mov dword [ebp - 0x314], esp
push ebx
call fcn.0041b3b8
mov ecx, dword [ebp - 0x310]
mov byte [ebp - 4], 0x54
mov byte [ebp - 4], 0x3d
call fcn.0042eb42
test al, al
je 0x42e9ec
mov byte [ebp - 4], 0x55
cmp dword [ebx + 0x14], 8
jb 0x42e9b5
mov ebx, dword [ebx]
push ebx
push str.HPXS::CScanAppConfig::InitIniPaths
push str._s_Found_user_ini_file:__s
push 0x11b
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 0x3d
push 0x200
push eax
call fcn.0041fc07
mov eax, dword [ebp - 0x310]
mov byte [eax + 0xf4], 1
jmp 0x42eac5
mov byte [ebp - 4], 0x58
cmp dword [ebx + 0x14], 8
jb 0x42e9f8
mov ebx, dword [ebx]
push ebx
push str.HPXS::CScanAppConfig::InitIniPaths
push str._s_Did_not_find_user_ini_file:__s
push 0x120
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 0x3d
push 0x200
push eax
call fcn.0041fc07
mov ebx, dword [ebp - 0x310]
add esp, 0x18
push 0
sub esp, 0x18
mov byte [ebx + 0xf4], 0
mov ecx, esp
mov dword [ebp - 0x314], esp
push edi
call fcn.0041b3b8
mov byte [ebp - 4], 0x5b
mov ecx, ebx
mov byte [ebp - 4], 0x3d
call fcn.0042eb42
test al, al
je 0x42ea8d
mov byte [ebp - 4], 0x5c
cmp dword [edi + 0x14], 8
jb 0x42ea5f
mov edi, dword [edi]
push edi
push str.HPXS::CScanAppConfig::InitIniPaths
push str._s_Found_default_ini_file:__s
push 0x127
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 0x3d
push 0x200
push eax
call fcn.0041fc07
mov byte [ebx + 0xf3], 1
jmp 0x42eac5
mov byte [ebp - 4], 0x5f
cmp dword [edi + 0x14], 8
jb 0x42ea99
mov edi, dword [edi]
push edi
push str.HPXS::CScanAppConfig::InitIniPaths
push str._s_Did_not_find_default_ini_file:__s
push 0x12c
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 0x3d
push 0x200
push eax
call fcn.0041fc07
mov byte [ebx + 0xf3], 0
add esp, 0x18
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x3cc]
call fcn.00427c2e
push 0
push 1
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x62
call fcn.00416b1a
push 0
push 1
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x67
call fcn.00416b1a
mov byte [ebp - 4], 1
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0
call fcn.00420efd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
call fcn.0041f95a
call fcn.005b8369
ret