Function at 0x41cc10
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45185a
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x469744]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edi, edi
mov dword [ebp - 0xbc], edi
mov esi, ecx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x170], 0x45c2c8
mov dword [ebp - 0x160], 0x457500
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 1
push ecx
mov dword [ebp - 0xbc], 1
call fcn.00403340
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x170]
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x158]
push ecx
mov dword [ebp + eax - method.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
call fcn.00403550
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], edi
lea edx, [ebp - 0x2c]
push edx
mov edx, 0x459e08
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00410fd0
lea eax, [ebp - 0x64]
push eax
mov edx, 0x459e14
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.00410fd0
lea ecx, [ebp - 0x48]
push ecx
mov edx, str.path
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.00410fd0
lea edx, [ebp - 0x9c]
push edx
mov edx, 0x459e38
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.00410fd0
lea eax, [ebp - 0x80]
push eax
mov edx, 0x459b7c
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00410fd0
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x8c]
push 0x4579f4
mov edi, 2
lea ecx, [ebp - 0x9c]
call fcn.00404a60
mov esi, dword [esi + 4]
mov ebx, eax
push esi
neg ebx
push str.Registry
sbb ebx, ebx
inc ebx
push str.__s____d_
mov dword [ebp - 0xc8], ebx
push 0x46a9d4
xor eax, eax
call fcn.0042d150
inc dword [0x46a9f4]
add esp, 0x10
lea ecx, [ebp - 0x64]
push ecx
push ecx
push 0x457650
push ecx
lea edx, [ebp - 0x48]
push edx
push ecx
push 0x457650
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.00404350
add esp, 0xc
push eax
call fcn.004045e0
add esp, 0xc
push eax
call fcn.00404350
add esp, 0xc
push eax
call fcn.004045e0
add esp, 0xc
push eax
call fcn.00404350
add esp, 8
lea ecx, [ebp - 0xb8]
lea eax, [ebp - 0x170]
call fcn.004027b0
mov esi, 8
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], esi
jb 0x41cdf1
mov eax, dword [eax]
push eax
push str.Deleting___s_
push 0x46a9d4
xor eax, eax
call fcn.0042d150
add esp, 0xc
mov byte [ebp - 4], 9
cmp dword [ebp - 0xa4], esi
jb 0x41ce21
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00439c00
add esp, 4
mov eax, dword [ebp - 0x1c]
push 0x459e48
mov edi, 4
lea ecx, [ebp - 0x2c]
call fcn.00404a60
test eax, eax
jne 0x41ce46
mov dword [ebp - 0xbc], reloc.OLEAUT32.dll_SysReAllocString
jmp 0x41ce88
mov eax, dword [ebp - 0x1c]
push str.HKCU
lea ecx, [ebp - 0x2c]
call fcn.00404a60
test eax, eax
jne 0x41ce66
mov dword [ebp - 0xbc], SysReAllocString
jmp 0x41ce88
mov eax, dword [ebp - 0x1c]
push str.HKCR
lea ecx, [ebp - 0x2c]
call fcn.00404a60
test eax, eax
jne 0x41d0c3
mov dword [ebp - 0xbc], SysReAllocString
lea ecx, [ebp - 0xb8]
lea eax, [ebp - 0x170]
call fcn.004027b0
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], esi
jb 0x41cea4
mov eax, dword [eax]
mov edi, eax
mov ecx, 0xbbf
call fcn.004357d0
mov byte [ebp - 4], 9
cmp dword [ebp - 0xa4], esi
jb 0x41cecb
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00439c00
add esp, 4
cmp dword [ebp - 0x54], 0
jne 0x41cf11
mov eax, dword [ebp - 0x70]
push 0x459f40
mov edi, 3
lea ecx, [ebp - 0x80]
call fcn.00404a60
mov ecx, dword [ebp - 0x48]
test eax, eax
sete al
cmp dword [ebp - 0x34], esi
jae 0x41cef6
lea ecx, [ebp - 0x48]
movzx edx, al
push edx
mov edx, dword [ebp - 0xbc]
mov eax, ebx
call fcn.0042d760
add esp, 4
mov edi, eax
jmp 0x41cfb1
cmp dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x48]
jae 0x41cf1c
lea esi, [ebp - 0x48]
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x41cf2d
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0xc8]
lea ebx, [ebp - 0xc0]
mov dword [ebp - 0xc4], 0
call fcn.0042d360
test eax, eax
jne 0x41cf6f
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
lea ecx, [ebp - 0xc4]
push ecx
or eax, 0xf003f
push eax
push 0
push esi
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
test eax, eax
jne 0x41cfb9
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x41cf81
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edi, eax
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x41cfa2
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc4], 0
mov esi, 8
xor ebx, ebx
cmp edi, ebx
je 0x41d016
jmp 0x41cfc0
mov esi, 8
xor ebx, ebx
cmp edi, 2
je 0x41d016
cmp edi, 3
je 0x41d016
lea ecx, [ebp - 0xb8]
lea eax, [ebp - 0x170]
call fcn.004027b0
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], esi
jb 0x41cfe6
mov eax, dword [eax]
push eax
push edi
push str.Error_0x_X_deleting__s
push 0x46a9d4
mov eax, 2
call fcn.0042d150
add esp, 0x10
cmp dword [ebp - 0xa4], esi
jb 0x41d016
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00439c00
add esp, 4
dec dword [0x46a9f4]
cmp dword [ebp - 0x6c], esi
jb 0x41d02d
mov edx, dword [ebp - 0x80]
push edx
call fcn.00439c00
add esp, 4
xor eax, eax
mov edi, 7
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], ax
cmp dword [ebp - 0x88], esi
jb 0x41d055
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00439c00
add esp, 4
xor edx, edx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x8c], ebx
mov word [ebp - 0x9c], dx
cmp dword [ebp - 0x34], esi
jb 0x41d07b
mov eax, dword [ebp - 0x48]
push eax
call fcn.00439c00
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], cx
cmp dword [ebp - 0x50], esi
jb 0x41d098
mov edx, dword [ebp - 0x64]
push edx
call fcn.00439c00
add esp, 4
xor eax, eax
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], ax
cmp dword [ebp - 0x18], esi
jb 0x41d0b5
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00439c00
add esp, 4
xor edx, edx
mov word [ebp - 0x2c], dx
mov byte [ebp - 4], dl
jmp 0x41d184
push str.Uninstall_key_format_error
push 0x46a9d4
mov eax, 2
call fcn.0042d150
dec dword [0x46a9f4]
add esp, 8
cmp dword [ebp - 0x6c], esi
jb 0x41d0f1
mov eax, dword [ebp - 0x80]
push eax
call fcn.00439c00
add esp, 4
xor ebx, ebx
xor ecx, ecx
mov edi, 7
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], cx
cmp dword [ebp - 0x88], esi
jb 0x41d11b
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00439c00
add esp, 4
xor eax, eax
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x8c], ebx
mov word [ebp - 0x9c], ax
cmp dword [ebp - 0x34], esi
jb 0x41d141
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00439c00
add esp, 4
xor edx, edx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], dx
cmp dword [ebp - 0x50], esi
jb 0x41d15e
mov eax, dword [ebp - 0x64]
push eax
call fcn.00439c00
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], cx
cmp dword [ebp - 0x18], esi
jb 0x41d17b
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00439c00
add esp, 4
xor eax, eax
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
call fcn.00401bf0
mov eax, dword [ebp - 0xc4]
cmp eax, ebx
je 0x41d1a6
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00438876
mov esp, ebp
pop ebp
ret