Function at 0x1001c770
Capabilities:
Delete registry key

Disassembly:
push 0xffffffffffffffff
push 0x10075950
mov eax, dword fs:[0]
push eax
sub esp, 0x3a4
mov eax, dword [0x1008c54c]
xor eax, esp
mov dword [esp + 0x3a0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1008c54c]
xor eax, esp
push eax
lea eax, [esp + 0x3b8]
mov dword fs:[0], eax
mov cl, byte [0x1008d8d0]
mov al, cl
dec al
mov byte [esp + 0x1b], al
mov byte [0x1008d8cc], cl
mov eax, 0x87
mov word [esp + 0xa0], ax
mov ecx, 0xc6
mov word [esp + 0xa2], cx
mov eax, 0xe7
mov word [esp + 0xa6], ax
mov edx, 0xde
mov word [esp + 0xa4], dx
mov ecx, 5
mov word [esp + 0xa8], cx
mov eax, 0x2c
mov word [esp + 0xac], ax
mov edx, 0xbd
mov word [esp + 0xaa], dx
mov ecx, 0xff
mov word [esp + 0xae], cx
mov eax, 0x3c
mov word [esp + 0xb2], ax
mov edx, 0xa
mov word [esp + 0xb0], dx
mov ecx, 0x83
mov word [esp + 0xb4], cx
mov eax, 0x66
mov word [esp + 0xb8], ax
mov edx, 0xf1
mov word [esp + 0xb6], dx
mov ecx, 0x42
mov word [esp + 0xba], cx
mov eax, 0x1b
mov ecx, eax
mov word [esp + 0xbe], ax
mov word [esp + 0xc0], cx
mov edx, 0x27
mov word [esp + 0xbc], dx
mov edx, 0xbb
mov word [esp + 0xc2], dx
mov eax, 0xbe
mov word [esp + 0xc4], ax
mov ecx, 0x72
mov word [esp + 0xc6], cx
mov edx, 0x1e
mov word [esp + 0xc8], dx
mov eax, 0xf4
mov word [esp + 0x74], ax
mov ecx, 0xa3
mov word [esp + 0x76], cx
mov edx, 0xbf
mov word [esp + 0x78], dx
mov eax, 0x95
mov word [esp + 0x7a], ax
mov ecx, 0x66
mov word [esp + 0x7c], cx
mov edx, 0xd5
mov eax, 0x49
mov ecx, 0x8d
mov word [esp + 0x7e], dx
mov word [esp + 0x80], ax
mov word [esp + 0x82], cx
mov edx, 0x79
mov eax, 0x51
mov ecx, 0xe2
mov word [esp + 0x84], dx
mov word [esp + 0x86], ax
mov word [esp + 0x88], cx
mov edx, 0x83
mov eax, 0x12
mov ecx, 0x62
mov word [esp + 0x8a], dx
mov word [esp + 0x8c], ax
mov word [esp + 0x8e], cx
mov edx, 0x54
mov eax, 0x72
mov ecx, 0x7f
mov word [esp + 0x90], dx
mov word [esp + 0x92], ax
mov word [esp + 0x94], cx
mov edx, 0xde
mov word [esp + 0x96], dx
mov eax, 0xdc
mov ecx, 0x13
mov edx, 0x6c
or ebp, 0xffffffff
test byte [0x10090c74], 1
mov word [esp + 0x98], ax
mov word [esp + 0x9a], cx
mov word [esp + 0x9c], dx
jne 0x1001ca13
or dword [0x10090c74], 1
lea eax, [esp + 0x74]
lea edi, [esp + 0xa0]
mov esi, 0x10090c70
mov dword [esp + 0x3c0], 0
call fcn.1003d910
push 0x100778e0
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0x3c0], ebp
xor eax, eax
mov word [esp + 0x4c], ax
mov eax, dword [0x10090c70]
mov ecx, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x1001ca34
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x4c]
call fcn.1000aed0
lea ecx, [esp + 0x38]
push ecx
mov ecx, esi
mov dword [esp + 0x3c4], 1
call fcn.1000d200
add esp, 4
test al, al
mov dword [esp + 0x3c0], ebp
mov ebp, 8
sete bl
cmp dword [esp + 0x60], ebp
jb 0x1001ca8b
mov edx, dword [esp + 0x4c]
push edx
call fcn.1004408a
add esp, 4
test bl, bl
je 0x1001ca99
mov eax, 0x80004005
jmp 0x1001d1dd
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x3c]
call fcn.10017da0
add esp, 4
mov dword [esp + 0x3c0], 2
mov cl, byte [0x1008d8d1]
sub byte [0x1008d8d0], cl
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x34], ebp
jae 0x1001cacf
lea ebx, [esp + 0x20]
test byte [0x10090c58], 1
mov edx, 0xb7
mov word [esp + 0x48], dx
mov ecx, 0x3f
mov word [esp + 0x4c], cx
mov edx, 0xaf
mov word [esp + 0x4e], dx
mov eax, 0x3b
mov ecx, 0x9a
mov edx, 0xcc
mov word [esp + 0x4a], ax
mov word [esp + 0x52], cx
mov word [esp + 0x54], dx
mov eax, 0xdd
mov ecx, 0xf4
mov edx, 0x77
mov word [esp + 0x50], ax
mov word [esp + 0x56], ax
mov word [esp + 0x64], cx
mov word [esp + 0x66], dx
mov eax, 0x6c
mov ecx, 0xe6
mov edx, 0x99
mov word [esp + 0x68], ax
mov word [esp + 0x6a], cx
mov word [esp + 0x6c], dx
mov eax, 0xc6
mov ecx, 0xe9
mov edx, 0xae
mov word [esp + 0x6e], ax
mov word [esp + 0x70], cx
mov word [esp + 0x72], dx
jne 0x1001cba4
or dword [0x10090c58], 1
lea esi, [esp + 0x64]
lea edi, [esp + 0x48]
mov byte [esp + 0x3c0], 3
call fcn.1003dca0
push 0x10077930
call fcn.1005f1f6
add esp, 4
mov byte [esp + 0x3c0], 2
mov eax, dword [0x10090a04]
push ebx
push eax
mov eax, 0x208
lea ebx, [esp + 0x1b4]
call fcn.1000b110
mov al, byte [esp + 0x23]
mov edi, dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
sub al, 0x15
add al, al
add al, byte [0x1008d8d2]
add esp, 8
add al, byte [0x1008d8d1]
lea ecx, [esp + 0x1ac]
push ecx
push SysReAllocString
mov bl, al
call edi
movzx eax, byte [0x1008d8d1]
sub al, 0x58
imul bl
mov ebx, dword [esp + 0x20]
mov byte [0x1008d8cc], al
cmp dword [esp + 0x34], ebp
jae 0x1001cc08
lea ebx, [esp + 0x20]
mov edx, 0x40
mov word [esp + 0xcc], dx
mov eax, 0x41
mov word [esp + 0xce], ax
mov ecx, 0x29
mov word [esp + 0xd0], cx
mov edx, 0xdc
mov word [esp + 0xd2], dx
mov eax, 0xbb
mov word [esp + 0xd4], ax
mov ecx, 0xc6
mov word [esp + 0xd6], cx
mov edx, 0x66
mov word [esp + 0xd8], dx
mov eax, 0x64
mov word [esp + 0xda], ax
mov ecx, 0xf0
mov word [esp + 0xdc], cx
mov edx, 0x5c
mov word [esp + 0xde], dx
mov eax, 0xe0
mov word [esp + 0xe0], ax
mov ecx, 0x38
mov word [esp + 0xe2], cx
mov edx, 0xcc
mov word [esp + 0xe4], dx
mov eax, 0xe5
mov word [esp + 0xe6], ax
mov ecx, 0xf8
mov word [esp + 0xe8], cx
mov edx, 0x4f
mov word [esp + 0xea], dx
mov eax, 0xb7
mov word [esp + 0xec], ax
mov ecx, 0x69
mov word [esp + 0xee], cx
mov edx, 4
mov word [esp + 0xf0], dx
mov eax, 0xfd
mov word [esp + 0xf2], ax
mov ecx, 0xd0
mov word [esp + 0xf4], cx
mov edx, 0xbe
mov word [esp + 0xf6], dx
mov eax, 0xf3
mov word [esp + 0xf8], ax
mov ecx, 0xdb
mov word [esp + 0xfa], cx
mov edx, 0x55
mov word [esp + 0xfc], dx
mov eax, 0x2f
mov word [esp + 0xfe], ax
mov ecx, 0x5d
mov word [esp + 0x100], cx
mov edx, 0xfc
mov word [esp + 0x102], dx
mov eax, 0x79
mov word [esp + 0x104], ax
mov ecx, 0x83
mov edx, 0xcd
mov word [esp + 0x106], cx
mov word [esp + 0x108], dx
mov eax, 0xa7
mov word [esp + 0x10a], ax
mov ecx, 0x8f
mov edx, 0x45
mov eax, 0x66
mov word [esp + 0x10c], cx
mov word [esp + 0x10e], dx
mov edx, eax
mov ecx, 0xab
mov word [esp + 0x110], ax
mov eax, 0xdf
mov word [esp + 0x112], cx
mov word [esp + 0x114], dx
mov ecx, 0x70
mov edx, 0x6c
mov word [esp + 0x116], ax
mov word [esp + 0x118], cx
mov word [esp + 0x11a], dx
mov eax, 0x6e
mov word [esp + 0x11c], ax
mov ecx, 0x9f
mov word [esp + 0x11e], cx
mov eax, 0x75
mov word [esp + 0x122], ax
mov edx, 0xed
mov word [esp + 0x120], dx
mov ecx, 0x74
mov word [esp + 0x124], cx
mov eax, 0x3b
mov word [esp + 0x128], ax
mov edx, 0xb6
mov word [esp + 0x126], dx
mov ecx, 0xb1
mov word [esp + 0x12a], cx
mov eax, 0x7a
mov ecx, eax
mov word [esp + 0x12e], ax
mov word [esp + 0x130], cx
mov edx, 0x5e
mov word [esp + 0x12c], dx
mov edx, 0x9e
mov word [esp + 0x132], dx
mov eax, 0xa
mov word [esp + 0x134], ax
mov ecx, 0x13
mov word [esp + 0x13c], cx
mov edx, 0xe
mov word [esp + 0x13e], dx
mov eax, 0x6f
mov word [esp + 0x140], ax
mov ecx, 0x88
mov word [esp + 0x142], cx
mov edx, 0xec
mov word [esp + 0x144], dx
mov eax, 0x87
mov word [esp + 0x146], ax
mov ecx, 0x34
mov word [esp + 0x148], cx
mov edx, 0x21
mov word [esp + 0x14a], dx
mov eax, 0xac
mov word [esp + 0x14c], ax
mov ecx, 0x11
mov word [esp + 0x14e], cx
mov edx, 0x89
mov word [esp + 0x150], dx
mov eax, 0x5b
mov word [esp + 0x152], ax
mov ecx, 0xbe
mov word [esp + 0x154], cx
mov edx, 0x8a
mov word [esp + 0x156], dx
mov eax, 0x8b
mov word [esp + 0x158], ax
mov ecx, 0x20
mov word [esp + 0x15a], cx
mov edx, 0xd1
mov eax, 0x1d
mov ecx, 0x58
mov word [esp + 0x15c], dx
mov word [esp + 0x15e], ax
mov word [esp + 0x160], cx
mov edx, 0xb4
mov eax, 0xbe
mov ecx, 0xca
mov word [esp + 0x162], dx
mov word [esp + 0x164], ax
mov word [esp + 0x166], cx
mov edx, 0x96
mov eax, 0xa9
mov ecx, 0x3b
mov word [esp + 0x168], dx
mov word [esp + 0x16a], ax
mov word [esp + 0x16c], cx
mov edx, 0x4a
mov eax, 0x29
mov ecx, 0xdc
mov word [esp + 0x16e], dx
mov word [esp + 0x170], ax
mov word [esp + 0x172], cx
mov eax, 0xfb
mov word [esp + 0x176], ax
mov edx, 0x3c
mov word [esp + 0x174], dx
mov eax, 0xe0
mov word [esp + 0x17c], ax
mov ecx, 0xbd
mov word [esp + 0x178], cx
mov edx, 0xcb
mov word [esp + 0x17a], dx
mov eax, 0xd9
mov word [esp + 0x182], ax
mov ecx, 0x37
mov word [esp + 0x17e], cx
mov edx, 3
mov word [esp + 0x180], dx
mov eax, ebp
mov word [esp + 0x188], ax
mov ecx, 0x3a
mov word [esp + 0x184], cx
mov edx, 0x9a
mov word [esp + 0x186], dx
mov eax, 0xf0
mov word [esp + 0x18e], ax
mov ecx, 0x1c
mov word [esp + 0x18a], cx
mov edx, 2
mov word [esp + 0x18c], dx
mov eax, 6
mov ecx, 0x9f
mov edx, 0x10
mov word [esp + 0x194], ax
mov word [esp + 0x190], cx
mov word [esp + 0x192], dx
mov eax, 0xd0
mov ecx, 0x96
mov edx, 0x79
mov word [esp + 0x19a], ax
mov word [esp + 0x196], cx
mov word [esp + 0x198], dx
mov eax, 0x26
mov ecx, 0x2c
mov edx, 9
mov word [esp + 0x1a0], ax
mov word [esp + 0x19c], cx
mov word [esp + 0x19e], dx
mov eax, 1
mov ecx, 0xbb
mov edx, 0x79
mov word [esp + 0x1a2], cx
mov word [esp + 0x1a4], dx
test byte [0x10090c60], al
jne 0x1001d1a2
or dword [0x10090c60], eax
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0x140]
mov esi, 0x10090c5c
mov byte [esp + 0x3c4], 4
call fcn.1003dc50
push 0x10077920
call fcn.1005f1f6
add esp, 4
mov ecx, dword [0x10090c5c]
push ebx
push ecx
mov eax, 0x208
lea ebx, [esp + 0x1b4]
call fcn.1000b110
add esp, 8
mov edx, ebx
push edx
push SysReAllocString
call edi
cmp dword [esp + 0x34], ebp
jb 0x1001d1db
mov eax, dword [esp + 0x20]
push eax
call fcn.1004408a
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x3b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3a0]
xor ecx, esp
call fcn.1005f0c0
add esp, 0x3b0
ret