Function at 0x417a01
Capabilities:
Query or enumerate registry value
Read .ini file

Disassembly:
push 0x234
mov eax, 0x46e1d5
call fcn.004517f7
xor esi, esi
mov ebx, ecx
mov dword [ebp - 0x234], esi
call fcn.0042a8d7
push eax
lea ecx, [ebp - 0x238]
call fcn.00402773
mov dword [ebp - 4], esi
call fcn.004083f2
push dword [eax]
lea eax, [ebp - 0x238]
push str._sAssistantsScan_AssistantScannerDevCap.ini
push eax
call fcn.0040314f
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x224]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push ebx
call fcn.004024c3
call fcn.00416a12
add esp, 0xc
push dword [ebp - 0x224]
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push str.Model
call fcn.004024c3
lea edi, [ebp - 0x23c]
call fcn.00429b27
pop ecx
pop ecx
mov byte [ebp - 4], 1
mov dword [ebp - 0x220], 4
call fcn.0041716f
test al, al
je 0x417cac
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push ebx
call fcn.004024c3
call fcn.00416fb0
pop ecx
test al, al
je 0x417cac
push 0x47aa18
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x220], 3
call fcn.00406a1b
mov edi, eax
push str.SOFTWAREEPSONEpsonScanManager
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.004024c3
push edi
push eax
lea eax, [ebp - 0x22c]
push eax
mov byte [ebp - 4], 3
call fcn.00406973
add esp, 0xc
push ebx
push eax
lea eax, [ebp - 0x228]
push eax
mov byte [ebp - 4], 4
call fcn.004017f8
mov eax, dword [eax]
add esp, 0xc
lea ecx, [ebp - 0x224]
push ecx
push 0x20019
push esi
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ecx, dword [ebp - 0x228]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.0040285d
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.0040285d
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
call fcn.0040285d
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
call fcn.0040285d
test bl, bl
je 0x417ec5
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x240]
push eax
push esi
push 0x47aa1c
push dword [ebp - 0x224]
mov dword [ebp - 0x21c], 0x208
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x417ca1
push str.ScanSmart
lea ecx, [ebp - 0x228]
call fcn.00406a1b
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x228]
push eax
mov byte [ebp - 4], 5
call fcn.004017d1
test eax, eax
jne 0x417c00
call fcn.0041794b
test al, al
je 0x417c00
mov dword [ebp - 0x220], esi
push str.EpsonScan_2
lea ecx, [ebp - 0x22c]
call fcn.00406a1b
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x22c]
push eax
mov byte [ebp - 4], 6
call fcn.004017d1
test eax, eax
jne 0x417c35
mov dword [ebp - 0x220], 2
push 0x47aa54
lea ecx, [ebp - 0x230]
call fcn.00406a1b
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x230]
push eax
mov byte [ebp - 4], 7
call fcn.004017d1
test eax, eax
jne 0x417c73
call fcn.00417972
test al, al
je 0x417c73
mov dword [ebp - 0x220], 1
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
call fcn.0040285d
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.0040285d
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.0040285d
push dword [ebp - 0x224]
jmp 0x417e1e
call fcn.0041794b
test al, al
je 0x417e46
push ecx
mov ecx, esp
mov dword [ebp - 0x240], esp
push ebx
call fcn.004024c3
call fcn.00417393
pop ecx
test al, al
je 0x417e46
push 0x47aa18
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], esi
call fcn.00406a1b
mov edi, eax
push str.SOFTWAREEPSONEpsonScanManager
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 8
call fcn.004024c3
push edi
push eax
lea eax, [ebp - 0x224]
push eax
mov byte [ebp - 4], 9
call fcn.00406973
add esp, 0xc
push ebx
push eax
lea eax, [ebp - 0x21c]
push eax
mov byte [ebp - 4], 0xa
call fcn.004017f8
mov eax, dword [eax]
add esp, 0xc
lea ecx, [ebp - 0x228]
push ecx
push 0x20019
push esi
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ecx, dword [ebp - 0x21c]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.0040285d
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.0040285d
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.0040285d
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
call fcn.0040285d
test bl, bl
je 0x417ec5
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x240]
push eax
push esi
push 0x47aa1c
push dword [ebp - 0x228]
mov dword [ebp - 0x21c], 0x208
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x417e18
push 0x47aa54
lea ecx, [ebp - 0x224]
call fcn.00406a1b
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x224]
push eax
mov byte [ebp - 4], 0xb
call fcn.004017d1
test eax, eax
jne 0x417e06
call fcn.00417972
test al, al
je 0x417e06
mov dword [ebp - 0x220], 1
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.0040285d
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x220], esi
je 0x417ec5
cmp dword [ebp - 0x220], 3
je 0x417ec5
cmp dword [ebp - 0x220], 2
je 0x417ec5
lea eax, [ebp - 0x23c]
push eax
mov ebx, str.DCEX.
lea eax, [ebp - 0x224]
push ebx
push eax
call fcn.004069c6
add esp, 0xc
mov byte [ebp - 4], 0xc
push dword [ebp - 0x238]
mov eax, dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push esi
push str.DCUSupport
push eax
mov dword [ebp - 0x234], 1
call edi
test eax, eax
jbe 0x417ec5
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x21c]
push ebx
push eax
call fcn.004069c6
mov eax, dword [eax]
add esp, 0xc
push dword [ebp - 0x238]
mov dword [ebp - 0x234], 3
push esi
push str.NumJobEvents
push eax
call edi
test eax, eax
jbe 0x417ec5
mov bl, 1
jmp 0x417ec7
xor bl, bl
test byte [ebp - 0x234], 2
je 0x417ee5
mov ecx, dword [ebp - 0x21c]
and dword [ebp - 0x234], 0xfffffffd
add ecx, 0xfffffff0
call fcn.0040285d
test byte [ebp - 0x234], 1
je 0x417efc
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.0040285d
test bl, bl
je 0x417f0a
mov dword [ebp - 0x220], 1
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.0040285d
mov ecx, dword [ebp - 0x238]
add ecx, 0xfffffff0
call fcn.0040285d
mov eax, dword [ebp - 0x220]
call fcn.0045187a
ret