Function at 0x41032830
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4114a033
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x411bade8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.Entering_CTPACWMI::PutInstance
push 0x41157f9c
push 0x1000001
push 0x3f9
xor esi, esi
push str.WMIProv.cpp
mov dword [ebp - 0x20], esi
call fcn.41002c10
add esp, 0x14
mov dword [ebp - 0x18], esi
call fcn.41031dc0
test eax, eax
jne 0x410328a3
mov eax, 0x80070005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], esi
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::constructor_void_]
push 0x2001f
push str.SoftwareThinPrintTPAutoConnect
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.41003910
test eax, eax
je 0x4103290b
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::destructor_void_]
mov eax, dword [ebp - 0x40]
cmp eax, esi
je 0x410328f2
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80041001
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x1c]
push eax
push str.Protocol
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetCHString_unsigned_short_int_const___class_CHString__const]
mov esi, dword [ebp - 0x40]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test al, al
je 0x41032b2e
push str.TCPIP
lea ecx, [ebp - 0x34]
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::constructor_unsigned_short_int_const__]
mov ebx, 1
mov ecx, eax
mov byte [ebp - 4], 2
mov dword [ebp - 0x20], ebx
call dword [sym.imp.framedyn.dll_public:_unsigned_short_int_const____thiscall_CHString::operator_unsigned_short_int_const__void_const]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.framedyn.dll_public:_int___thiscall_CHString::Compare_unsigned_short_int_const__const]
test eax, eax
je 0x41032a23
push str.AUTO
lea ecx, [ebp - 0x30]
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::constructor_unsigned_short_int_const__]
mov ebx, 3
mov ecx, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], ebx
call dword [sym.imp.framedyn.dll_public:_unsigned_short_int_const____thiscall_CHString::operator_unsigned_short_int_const__void_const]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.framedyn.dll_public:_int___thiscall_CHString::Compare_unsigned_short_int_const__const]
test eax, eax
je 0x41032a23
push 0x411660b8
lea ecx, [ebp - 0x2c]
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::constructor_unsigned_short_int_const__]
push eax
lea ecx, [ebp - 0x1c]
mov ebx, 7
push ecx
mov dword [ebp - 4], 4
mov dword [ebp - 0x20], ebx
call fcn.41031e50
add esp, 8
test eax, eax
je 0x41032a23
push 0x411660b0
lea ecx, [ebp - 0x28]
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::constructor_unsigned_short_int_const__]
push eax
lea edx, [ebp - 0x1c]
mov ebx, 0xf
push edx
mov dword [ebp - 4], 5
mov dword [ebp - 0x20], ebx
call fcn.41031e50
add esp, 8
test eax, eax
je 0x41032a23
push 0x4116a6dc
lea ecx, [ebp - 0x24]
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::constructor_unsigned_short_int_const__]
push eax
lea eax, [ebp - 0x1c]
mov ebx, 0x1f
push eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x20], ebx
call fcn.41031e50
add esp, 8
mov byte [ebp - 0xe], 1
test eax, eax
jne 0x41032a27
mov byte [ebp - 0xe], 0
mov dword [ebp - 4], 5
test bl, 0x10
je 0x41032a42
and ebx, 0xffffffef
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x20], ebx
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::destructor_void_]
mov dword [ebp - 4], 4
test bl, 8
je 0x41032a5d
and ebx, 0xfffffff7
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x20], ebx
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::destructor_void_]
mov dword [ebp - 4], 3
test bl, 4
je 0x41032a78
and ebx, 0xfffffffb
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x20], ebx
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::destructor_void_]
mov dword [ebp - 4], 2
test bl, 2
je 0x41032a93
and ebx, 0xfffffffd
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], ebx
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::destructor_void_]
mov dword [ebp - 4], 1
test bl, 1
je 0x41032aa8
lea ecx, [ebp - 0x34]
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::destructor_void_]
cmp byte [ebp - 0xe], 0
je 0x41032aea
lea ecx, [ebp - 0x40]
call fcn.410038e0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::destructor_void_]
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x41032ad1
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80041008
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebp - 0x1c]
call dword [sym.imp.framedyn.dll_public:_unsigned_short_int_const____thiscall_CHString::operator_unsigned_short_int_const__void_const]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
test eax, eax
jne 0x41032b0a
push 0x80004005
call fcn.410011f0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [eax + eax + 2]
push ecx
push ebx
push 1
push 0
push str.Protocol
push esi
call edi
test eax, eax
je 0x41032b2e
mov dword [ebp - 0x18], 0x80041001
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x1c]
push edx
push str.ConnectToClient
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetCHString_unsigned_short_int_const___class_CHString__const]
test al, al
je 0x41032b8c
lea ecx, [ebp - 0x1c]
call dword [sym.imp.framedyn.dll_public:_unsigned_short_int_const____thiscall_CHString::operator_unsigned_short_int_const__void_const]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
test eax, eax
jne 0x41032b64
push 0x80004005
call fcn.410011f0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
add eax, eax
push eax
push ebx
push 1
push 0
push str.ConnectToClient
push esi
call edi
mov ebx, dword [ebp + 8]
test eax, eax
je 0x41032b8f
mov dword [ebp - 0x18], 0x80041001
jmp 0x41032b8f
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x14]
push ecx
push str.RightsWin2000
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032bc7
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.RightsWin2000
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032bc7
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.RightsWinNT
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032bff
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.RightsWinNT
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032bff
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.RightsWin8
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032c37
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.RightsWin8
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032c37
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.TimeOutService
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032c6f
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.TimeOutService
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032c6f
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.TimeOutClient
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032ca7
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.TimeOutClient
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032ca7
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0xd]
push ecx
push str.ListenToWTS
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::Getbool_unsigned_short_int_const___bool__const]
test al, al
je 0x41032ce0
movzx edx, byte [ebp - 0xd]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.ListenToWTS
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032ce0
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0xd]
push ecx
push str.UserDrivenDefaultPrinter
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::Getbool_unsigned_short_int_const___bool__const]
test al, al
je 0x41032d19
movzx edx, byte [ebp - 0xd]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.UserDrivenDefaultPrinter
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032d19
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0xd]
push ecx
push str.DisableSettingOfDefPrinter
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::Getbool_unsigned_short_int_const___bool__const]
test al, al
je 0x41032d52
movzx edx, byte [ebp - 0xd]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.DisableSettingOfDefPrinter
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032d52
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0xd]
push ecx
push str.ListenToWTSOnDisconnect
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::Getbool_unsigned_short_int_const___bool__const]
test al, al
je 0x41032d8b
movzx edx, byte [ebp - 0xd]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.ListenToWTSOnDisconnect
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032d8b
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.ListenToWTSTries
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032dc3
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.ListenToWTSTrys
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032dc3
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.PrinterProperties
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032dfb
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.PrinterProperties
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032dfb
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.PrinterPropertyFlags
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032e33
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.PrinterPropertyFlags
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032e33
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.DPMTries
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032e6b
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.DPMTries
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032e6b
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.CommentMode
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032ea3
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.CommentMode
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032ea3
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.InstallOrder
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032edb
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.InstallOrder
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032edb
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.EventLogLevel
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032f13
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.EventLogLevel
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032f13
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x14]
push ecx
push str.ListenToWTSTryDelay
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetDWORD_unsigned_short_int_const___unsigned_long_int__const]
test al, al
je 0x41032f4b
mov edx, dword [ebp - 0x14]
push 4
lea eax, [ebp - 0x34]
push eax
push 4
push 0
push str.ListenToWTSTryDelay
push esi
mov dword [ebp - 0x34], edx
call edi
test eax, eax
je 0x41032f4b
mov dword [ebp - 0x18], 0x80041001
lea ecx, [ebp - 0x1c]
push ecx
push str.ListenToWTSCreateCmd
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetCHString_unsigned_short_int_const___class_CHString__const]
test al, al
je 0x41032fa7
lea ecx, [ebp - 0x1c]
call dword [sym.imp.framedyn.dll_public:_unsigned_short_int_const____thiscall_CHString::operator_unsigned_short_int_const__void_const]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
test eax, eax
jne 0x41032f80
push 0x80004005
call fcn.410011f0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [eax + eax + 2]
push edx
push ebx
push 1
push 0
push str.ListenToWTSCreatCmd
push esi
call edi
mov ebx, dword [ebp + 8]
test eax, eax
je 0x41032fa7
mov dword [ebp - 0x18], 0x80041001
lea eax, [ebp - 0x1c]
push eax
push str.ListenToWTSDeleteCmd
mov ecx, ebx
call dword [sym.imp.framedyn.dll_public:_bool___thiscall_CInstance::GetCHString_unsigned_short_int_const___class_CHString__const]
test al, al
je 0x41033000
lea ecx, [ebp - 0x1c]
call dword [sym.imp.framedyn.dll_public:_unsigned_short_int_const____thiscall_CHString::operator_unsigned_short_int_const__void_const]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
test eax, eax
jne 0x41032fdc
push 0x80004005
call fcn.410011f0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [eax + eax + 2]
push ecx
push ebx
push 1
push 0
push str.ListenToWTSDeleteCmd
push esi
call edi
test eax, eax
je 0x41033000
mov dword [ebp - 0x18], 0x80041001
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x41033012
push esi
call edi
xor esi, esi
mov dword [ebp - 0x40], esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 0
call dword [sym.imp.framedyn.dll_public:_void___thiscall_CHString::destructor_void_]
test esi, esi
je 0x4103302d
push esi
call edi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8