Function at 0x41cb80
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4516fa
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x469738]
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], 0x457580
mov dword [ebp - 0x160], 0x457588
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.00403390
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.004035a0
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, 0x459d28
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00410f80
lea eax, [ebp - 0x64]
push eax
mov edx, 0x459d34
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.00410f80
lea ecx, [ebp - 0x48]
push ecx
mov edx, str.path
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.00410f80
lea edx, [ebp - 0x9c]
push edx
mov edx, 0x459d58
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.00410f80
lea eax, [ebp - 0x80]
push eax
mov edx, 0x459a9c
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00410f80
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x8c]
push 0x457a7c
mov edi, 2
lea ecx, [ebp - 0x9c]
call fcn.00404ab0
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 0x4576d8
push ecx
lea edx, [ebp - 0x48]
push edx
push ecx
push 0x4576d8
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.004043a0
add esp, 0xc
push eax
call fcn.00404630
add esp, 0xc
push eax
call fcn.004043a0
add esp, 0xc
push eax
call fcn.00404630
add esp, 0xc
push eax
call fcn.004043a0
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 0x41cd61
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 0x41cd91
mov edx, dword [ebp - 0xb8]
push edx
call fcn.004396db
add esp, 4
mov eax, dword [ebp - 0x1c]
push 0x459d68
mov edi, 4
lea ecx, [ebp - 0x2c]
call fcn.00404ab0
test eax, eax
jne 0x41cdb6
mov dword [ebp - 0xbc], reloc.OLEAUT32.dll_SysReAllocString
jmp 0x41cdf8
mov eax, dword [ebp - 0x1c]
push str.HKCU
lea ecx, [ebp - 0x2c]
call fcn.00404ab0
test eax, eax
jne 0x41cdd6
mov dword [ebp - 0xbc], SysStringLen
jmp 0x41cdf8
mov eax, dword [ebp - 0x1c]
push str.HKCR
lea ecx, [ebp - 0x2c]
call fcn.00404ab0
test eax, eax
jne 0x41d033
mov dword [ebp - 0xbc], SysStringLen
lea ecx, [ebp - 0xb8]
lea eax, [ebp - 0x170]
call fcn.004027b0
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], esi
jb 0x41ce14
mov eax, dword [eax]
mov edi, eax
mov ecx, 0xbbf
call fcn.00435930
mov byte [ebp - 4], 9
cmp dword [ebp - 0xa4], esi
jb 0x41ce3b
mov eax, dword [ebp - 0xb8]
push eax
call fcn.004396db
add esp, 4
cmp dword [ebp - 0x54], 0
jne 0x41ce81
mov eax, dword [ebp - 0x70]
push 0x459e60
mov edi, 3
lea ecx, [ebp - 0x80]
call fcn.00404ab0
mov ecx, dword [ebp - 0x48]
test eax, eax
sete al
cmp dword [ebp - 0x34], esi
jae 0x41ce66
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 0x41cf21
cmp dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x48]
jae 0x41ce8c
lea esi, [ebp - 0x48]
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x41ce9d
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 0x41cedf
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 0x41cf29
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x41cef1
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 0x41cf12
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc4], 0
mov esi, 8
xor ebx, ebx
cmp edi, ebx
je 0x41cf86
jmp 0x41cf30
mov esi, 8
xor ebx, ebx
cmp edi, 2
je 0x41cf86
cmp edi, 3
je 0x41cf86
lea ecx, [ebp - 0xb8]
lea eax, [ebp - 0x170]
call fcn.004027b0
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], esi
jb 0x41cf56
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 0x41cf86
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.004396db
add esp, 4
dec dword [0x46a9f4]
cmp dword [ebp - 0x6c], esi
jb 0x41cf9d
mov edx, dword [ebp - 0x80]
push edx
call fcn.004396db
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 0x41cfc5
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.004396db
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 0x41cfeb
mov eax, dword [ebp - 0x48]
push eax
call fcn.004396db
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 0x41d008
mov edx, dword [ebp - 0x64]
push edx
call fcn.004396db
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 0x41d025
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004396db
add esp, 4
xor edx, edx
mov word [ebp - 0x2c], dx
mov byte [ebp - 4], dl
jmp 0x41d0f4
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 0x41d061
mov eax, dword [ebp - 0x80]
push eax
call fcn.004396db
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 0x41d08b
mov edx, dword [ebp - 0x9c]
push edx
call fcn.004396db
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 0x41d0b1
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.004396db
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 0x41d0ce
mov eax, dword [ebp - 0x64]
push eax
call fcn.004396db
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 0x41d0eb
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004396db
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 0x41d116
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.00438351
mov esp, ebp
pop ebp
ret