Function at 0x100254a0
Capabilities:
Delete registry value

Disassembly:
push ebp
lea ebp, [esp - 0x220c]
mov eax, 0x220c
call fcn.10029910
push 0xffffffffffffffff
push 0x1002b618
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x100350dc]
xor eax, ebp
mov dword [ebp + 0x2208], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x30], 1
mov eax, dword [ebp + 0x2220]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp + 0x2214]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025551
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov eax, dword [ebp - 0xc4]
jmp 0x10025f72
mov eax, dword [ebp + 0x2214]
movzx ecx, word [eax]
cmp ecx, 0x7d
je 0x10025f54
mov dword [ebp - 0x30], 1
mov edx, dword [str.Delete]
push edx
mov eax, dword [ebp + 0x2214]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1002558b
mov dword [ebp - 0x68], 1
jmp 0x10025592
mov dword [ebp - 0x68], 0
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x78], ecx
mov edx, dword [str.ForceRemove]
push edx
mov eax, dword [ebp + 0x2214]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x100255ba
cmp dword [ebp - 0x78], 0
je 0x10025794
mov ecx, dword [ebp + 0x2214]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x100255d7
jmp 0x10025f54
cmp dword [ebp + 0x221c], 0
je 0x10025794
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov byte [ebp - 4], 1
mov edx, dword [ebp + 0x2214]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x6c], 0
cmp dword [ebp - 0x28], 0
jne 0x1002561c
mov dword [ebp - 0x70], 0
jmp 0x10025655
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax]
test ecx, ecx
je 0x1002564f
mov edx, dword [ebp - 0x28]
movzx eax, word [edx]
mov ecx, 0x5c
movzx edx, cx
cmp eax, edx
jne 0x10025640
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x6c], eax
jmp 0x1002564f
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [ebp - 0x28], eax
jmp 0x1002561c
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0
je 0x1002568b
mov dword [ebp - 0xd0], 0x80020009
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.10023e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov eax, dword [ebp - 0xd0]
jmp 0x10025f72
mov dword [ebp - 0x48], 0
jmp 0x1002569d
mov eax, dword [ebp - 0x48]
add eax, 1
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xc
jge 0x100256ca
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx*4 + 0x1002d0a4]
push edx
mov eax, dword [ebp + 0x2214]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100256c8
mov dword [ebp - 0x74], 0
jmp 0x100256d1
jmp 0x10025694
mov dword [ebp - 0x74], 1
cmp dword [ebp - 0x74], 0
je 0x1002571f
xor ecx, ecx
jne 0x100256d7
mov edx, dword [ebp + 0x2218]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov eax, dword [ebp + 0x2214]
push eax
lea ecx, [ebp - 0x40]
call fcn.10024da0
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
cmp dword [ebp - 0x78], 0
je 0x10025788
mov edx, dword [ebp + 0x2214]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x1002574e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.10023e20
jmp 0x10025f54
mov eax, dword [ebp + 0x2214]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.10026460
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025777
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.10023e20
jmp 0x10025f54
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.10023e20
jmp 0x10025eab
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.10023e20
mov ecx, dword [str.NoRemove]
push ecx
mov edx, dword [ebp + 0x2214]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100257d0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp + 0x2214]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x100257d0
jmp 0x10025f54
mov ecx, dword [0x1002cf88]
push ecx
mov edx, dword [ebp + 0x2214]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x10025a0d
lea eax, [ebp]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025806
jmp 0x10025f54
mov ecx, dword [ebp + 0x2214]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025823
jmp 0x10025f54
mov edx, dword [ebp + 0x2214]
movzx eax, word [edx]
cmp eax, 0x3d
je 0x10025855
mov dword [ebp - 0xbc], 0x80020009
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov eax, dword [ebp - 0xbc]
jmp 0x10025f72
cmp dword [ebp + 0x221c], 0
je 0x10025925
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov byte [ebp - 4], 2
xor ecx, ecx
jne 0x1002587b
mov edx, dword [ebp + 0x2218]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp + 0x2214]
push eax
lea ecx, [ebp]
push ecx
lea edx, [ebp - 0x54]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.100230e0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
cmp dword [ebp - 0x10], 0
jge 0x10025903
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xb8], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.10023e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov eax, dword [ebp - 0xb8]
jmp 0x10025f72
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.10023e20
jmp 0x10025eab
cmp dword [ebp + 0x2220], 0
jne 0x100259eb
cmp dword [ebp - 0x30], 0
je 0x100259eb
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
push 0x20006
push 0
mov edx, dword [ebp + 0x2218]
push edx
lea ecx, [ebp - 0x90]
call fcn.10024710
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x100259c1
xor eax, eax
jne 0x1002597c
lea ecx, [ebp]
push ecx
mov edx, dword [ebp - 0x90]
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x100259bf
cmp dword [ebp - 0x14], 2
je 0x100259bf
mov eax, dword [ebp - 0x14]
push eax
call fcn.10023c30
add esp, 4
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x90]
call fcn.10023e20
jmp 0x10025f54
jmp 0x100259e0
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10023c30
add esp, 4
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x90]
call fcn.10023e20
jmp 0x10025f54
lea ecx, [ebp - 0x90]
call fcn.10023e20
mov edx, dword [ebp + 0x2214]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.10026460
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025a08
jmp 0x10025f54
jmp 0x10025551
push 0x5c
mov eax, dword [ebp + 0x2214]
push eax
call fcn.100265a0
add esp, 8
test eax, eax
je 0x10025a46
mov dword [ebp - 0xc0], 0x80020009
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov eax, dword [ebp - 0xc0]
jmp 0x10025f72
cmp dword [ebp + 0x221c], 0
je 0x10025b46
push 0x2001f
mov ecx, dword [ebp + 0x2214]
push ecx
mov edx, dword [ebp + 0x2218]
push edx
lea ecx, [ebp - 0x24]
call fcn.10024710
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x10025af3
push 0x20019
mov eax, dword [ebp + 0x2214]
push eax
mov ecx, dword [ebp + 0x2218]
push ecx
lea ecx, [ebp - 0x24]
call fcn.10024710
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x10025af3
push 0
push 0
push 0x2001f
push 0
push 0
mov edx, dword [ebp + 0x2214]
push edx
mov eax, dword [ebp + 0x2218]
push eax
lea ecx, [ebp - 0x24]
call fcn.10023e70
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x10025af3
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10023c30
add esp, 4
mov dword [ebp - 0xc8], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov eax, dword [ebp - 0xc8]
jmp 0x10025f72
mov edx, dword [ebp + 0x2214]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025b10
jmp 0x10025f54
mov eax, dword [ebp + 0x2214]
movzx ecx, word [eax]
cmp ecx, 0x3d
jne 0x10025b41
mov edx, dword [ebp + 0x2214]
push edx
push 0
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.100230e0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025b41
jmp 0x10025f54
jmp 0x10025eab
cmp dword [ebp + 0x2220], 0
jne 0x10025b6f
push 0x20019
mov ecx, dword [ebp + 0x2214]
push ecx
mov edx, dword [ebp + 0x2218]
push edx
lea ecx, [ebp - 0x24]
call fcn.10024710
mov dword [ebp - 0x14], eax
jmp 0x10025b76
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], 0
je 0x10025b86
mov dword [ebp + 0x2220], 1
push 0xffffffffffffffff
mov eax, dword [ebp + 0x2214]
push eax
push 0x104
lea ecx, [ebp + 0x2000]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
add esp, 0x10
mov dword [ebp - 0x80], eax
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x7c], edx
cmp dword [ebp - 0x7c], 0x50
ja case.0x10025bbd.1
mov eax, dword [ebp - 0x7c]
movzx ecx, byte [eax + 0x10025fa8]
jmp dword [ecx*4 + 0x10025f98]
push 0x8007000e
call fcn.1000b3e0
jmp 0x10025be8
push 0x80070057
call fcn.1000b3e0
jmp 0x10025be8
jmp 0x10025be8
push 0x80004005
call fcn.1000b3e0
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp + 0x2214]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025c0e
jmp 0x10025f54
mov ecx, dword [ebp + 0x2214]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.10026460
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025c2b
jmp 0x10025f54
mov edx, dword [ebp + 0x2214]
movzx eax, word [edx]
cmp eax, 0x7b
jne 0x10025cd6
mov ecx, dword [ebp + 0x2214]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
add edx, 2
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x2c]
mov cx, word [eax]
mov word [ebp - 0x64], cx
add dword [ebp - 0x2c], 2
cmp word [ebp - 0x64], 0
jne 0x10025c52
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0xcc]
sar edx, 1
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 1
jne 0x10025cd6
mov eax, dword [ebp + 0x2220]
push eax
mov ecx, dword [ebp + 0x221c]
push ecx
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp + 0x2214]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.100254a0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025cb9
cmp dword [ebp + 0x2220], 0
jne 0x10025cb9
jmp 0x10025f54
mov ecx, dword [ebp + 0x2214]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025cd6
jmp 0x10025f54
mov edx, dword [ebp - 0x98]
mov dword [ebp + 0x2220], edx
cmp dword [ebp - 0x14], 2
jne 0x10025ced
jmp 0x10025551
cmp dword [ebp - 0x14], 0
je 0x10025d17
cmp dword [ebp + 0x2220], 0
je 0x10025d03
jmp 0x10025551
mov eax, dword [ebp - 0x14]
push eax
call fcn.10023c30
add esp, 4
mov dword [ebp - 0x10], eax
jmp 0x10025f54
cmp dword [ebp + 0x2220], 0
je 0x10025daf
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0x9c]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.100241a0
test eax, eax
je 0x10025daf
mov dword [ebp - 0x44], 0
jmp 0x10025d52
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xc
jge 0x10025d82
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx*4 + 0x1002d0a4]
push edx
lea eax, [ebp + 0x2000]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x10025d80
mov dword [ebp - 0x84], 0
jmp 0x10025d8c
jmp 0x10025d49
mov dword [ebp - 0x84], 1
cmp dword [ebp - 0x84], 0
je 0x10025daa
cmp dword [ebp - 0x30], 0
je 0x10025daa
lea ecx, [ebp + 0x2000]
push ecx
lea ecx, [ebp - 0x24]
call fcn.10024da0
jmp 0x10025551
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.100241a0
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x10025e0a
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10023c30
add esp, 4
mov dword [ebp - 0xa4], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov eax, dword [ebp - 0xa4]
jmp 0x10025f72
cmp dword [ebp - 0x30], 0
je 0x10025eab
cmp dword [ebp - 0xa8], 0
jne 0x10025eab
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
xor edx, edx
jne 0x10025e36
mov eax, dword [ebp + 0x2218]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
lea ecx, [ebp + 0x2000]
push ecx
lea ecx, [ebp - 0x60]
call fcn.10023f60
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
cmp dword [ebp - 0x14], 0
je 0x10025ea3
mov eax, dword [ebp - 0x14]
push eax
call fcn.10023c30
add esp, 4
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x60]
call fcn.10023e20
jmp 0x10025f54
lea ecx, [ebp - 0x60]
call fcn.10023e20
cmp dword [ebp + 0x221c], 0
je 0x10025f4f
mov ecx, dword [ebp + 0x2214]
movzx edx, word [ecx]
cmp edx, 0x7b
jne 0x10025f4f
mov eax, dword [ebp + 0x2214]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
add ecx, 2
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x34]
mov ax, word [edx]
mov word [ebp - 0x62], ax
add dword [ebp - 0x34], 2
cmp word [ebp - 0x62], 0
jne 0x10025edf
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0xac]
sar ecx, 1
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], 1
jne 0x10025f4f
push 0
mov edx, dword [ebp + 0x221c]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp + 0x2214]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.100254a0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025f35
jmp 0x10025f54
mov edx, dword [ebp + 0x2214]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.10024490
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10025f4f
jmp 0x10025f54
jmp 0x10025551
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10023e20
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp + 0x2208]
xor ecx, ebp
call fcn.1002916b
add ebp, 0x220c
mov esp, ebp
pop ebp
ret 0x10