Function at 0x4126d0
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4520f8
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 0x412732
sub eax, edx
sar eax, 1
push eax
lea esi, [edi + 0x1c]
mov eax, ebx
call fcn.004065a0
cmp byte [edi + 0x40], 0
jne 0x412764
cmp byte [edi + 0x42], 0
je 0x412764
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 0x4128fd
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x40]
push edx
add ecx, 8
mov edx, 0x458538
call fcn.00410e30
mov dword [esp + 0x88], 0
mov edx, dword [esp + 0x50]
test edx, edx
je 0x4128c8
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
mov edi, ecx
cmp eax, 8
jae 0x412855
lea edi, [esp + 0x40]
mov ebx, edi
lea ebx, [ebx + edx*2]
mov esi, ecx
cmp eax, 8
jae 0x4127e7
lea esi, [esp + 0x40]
cmp esi, ebx
je 0x41280f
sub edi, esi
lea ecx, [ecx]
movzx eax, word [esi]
push eax
call fcn.0043c025
mov word [edi + esi], ax
add esi, 2
add esp, 4
cmp esi, ebx
jne 0x4127f0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
cmp eax, 8
jae 0x412818
lea ecx, [esp + 0x40]
mov edx, dword [esp + 0x18]
add edx, 0x44
push edx
call fcn.00411270
test al, al
jne 0x4128c8
cmp dword [esp + 0x54], 8
mov esi, dword [esp + 0x40]
jae 0x41283c
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.0x41284e
jmp dword [ecx*4 + 0x412c30]
mov ebx, ecx
jmp 0x4127d9
mov eax, str.File
jmp case.default.0x41284e
mov eax, str.Folder
jmp case.default.0x41284e
mov eax, str.Shortcut
jmp case.default.0x41284e
mov eax, str.Registry
jmp case.default.0x41284e
mov eax, str.Service
jmp case.default.0x41284e
mov eax, str.Process
jmp case.default.0x41284e
mov eax, str.RegisterCOM
jmp case.default.0x41284e
mov eax, 0x458360
jmp case.default.0x41284e
mov eax, 0x458374
jmp case.default.0x41284e
mov eax, str.Pause
jmp case.default.0x41284e
mov eax, str.EnvVar
jmp case.default.0x41284e
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 0x4128f1
mov eax, dword [esp + 0x40]
push eax
call fcn.00438b5b
add esp, 4
mov ecx, dword [esp + 0x18]
cmp esi, dword [ecx]
jne 0x412793
mov esi, dword [esp + 0x18]
dec dword [0x4699fc]
mov ecx, esi
call fcn.00412370
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 0x41296e
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 0x412c01
mov edi, edi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x24]
add ecx, 8
push eax
mov edx, 0x458538
call fcn.00410e30
mov dword [esp + 0x88], 1
mov edx, dword [esp + 0x34]
test edx, edx
je 0x412a33
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
cmp ecx, 8
jb 0x4129c0
mov dword [esp + 0x1c], edi
jmp 0x4129c8
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, edi
cmp ecx, 8
jae 0x4129d3
lea eax, [esp + 0x24]
lea ebx, [eax + edx*2]
mov esi, edi
cmp ecx, 8
jae 0x4129e1
lea esi, [esp + 0x24]
cmp esi, ebx
je 0x412a0f
mov edi, dword [esp + 0x1c]
sub edi, esi
jmp 0x4129f0
movzx ecx, word [esi]
push ecx
call fcn.0043c025
mov word [esi + edi], ax
add esi, 2
add esp, 4
cmp esi, ebx
jne 0x4129f0
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
cmp ecx, 8
mov ecx, edi
jae 0x412a1a
lea ecx, [esp + 0x24]
mov edx, dword [esp + 0x18]
add edx, 0x44
push edx
call fcn.00411270
test al, al
jne 0x412a33
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 0x412b80
lea edx, [esp + 0x5c]
push edx
mov edx, 0x4585d8
add ecx, 8
mov dword [edi + 0x3c], 0
call fcn.00410e30
mov esi, dword [eax + 0x10]
mov ecx, esi
cmp ecx, esi
jae 0x412a67
mov edx, esi
cmp esi, 6
jb 0x412a73
mov edx, 6
cmp dword [eax + 0x14], 8
jb 0x412a7d
mov ecx, dword [eax]
jmp 0x412a7f
mov ecx, eax
mov eax, str.ignore
test edx, edx
je 0x412aa3
mov bx, word [ecx]
cmp bx, word [eax]
jne 0x412a9b
add ecx, 2
add eax, 2
dec edx
jne 0x412a88
jmp 0x412aa3
sbb eax, eax
and eax, 0xfffffffe
inc eax
jne 0x412ab5
cmp esi, 6
jae 0x412aad
or eax, 0xffffffff
jmp 0x412ab5
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 0x412ad9
mov edx, dword [esp + 0x5c]
push edx
call fcn.00438b5b
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.0x412b00
jmp dword [eax*4 + 0x412c60]
push edi
call fcn.00413780
jmp 0x412b69
push edi
call fcn.004141f0
jmp 0x412b69
mov edx, ecx
mov ecx, edi
call fcn.00414c80
jmp 0x412b69
push edi
call fcn.004155b0
jmp 0x412b69
push edi
call fcn.004165f0
jmp 0x412b69
push edi
call fcn.004171c0
jmp 0x412b69
push edi
call fcn.00418140
jmp 0x412b69
push edi
call fcn.004186b0
jmp 0x412b69
push edi
call fcn.00419460
jmp 0x412b69
mov esi, ecx
call fcn.0041a740
jmp 0x412b69
push edi
call fcn.00419c40
jmp 0x412b69
push edi
call fcn.0041a0a0
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
jne 0x412b7a
cmp byte [edi + 0x41], 0
je 0x412bcb
mov byte [edi + 0x41], 0
jmp 0x412b85
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 0x412bae
mov edx, dword [esp + 0x24]
push edx
call fcn.00438b5b
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 0x412980
jmp 0x412bfd
mov dword [esp + 0x88], 0xffffffff
cmp dword [esp + 0x38], 8
jb 0x412bea
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00438b5b
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.00412c90
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.004377d1
mov esp, ebp
pop ebp
ret