Function at 0x44b128
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0x330
mov eax, 0x5ab3c6
call fcn.00588aeb
push 0x5ccf74
push str.CInstLanguageSelector::IsInstalledScannerDriver
push 5
call fcn.00423f75
xor ebx, ebx
add esp, 0xc
mov edi, ebx
call fcn.00473832
mov eax, dword [eax + 4]
mov esi, dword [eax + 0x3c4]
mov esi, dword [esi]
mov dword [ebp - 0x33c], esi
call fcn.00473832
mov eax, dword [eax + 4]
cmp esi, dword [eax + 0x3c4]
je 0x44b3d0
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x58], ax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
mov byte [ebp - 4], 2
call fcn.00473832
mov eax, dword [eax + 4]
add eax, 0xd0
push eax
lea ecx, [ebp - 0x338]
call fcn.00406427
add esi, 0x38
mov byte [ebp - 4], 3
cmp dword [esi + 0x14], 8
jb 0x44b1cb
mov esi, dword [esi]
push esi
push str.__NAME_SCANNERDRIVER__
lea ecx, [ebp - 0x338]
call fcn.0046c5e0
call fcn.00473832
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.0041426d
cmp eax, 1
jne 0x44b235
call fcn.00473832
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.00412a89
and eax, 0x30000
lea ecx, [ebp - 0x338]
cmp eax, 0x10000
jne 0x44b22e
push str.CNQ___NAME_PRODUCTID___D.ds
call fcn.0046dbb9
mov esi, eax
cmp word [esi], bx
jne 0x44b27d
mov eax, ebx
jmp 0x44b284
push str.CNC___NAME_PRODUCTID___D.ds
jmp 0x44b21e
push str.___NAME_CISDS_DS___
lea ecx, [ebp - 0x338]
call fcn.0046dbb9
mov esi, eax
cmp word [esi], bx
jne 0x44b250
mov eax, ebx
jmp 0x44b257
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00403cef
cmp dword [ebp - 0x18], 0
je 0x44b278
push str.___NAME_CISDS_DS___
lea ecx, [ebp - 0x28]
call fcn.0041ee46
test eax, eax
jne 0x44b28e
mov esi, str.CISDS.DS
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00403cef
call fcn.00473832
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.0041426d
cmp eax, 1
jne 0x44b2b3
push str.___FLD_WINDOWS___Twain_32SG20
lea ecx, [ebp - 0x338]
jmp 0x44b2e4
call fcn.00473832
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.00412a89
and eax, 0x30000
lea ecx, [ebp - 0x338]
cmp eax, 0x10000
jne 0x44b2df
push str.___FLD_WINDOWS___Twain_32___NAME_SCANNERINF_BASE___
jmp 0x44b2e4
push str.___FLD_WINDOWS___Twain_32_NAME_MODEL_
call fcn.0046dbb9
mov esi, eax
cmp word [esi], bx
jne 0x44b2f4
mov eax, ebx
jmp 0x44b2fb
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x40]
call fcn.00403cef
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0046f03c
cmp dword [ebp - 0x2c], 8
lea esi, [ebp - 0x40]
cmovae esi, dword [ebp - 0x40]
push esi
push str.pFileName
push str.CInstLanguageSelector::IsInstalledScannerDriver
push 4
call fcn.00423f57
add esp, 0x18
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x338]
cmp eax, 0xffffffff
jne 0x44b3a4
call fcn.0046c4d7
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00403a7f
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00403a7f
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00403a7f
lea ecx, [ebp - 0x33c]
call fcn.0042049a
call fcn.00473832
mov eax, dword [eax + 4]
mov esi, dword [ebp - 0x33c]
push 7
pop ecx
cmp esi, dword [eax + 0x3c4]
jne 0x44b17c
jmp 0x44b3d0
xor esi, esi
inc esi
mov edi, esi
call fcn.0046c4d7
push ebx
push esi
lea ecx, [ebp - 0x28]
call fcn.00403a7f
push ebx
push esi
lea ecx, [ebp - 0x58]
call fcn.00403a7f
or dword [ebp - 4], 0xffffffff
push ebx
push esi
lea ecx, [ebp - 0x40]
call fcn.00403a7f
push edi
push str.bFound
mov ebx, str.CInstLanguageSelector::IsInstalledScannerDriver
push ebx
push 4
call fcn.00423edf
push 0x5ccf90
push ebx
push 5
call fcn.00423f75
add esp, 0x1c
mov eax, edi
call fcn.00588a9a
ret