Function at 0x72a66d50
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x70]
mov esi, str.SYSTEMCurrentControlSetControlPrintMonitors_
push ebx
lea ebx, [ebp - 0x72]
mov ecx, ebx
sub ecx, edi
sub esp, 0x94
mov eax, dword [str.SYSTEMCurrentControlSetControlPrintMonitors_]
sub esi, ecx
add ecx, 0x62
mov dword [ebp - 0x78], 0
shr ecx, 2
mov dword [ebp - 0x72], eax
mov eax, dword [0x72a785ae]
mov dword [ebp - 0x14], eax
rep movsd dword es:[edi], dword [esi]
test byte [0x72a76664], 1
jne 0x72a66eb0
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._copy_servername_from_name
mov esi, eax
test eax, eax
jne 0x72a66e80
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x72a66dc6
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne 0x72a66df0
test byte [0x72a76664], 2
jne 0x72a66fc0
mov dword [esp], 0x57
call sym._SetLastError_4
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._FindPrintMonitor
mov edi, eax
test eax, eax
je 0x72a66f32
mov eax, dword [eax + 8]
test eax, eax
jne 0x72a670b0
mov eax, dword [edi + 4]
mov edx, dword [edi]
mov dword [edx + 4], eax
mov dword [eax], edx
mov eax, dword [edi + 0x18]
test eax, eax
je 0x72a66e3a
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x72a66e3a
mov eax, dword [eax + 0x48]
test eax, eax
je 0x72a66e3a
mov edx, dword [edi + 0x20]
mov dword [esp], edx
call eax
sub esp, 4
mov eax, dword [edi + 0x14]
test eax, eax
je 0x72a66e4c
mov dword [esp], eax
call sym._FreeLibrary_4
sub esp, 4
mov eax, dword [edi + 0x10]
test eax, eax
je 0x72a66e5e
mov dword [esp], eax
call sym._DllFreeSplStr_4
sub esp, 4
mov eax, dword [edi + 0xc]
test eax, eax
je 0x72a66e70
mov dword [esp], eax
call sym._DllFreeSplStr_4
sub esp, 4
mov dword [esp], edi
call sym._DllFreeSplMem_4
sub esp, 4
jmp 0x72a66f3f
test byte [0x72a76664], 1
jne 0x72a67060
mov dword [esp], 0x7b
xor esi, esi
call sym._SetLastError_4
mov eax, esi
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 4], 0xffffffff
mov edi, eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 4], 0xffffffff
mov esi, eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], str.LocalDeleteMonitor__s___s___s__n
mov dword [esp + 0x10], 0x2db
mov dword [esp + 0xc], str.LocalDeleteMonitor
mov dword [esp + 8], 0x72a781a1
mov dword [esp + 4], 0x72a76664
mov dword [esp], 0
call sym._ros_dbg_log
jmp 0x72a66d99
test byte [0x72a76664], 1
jne 0x72a67140
lea eax, [ebp - 0x78]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], 0x80000002
call sym._RegCreateKeyW_12
sub esp, 0xc
test eax, eax
je 0x72a67010
test byte [0x72a76664], 2
je 0x72a66de2
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], str.unable_to_create_key__s_n
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x314
mov dword [esp + 0xc], str.LocalDeleteMonitor
mov dword [esp + 8], 0x72a781a1
mov dword [esp + 4], 0x72a76664
mov dword [esp], 1
call sym._ros_dbg_log
jmp 0x72a66de2
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], str.pMonitorName__s_is_invalid_n
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x2e9
mov dword [esp + 0xc], str.LocalDeleteMonitor
mov dword [esp + 8], 0x72a781a1
mov dword [esp + 4], 0x72a76664
mov dword [esp], 1
call sym._ros_dbg_log
jmp 0x72a66dd3
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call sym._RegDeleteTreeW_8
sub esp, 8
test eax, eax
je 0x72a670c1
test byte [0x72a76664], 1
jne 0x72a670f0
mov eax, dword [ebp - 0x78]
xor esi, esi
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
mov dword [esp], 0xbb8
call sym._SetLastError_4
sub esp, 4
jmp 0x72a66de2
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], 0x72a785db
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x2e1
mov dword [esp + 0xc], str.LocalDeleteMonitor
mov dword [esp + 8], 0x72a781a1
mov dword [esp + 4], 0x72a76664
mov dword [esp], 0
call sym._ros_dbg_log
jmp 0x72a66e8d
sub eax, 1
mov dword [edi + 8], eax
jne 0x72a66f3f
jmp 0x72a66e10
test byte [0x72a76664], 1
jne 0x72a67190
mov eax, dword [ebp - 0x78]
mov esi, 1
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
jmp 0x72a66de2
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], str._s_does_not_exist_n
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x31f
mov dword [esp + 0xc], str.LocalDeleteMonitor
mov dword [esp + 8], 0x72a781a1
mov dword [esp + 4], 0x72a76664
mov dword [esp], 0
call sym._ros_dbg_log
jmp 0x72a6703a
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], str.Could_not_find__s_n
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x30f
mov dword [esp + 0xc], str.LocalDeleteMonitor
mov dword [esp + 8], 0x72a781a1
mov dword [esp + 4], 0x72a76664
mov dword [esp], 0
call sym._ros_dbg_log
jmp 0x72a66f3f
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], str._s_deleted_n
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x31a
mov dword [esp + 0xc], str.LocalDeleteMonitor
mov dword [esp + 8], 0x72a781a1
mov dword [esp + 4], 0x72a76664
mov dword [esp], 0
call sym._ros_dbg_log
jmp 0x72a670ce