Function at 0x41cbd0
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4516ca
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x468744]
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], 0x45b2c8
mov dword [ebp - 0x160], 0x456500
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, 0x458e08
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00410fc0
lea eax, [ebp - 0x64]
push eax
mov edx, 0x458e14
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.00410fc0
lea ecx, [ebp - 0x48]
push ecx
mov edx, str.path
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.00410fc0
lea edx, [ebp - 0x9c]
push edx
mov edx, 0x458e38
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.00410fc0
lea eax, [ebp - 0x80]
push eax
mov edx, 0x458b7c
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00410fc0
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x8c]
push 0x4569f4
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 0x4699d4
xor eax, eax
call fcn.0042d020
inc dword [0x4699f4]
add esp, 0x10
lea ecx, [ebp - 0x64]
push ecx
push ecx
push 0x456650
push ecx
lea edx, [ebp - 0x48]
push edx
push ecx
push 0x456650
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 0x41cdb1
mov eax, dword [eax]
push eax
push str.Deleting___s_
push 0x4699d4
xor eax, eax
call fcn.0042d020
add esp, 0xc
mov byte [ebp - 4], 9
cmp dword [ebp - 0xa4], esi
jb 0x41cde1
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00439b10
add esp, 4
mov eax, dword [ebp - 0x1c]
push 0x458e48
mov edi, 4
lea ecx, [ebp - 0x2c]
call fcn.00404ab0
test eax, eax
jne 0x41ce06
mov dword [ebp - 0xbc], reloc.OLEAUT32.dll_SysReAllocString
jmp 0x41ce48
mov eax, dword [ebp - 0x1c]
push str.HKCU
lea ecx, [ebp - 0x2c]
call fcn.00404ab0
test eax, eax
jne 0x41ce26
mov dword [ebp - 0xbc], SysReAllocString
jmp 0x41ce48
mov eax, dword [ebp - 0x1c]
push str.HKCR
lea ecx, [ebp - 0x2c]
call fcn.00404ab0
test eax, eax
jne 0x41d083
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 0x41ce64
mov eax, dword [eax]
mov edi, eax
mov ecx, 0xbbf
call fcn.00435690
mov byte [ebp - 4], 9
cmp dword [ebp - 0xa4], esi
jb 0x41ce8b
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00439b10
add esp, 4
cmp dword [ebp - 0x54], 0
jne 0x41ced1
mov eax, dword [ebp - 0x70]
push 0x458f40
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 0x41ceb6
lea ecx, [ebp - 0x48]
movzx edx, al
push edx
mov edx, dword [ebp - 0xbc]
mov eax, ebx
call fcn.0042d630
add esp, 4
mov edi, eax
jmp 0x41cf71
cmp dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x48]
jae 0x41cedc
lea esi, [ebp - 0x48]
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x41ceed
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.0042d230
test eax, eax
jne 0x41cf2f
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 0x41cf79
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x41cf41
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 0x41cf62
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc4], 0
mov esi, 8
xor ebx, ebx
cmp edi, ebx
je 0x41cfd6
jmp 0x41cf80
mov esi, 8
xor ebx, ebx
cmp edi, 2
je 0x41cfd6
cmp edi, 3
je 0x41cfd6
lea ecx, [ebp - 0xb8]
lea eax, [ebp - 0x170]
call fcn.004027b0
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], esi
jb 0x41cfa6
mov eax, dword [eax]
push eax
push edi
push str.Error_0x_X_deleting__s
push 0x4699d4
mov eax, 2
call fcn.0042d020
add esp, 0x10
cmp dword [ebp - 0xa4], esi
jb 0x41cfd6
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00439b10
add esp, 4
dec dword [0x4699f4]
cmp dword [ebp - 0x6c], esi
jb 0x41cfed
mov edx, dword [ebp - 0x80]
push edx
call fcn.00439b10
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 0x41d015
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00439b10
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 0x41d03b
mov eax, dword [ebp - 0x48]
push eax
call fcn.00439b10
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 0x41d058
mov edx, dword [ebp - 0x64]
push edx
call fcn.00439b10
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 0x41d075
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00439b10
add esp, 4
xor edx, edx
mov word [ebp - 0x2c], dx
mov byte [ebp - 4], dl
jmp 0x41d144
push str.Uninstall_key_format_error
push 0x4699d4
mov eax, 2
call fcn.0042d020
dec dword [0x4699f4]
add esp, 8
cmp dword [ebp - 0x6c], esi
jb 0x41d0b1
mov eax, dword [ebp - 0x80]
push eax
call fcn.00439b10
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 0x41d0db
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00439b10
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 0x41d101
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00439b10
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 0x41d11e
mov eax, dword [ebp - 0x64]
push eax
call fcn.00439b10
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 0x41d13b
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00439b10
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 0x41d166
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.00438786
mov esp, ebp
pop ebp
ret