Function at 0x41b960
Capabilities:
Delete registry value

Disassembly:
push 0xffffffffffffffff
push 0x44e862
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x462408]
xor eax, esp
mov dword [esp + 0x140], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x462408]
xor eax, esp
push eax
lea eax, [esp + 0x158]
mov dword fs:[0], eax
xor ebx, ebx
mov esi, ecx
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x164], ebx
call fcn.004022e0
lea ecx, [esp + 0xe4]
push ecx
push esi
mov ecx, 0x4556e8
mov byte [esp + 0x168], 1
call fcn.00411390
lea edx, [esp + 0x100]
push edx
push esi
mov ecx, 0x4556f4
mov byte [esp + 0x168], 2
call fcn.00411390
lea eax, [esp + 0xc8]
push eax
push esi
mov ecx, str.path
mov byte [esp + 0x168], 3
call fcn.00411390
lea ecx, [esp + 0x11c]
push ecx
push esi
mov ecx, 0x455718
mov byte [esp + 0x168], 4
call fcn.00411390
lea edx, [esp + 0x138]
push edx
push esi
mov ecx, 0x4554bc
mov byte [esp + 0x168], 5
call fcn.00411390
mov byte [esp + 0x160], 6
mov eax, dword [esp + 0x130]
push 0x453e5c
lea edi, [ebx + 2]
lea ecx, [esp + 0x120]
call fcn.00404850
mov esi, eax
push str.Registry
neg esi
sbb esi, esi
push str.__s_
push 0x463650
xor eax, eax
add esi, 1
call fcn.0042a920
add dword [0x463670], 1
add esp, 0xc
lea eax, [esp + 0x100]
push eax
push ecx
push 0x453abc
push ecx
lea ecx, [esp + 0xd8]
push ecx
push ecx
push 0x453abc
push ecx
lea edx, [esp + 0x104]
push edx
lea eax, [esp + 0x68]
push eax
call fcn.004215e0
add esp, 0xc
push eax
call fcn.004045a0
add esp, 0xc
push eax
call fcn.004215e0
add esp, 0xc
push eax
call fcn.004045a0
add esp, 0xc
push eax
call fcn.004215e0
add esp, 8
lea ecx, [esp + 0x20]
lea eax, [esp + 0x3c]
call fcn.00402420
mov ebp, 8
mov byte [esp + 0x160], 7
cmp dword [eax + 0x18], ebp
jb 0x41bb02
mov eax, dword [eax + 4]
jmp 0x41bb05
add eax, 4
push eax
push str.Deleting___s_
push 0x463650
xor eax, eax
call fcn.0042a920
add esp, 0xc
mov byte [esp + 0x160], 6
cmp dword [esp + 0x38], ebp
jb 0x41bb35
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0043642d
add esp, 4
mov eax, dword [esp + 0xf8]
push str.HKLM
mov edi, 4
lea ecx, [esp + 0xe8]
call fcn.00404850
test eax, eax
jne 0x41bb60
mov dword [esp + 0x1c], 0x80000002
jmp 0x41bb88
mov eax, dword [esp + 0xf8]
push str.HKCU
lea ecx, [esp + 0xe8]
call fcn.00404850
test eax, eax
jne 0x41bd51
mov dword [esp + 0x1c], 0x80000001
lea ecx, [esp + 0x20]
lea eax, [esp + 0x3c]
call fcn.00402420
mov byte [esp + 0x160], 8
cmp dword [eax + 0x18], ebp
jb 0x41bba7
mov eax, dword [eax + 4]
jmp 0x41bbaa
add eax, 4
mov ebx, eax
mov ecx, 0xbbf
call fcn.004312e0
mov ebp, 8
mov byte [esp + 0x160], 6
cmp dword [esp + 0x38], ebp
jb 0x41bbd6
mov edx, dword [esp + 0x24]
push edx
call fcn.0043642d
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x114], ebx
jne 0x41bc31
mov eax, dword [esp + 0x14c]
push 0x455820
lea edi, [ebx + 3]
lea ecx, [esp + 0x13c]
call fcn.00404850
mov ecx, dword [esp + 0xcc]
test eax, eax
sete al
cmp dword [esp + 0xe0], ebp
jae 0x41bc18
lea ecx, [esp + 0xcc]
mov edx, dword [esp + 0x1c]
movzx eax, al
push eax
mov eax, esi
call fcn.0042af00
add esp, 4
mov esi, eax
jmp 0x41bcf3
cmp dword [esp + 0xe0], ebp
mov edi, dword [esp + 0xcc]
jae 0x41bc48
lea edi, [esp + 0xcc]
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x41bc57
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
sub esi, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
je 0x41bc7e
sub esi, 1
jne 0x41bc96
call fcn.0042eab0
test al, al
je 0x41bcb0
mov eax, 0x100
mov dword [esp + 0x18], eax
jmp 0x41bc96
call fcn.0042eab0
test al, al
je 0x41bc92
mov eax, 0x200
mov dword [esp + 0x18], eax
jmp 0x41bc96
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push ecx
or eax, 0xf003f
push eax
push ebx
push edi
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
jmp 0x41bcb5
mov eax, 3
cmp eax, ebx
mov esi, eax
jne 0x41bcf7
cmp dword [esp + 0x118], ebp
mov eax, dword [esp + 0x104]
jae 0x41bcd2
lea eax, [esp + 0x104]
push eax
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov esi, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x41bcef
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x14], ebx
cmp esi, ebx
je 0x41bd68
cmp esi, 2
je 0x41bd68
cmp esi, 3
je 0x41bd68
lea ecx, [esp + 0x20]
lea eax, [esp + 0x3c]
call fcn.00402420
mov byte [esp + 0x160], 9
cmp dword [eax + 0x18], ebp
jb 0x41bd20
mov eax, dword [eax + 4]
jmp 0x41bd23
add eax, 4
push eax
push esi
push str.Error_0x_X_deleting__s
push 0x463650
mov eax, 2
call fcn.0042a920
add esp, 0x10
cmp dword [esp + 0x38], ebp
jb 0x41bd68
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0043642d
add esp, 4
jmp 0x41bd68
push str.Uninstall_key_format_error
push 0x463650
mov eax, 2
call fcn.0042a920
add esp, 8
sub dword [0x463670], 1
cmp dword [esp + 0x150], ebp
jb 0x41bd88
mov edx, dword [esp + 0x13c]
push edx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x134], ebp
mov esi, 7
mov word [esp + 0x13c], bx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], esi
jb 0x41bdbc
mov eax, dword [esp + 0x120]
push eax
call fcn.0043642d
add esp, 4
cmp dword [esp + 0xe0], ebp
mov word [esp + 0x120], bx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], esi
jb 0x41bdeb
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x118], ebp
mov word [esp + 0xcc], bx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], esi
jb 0x41be1a
mov edx, dword [esp + 0x104]
push edx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0xfc], ebp
mov word [esp + 0x104], bx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], esi
jb 0x41be49
mov eax, dword [esp + 0xe8]
push eax
call fcn.0043642d
add esp, 4
lea ecx, [esp + 0x90]
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf8], ebx
mov word [esp + 0xe8], bx
mov byte [esp + 0x160], bl
call fcn.00402380
lea ecx, [esp + 0x90]
push ecx
mov dword [esp + 0x94], vtable.std::ios_base.0
call fcn.004344c1
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, ebx
je 0x41be9c
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x158]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x140]
xor ecx, esp
call fcn.00434b37
add esp, 0x150
ret