Function at 0x40144a
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1000]
mov eax, 0x1080
call fcn.004031e0
mov eax, dword [0x418024]
xor eax, ebp
mov dword [ebp + 0xffc], eax
mov eax, dword [ebp + 0x1008]
mov ecx, dword [ebp + 0x100c]
push ebx
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ebx
je 0x40175e
cmp ecx, ebx
je 0x40175e
lea eax, [ebp - 0x5c]
push eax
push 0x20019
push ebx
push str.SystemCurrentControlSetControlPrintPrinters
push 0x80000002
call dword [0x414020]
test eax, eax
jne 0x40175e
push esi
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x6c]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0x5c]
call dword [0x414010]
cmp dword [ebp - 0x6c], ebx
mov esi, dword [0x414028]
mov dword [ebp - 0x68], ebx
jbe 0x401753
push edi
mov edi, dword [0x414024]
push 0x410
lea eax, [ebp - 0x44]
push ebx
push eax
call fcn.00403160
add esp, 0xc
lea eax, [ebp - 0x80]
push eax
push ebx
push ebx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x68]
mov dword [ebp - 0x4c], 0x410
push dword [ebp - 0x5c]
call dword [0x414014]
test eax, eax
jne 0x401725
lea eax, [ebp - 0x48]
push eax
push 0x20019
push ebx
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x5c]
call dword [0x414020]
test eax, eax
jne 0x401725
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push str.Status
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 4
call edi
test eax, eax
jne 0x401720
test byte [ebp - 0x70], 4
jne 0x401720
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0x3cc]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push str.Printer_Driver
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0x208
call edi
test eax, eax
jne 0x401720
push 0x208
lea eax, [ebp + 0x9e4]
push ebx
push eax
call fcn.00403160
add esp, 0xc
push str.SystemCurrentControlSetControlPrintEnvironmentsWindows_NT_x86DriversVersion_3_
lea eax, [ebp + 0x9e4]
push eax
call dword [0x414068]
lea eax, [ebp + 0x3cc]
push eax
lea eax, [ebp + 0x9e4]
push eax
call dword [0x41406c]
lea eax, [ebp - 0x64]
push eax
push 1
push ebx
lea eax, [ebp + 0x9e4]
push eax
push 0x80000002
call dword [0x414020]
test eax, eax
jne 0x401720
push 0x208
lea eax, [ebp + 0x7dc]
push ebx
push eax
call fcn.00403160
add esp, 0xc
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0x7dc]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push str.Monitor
push dword [ebp - 0x64]
mov dword [ebp - 0x4c], 0x208
call edi
test eax, eax
je 0x40163b
push dword [ebp - 0x64]
call esi
jmp 0x401720
push str.CNAB4_Monitor
lea eax, [ebp + 0x7dc]
push eax
call dword [0x414074]
test eax, eax
push dword [ebp - 0x64]
jne 0x401634
call esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push str.Attributes
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 4
call edi
test eax, eax
jne 0x401720
test byte [ebp - 0x74], 8
lea eax, [ebp - 0x4c]
push eax
je 0x4016eb
lea eax, [ebp + 0x5d4]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push str.Share_Name
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0x208
call edi
test eax, eax
jne 0x401720
cmp word [ebp + 0x5d4], bx
je 0x4016e7
lea eax, [ebp + 0x5d4]
push eax
push dword [ebp - 0x60]
call dword [0x414070]
test eax, eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xbec]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push str.Name
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0x410
jne 0x401706
call edi
jmp 0x40171c
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xbec]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push str.Name
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0x410
call edi
test eax, eax
jne 0x401720
lea eax, [ebp + 0xbec]
push eax
push dword [ebp - 0x60]
call dword [0x414070]
test eax, eax
je 0x401736
push dword [ebp - 0x48]
call esi
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x6c]
jb 0x4014e7
jmp 0x401752
lea eax, [ebp + 0xbec]
push eax
push dword [ebp - 0x58]
call dword [0x414068]
push dword [ebp - 0x48]
call esi
mov dword [ebp - 0x54], 1
pop edi
push dword [ebp - 0x5c]
call esi
mov eax, dword [ebp - 0x54]
pop esi
jmp 0x401760
xor eax, eax
mov ecx, dword [ebp + 0xffc]
xor ecx, ebp
pop ebx
call fcn.00403150
add ebp, 0x1000
leave
ret 8