Function at 0x4126e0
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4520e8
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x468738]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push esi
push edi
mov eax, dword [0x468738]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, edx
push 0x45647c
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], ebx
mov byte [esp + 0x17], 0
call fcn.00402130
test eax, eax
setne al
mov byte [edi + 0x40], al
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x412742
sub eax, edx
sar eax, 1
push eax
lea esi, [edi + 0x1c]
mov eax, ebx
call fcn.004065a0
cmp byte [edi + 0x40], 0
jne 0x412774
cmp byte [edi + 0x42], 0
je 0x412774
push ebx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
push str.Filtering_components_per_group
push str.__s_
push 0x4699dc
xor eax, eax
call fcn.0042c820
inc dword [0x4699fc]
mov eax, dword [edi]
mov ecx, dword [eax]
add esp, 0xc
mov dword [esp + 0x14], ecx
cmp ecx, eax
je 0x41290d
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x40]
push edx
add ecx, 8
mov edx, 0x458538
call fcn.00410e40
mov dword [esp + 0x88], 0
mov edx, dword [esp + 0x50]
test edx, edx
je 0x4128d8
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
mov edi, ecx
cmp eax, 8
jae 0x412865
lea edi, [esp + 0x40]
mov ebx, edi
lea ebx, [ebx + edx*2]
mov esi, ecx
cmp eax, 8
jae 0x4127f7
lea esi, [esp + 0x40]
cmp esi, ebx
je 0x41281f
sub edi, esi
lea ecx, [ecx]
movzx eax, word [esi]
push eax
call fcn.0043c015
mov word [edi + esi], ax
add esi, 2
add esp, 4
cmp esi, ebx
jne 0x412800
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
cmp eax, 8
jae 0x412828
lea ecx, [esp + 0x40]
mov edx, dword [esp + 0x18]
add edx, 0x44
push edx
call fcn.00411280
test al, al
jne 0x4128d8
cmp dword [esp + 0x54], 8
mov esi, dword [esp + 0x40]
jae 0x41284c
lea esi, [esp + 0x40]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 8]
dec ecx
mov eax, 0x45834c
cmp ecx, 0xb
ja case.default.0x41285e
jmp dword [ecx*4 + 0x412c40]
mov ebx, ecx
jmp 0x4127e9
mov eax, str.File
jmp case.default.0x41285e
mov eax, str.Folder
jmp case.default.0x41285e
mov eax, str.Shortcut
jmp case.default.0x41285e
mov eax, str.Registry
jmp case.default.0x41285e
mov eax, str.Service
jmp case.default.0x41285e
mov eax, str.Process
jmp case.default.0x41285e
mov eax, str.RegisterCOM
jmp case.default.0x41285e
mov eax, 0x458360
jmp case.default.0x41285e
mov eax, 0x458374
jmp case.default.0x41285e
mov eax, str.Pause
jmp case.default.0x41285e
mov eax, str.EnvVar
jmp case.default.0x41285e
mov eax, str.Custom
mov ecx, dword [edx + 0x28]
push esi
push ecx
push eax
push str._s_at_line__d._Group___s
push 0x4699dc
xor eax, eax
call fcn.0042c820
add esp, 0x14
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
mov dword [esp + 0x88], 0xffffffff
cmp dword [esp + 0x54], 8
mov dword [esp + 0x14], esi
jb 0x412901
mov eax, dword [esp + 0x40]
push eax
call fcn.00438b4b
add esp, 4
mov ecx, dword [esp + 0x18]
cmp esi, dword [ecx]
jne 0x4127a3
mov esi, dword [esp + 0x18]
dec dword [0x4699fc]
mov ecx, esi
call fcn.00412380
push str.Sorting_action_list_for_installation
push 0x4699dc
xor eax, eax
call fcn.0042c820
mov edx, dword [esp + 0x28]
add esp, 8
push edx
mov ecx, esi
call fcn.00421990
push str.dump
call fcn.00402130
test eax, eax
je 0x41297e
mov ecx, str.dump
call fcn.00402200
push eax
push str.Dumping_action_list_to__s
push 0x4699dc
xor eax, eax
call fcn.0042c820
add esp, 0xc
mov ecx, str.dump
call fcn.00402200
mov edx, eax
mov ecx, esi
call fcn.0041efa0
mov eax, dword [esi]
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
cmp ecx, eax
je 0x412c11
mov edi, edi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x24]
add ecx, 8
push eax
mov edx, 0x458538
call fcn.00410e40
mov dword [esp + 0x88], 1
mov edx, dword [esp + 0x34]
test edx, edx
je 0x412a43
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
cmp ecx, 8
jb 0x4129d0
mov dword [esp + 0x1c], edi
jmp 0x4129d8
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, edi
cmp ecx, 8
jae 0x4129e3
lea eax, [esp + 0x24]
lea ebx, [eax + edx*2]
mov esi, edi
cmp ecx, 8
jae 0x4129f1
lea esi, [esp + 0x24]
cmp esi, ebx
je 0x412a1f
mov edi, dword [esp + 0x1c]
sub edi, esi
jmp 0x412a00
movzx ecx, word [esi]
push ecx
call fcn.0043c015
mov word [esi + edi], ax
add esi, 2
add esp, 4
cmp esi, ebx
jne 0x412a00
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
cmp ecx, 8
mov ecx, edi
jae 0x412a2a
lea ecx, [esp + 0x24]
mov edx, dword [esp + 0x18]
add edx, 0x44
push edx
call fcn.00411280
test al, al
jne 0x412a43
mov eax, dword [esp + 0x14]
mov byte [eax + 0x20], 1
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x20], 0
mov edi, dword [esp + 0x18]
jne 0x412b90
lea edx, [esp + 0x5c]
push edx
mov edx, 0x4585d8
add ecx, 8
mov dword [edi + 0x3c], 0
call fcn.00410e40
mov esi, dword [eax + 0x10]
mov ecx, esi
cmp ecx, esi
jae 0x412a77
mov edx, esi
cmp esi, 6
jb 0x412a83
mov edx, 6
cmp dword [eax + 0x14], 8
jb 0x412a8d
mov ecx, dword [eax]
jmp 0x412a8f
mov ecx, eax
mov eax, str.ignore
test edx, edx
je 0x412ab3
mov bx, word [ecx]
cmp bx, word [eax]
jne 0x412aab
add ecx, 2
add eax, 2
dec edx
jne 0x412a98
jmp 0x412ab3
sbb eax, eax
and eax, 0xfffffffe
inc eax
jne 0x412ac5
cmp esi, 6
jae 0x412abd
or eax, 0xffffffff
jmp 0x412ac5
xor eax, eax
cmp esi, 6
setne al
test eax, eax
sete al
mov byte [esp + 0x88], 1
cmp dword [esp + 0x70], 8
mov byte [edi + 0x41], al
jb 0x412ae9
mov edx, dword [esp + 0x5c]
push edx
call fcn.00438b4b
add esp, 4
mov ecx, dword [esp + 0x14]
xor eax, eax
add ecx, 8
mov word [esp + 0x5c], ax
mov eax, dword [ecx]
dec eax
mov ebx, 7
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], 0
cmp eax, 0xb
ja case.default.0x412b10
jmp dword [eax*4 + 0x412c70]
push edi
call fcn.00413790
jmp 0x412b79
push edi
call fcn.00414200
jmp 0x412b79
mov edx, ecx
mov ecx, edi
call fcn.00414c90
jmp 0x412b79
push edi
call fcn.004155c0
jmp 0x412b79
push edi
call fcn.00416600
jmp 0x412b79
push edi
call fcn.004171d0
jmp 0x412b79
push edi
call fcn.00418150
jmp 0x412b79
push edi
call fcn.004186c0
jmp 0x412b79
push edi
call fcn.00419470
jmp 0x412b79
mov esi, ecx
call fcn.0041a750
jmp 0x412b79
push edi
call fcn.00419c50
jmp 0x412b79
push edi
call fcn.0041a0b0
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
jne 0x412b8a
cmp byte [edi + 0x41], 0
je 0x412bdb
mov byte [edi + 0x41], 0
jmp 0x412b95
mov ebx, 7
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
mov dword [esp + 0x88], 0xffffffff
cmp dword [esp + 0x38], 8
mov dword [esp + 0x14], esi
jb 0x412bbe
mov edx, dword [esp + 0x24]
push edx
call fcn.00438b4b
add esp, 4
xor eax, eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], 0
mov word [esp + 0x24], ax
cmp esi, dword [edi]
jne 0x412990
jmp 0x412c0d
mov dword [esp + 0x88], 0xffffffff
cmp dword [esp + 0x38], 8
jb 0x412bfa
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00438b4b
add esp, 4
xor edx, edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], 0
mov word [esp + 0x24], dx
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push eax
mov ecx, esi
call fcn.00412ca0
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004377c1
mov esp, ebp
pop ebp
ret