Function at 0x61c1fc
Capabilities:
Delete registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x23
push 0
push 0
dec ecx
jne 0x61c205
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x80], ecx
mov byte [ebp - 0x29], dl
mov dword [ebp - 0x30], eax
mov ecx, 0xa
lea eax, [ebp - 0x28]
mov edx, dword [0x4012b8]
call fcn.0040c6cc
xor eax, eax
push ebp
push 0x61d350
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x61d374
call fcn.00607c20
lea eax, [ebp - 0xac]
call fcn.005bc700
mov eax, dword [ebp - 0xac]
call fcn.00425724
mov byte [ebp - 0x81], 1
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1c], 0
mov byte [ebp - 0x82], 0
xor eax, eax
mov dword [ebp - 0x88], eax
xor eax, eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov dl, 1
mov eax, dword [0x5fe6f8]
call fcn.00408b9c
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x61d2cc
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x5fe6f8]
call fcn.00408b9c
mov dword [ebp - 0x88], eax
mov dl, 1
mov eax, dword [0x5fe6f8]
call fcn.00408b9c
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x5fe6f8]
call fcn.00408b9c
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x5fe6f8]
call fcn.00408b9c
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x5fe6f8]
call fcn.00408b9c
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x80], 0
je 0x61c313
mov dl, 1
mov eax, dword [0x5fe6f8]
call fcn.00408b9c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x8c], eax
mov ecx, eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp byte [ebp - 0x29], 0
je 0x61c716
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x61c716
mov eax, dword [ebp - 0x90]
cmp word [eax + 0x10], 0x80
jne 0x61c6fb
xor eax, eax
push ebp
push 0x61c6a5
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x90]
call fcn.0061c1a8
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x61c39a
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x88]
call fcn.006021bc
inc eax
jne 0x61c666
mov bl, 1
mov eax, dword [ebp - 0x90]
mov esi, dword [eax + 8]
test esi, 1
je 0x61c3b1
xor ebx, ebx
jmp 0x61c3bb
test esi, 2
je 0x61c3bb
mov bl, 2
mov dword [ebp - 0xa8], 1
test esi, 8
je 0x61c3d9
mov dword [ebp - 0xa8], 7
jmp 0x61c3fd
test esi, 0x10
je 0x61c3ed
mov dword [ebp - 0xa8], 3
jmp 0x61c3fd
test esi, 0x40
je 0x61c3fd
xor eax, eax
mov dword [ebp - 0xa8], eax
test esi, 4
jne 0x61c54a
lea eax, [ebp - 0xb0]
mov ecx, dword [ebp - 0x28]
mov edx, 0x61d3cc
call fcn.0040bad8
mov eax, dword [ebp - 0xb0]
call fcn.00607c20
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 2
jne 0x61c457
cmp dword [ebp - 0x24], 0
je 0x61c457
lea eax, [ebp - 0xb4]
mov ecx, dword [ebp - 0x24]
mov edx, 0x61d408
call fcn.0040bad8
mov eax, dword [ebp - 0xb4]
call fcn.00607c20
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x20
je 0x61c480
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.005fe218
test al, al
je 0x61c53b
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa8]
push eax
push 0x61b24c
call fcn.00607bf4
test al, al
je 0x61c4a6
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 4
jne 0x61c4aa
xor eax, eax
jmp 0x61c4ac
mov al, 1
push eax
push 0x61b3c8
push 0
lea eax, [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 1
setne al
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
call fcn.00600ed4
test al, al
jne 0x61c508
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d448
call fcn.00607ea8
mov byte [ebp - 0x81], 0
jmp 0x61c650
cmp bl, 1
jne 0x61c650
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d48c
call fcn.00607ea8
jmp 0x61c650
mov eax, 0x61d4c4
call fcn.00607c20
jmp 0x61c650
lea eax, [ebp - 0xc0]
mov ecx, dword [ebp - 0x28]
mov edx, 0x61d50c
call fcn.0040bad8
mov eax, dword [ebp - 0xc0]
call fcn.00607c20
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 2
jne 0x61c598
cmp dword [ebp - 0x24], 0
je 0x61c598
lea eax, [ebp - 0xc4]
mov ecx, dword [ebp - 0x24]
mov edx, 0x61d554
call fcn.0040bad8
mov eax, dword [ebp - 0xc4]
call fcn.00607c20
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x20
je 0x61c5b4
mov eax, dword [ebp - 0x28]
call fcn.005bbae4
test al, al
je 0x61c646
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x80
jne 0x61c5c2
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa8]
push eax
push 0x61b24c
lea eax, [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.00601200
test al, al
jne 0x61c61a
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d5a0
call fcn.00607ea8
mov byte [ebp - 0x81], 0
jmp 0x61c650
cmp bl, 1
jne 0x61c650
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d48c
call fcn.00607ea8
jmp 0x61c650
mov eax, 0x61d5e4
call fcn.00607c20
cmp dword [ebp - 0x1c], 0
je 0x61c69b
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x88]
call fcn.006020cc
jmp 0x61c69b
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0x11
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0x11
lea edx, [ebp - 0xd4]
mov ecx, 1
mov eax, 0x61d640
call fcn.00607ea8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x61c6d1
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x30]
call fcn.0061b0d4
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x61c709
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jne 0x61c352
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x61c95b
mov byte [ebp - 0x91], 0
mov eax, dword [ebp - 0x90]
cmp word [eax + 0x10], 0x82
jne 0x61c90d
mov byte [ebp - 0x91], 1
xor eax, eax
push ebp
push 0x61c8e1
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x90]
call fcn.0061c1a8
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x61c780
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 1
jne 0x61c8d0
cmp byte [ebp - 0x29], 0
jne 0x61c78c
cmp dword [ebp - 0x24], 0
jne 0x61c790
xor eax, eax
jmp 0x61c792
mov al, 1
mov byte [ebp - 0x92], al
mov eax, dword [ebp - 0x90]
mov esi, dword [eax + 8]
test esi, 8
setne bl
test bl, bl
je 0x61c7c7
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.0061b9b0
mov byte [ebp - 0x93], al
jmp 0x61c7ce
mov byte [ebp - 0x93], 0
test bl, bl
je 0x61c820
cmp byte [ebp - 0x93], 0
je 0x61c8d7
cmp byte [ebp - 0x92], 0
jne 0x61c820
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.005fe218
test al, al
je 0x61c820
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 2
jne 0x61c820
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x61c8d7
mov byte [ebp - 0x91], 0
cmp byte [ebp - 0x92], 0
jne 0x61c874
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x10
je 0x61c853
push ebp
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.0061bab8
pop ecx
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x40
je 0x61c874
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.0061bd4c
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 4
je 0x61c8ba
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0x11
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d698
call fcn.00607ea8
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 0x20
setne cl
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.00601abc
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 0x10
je 0x61c8d7
mov eax, dword [ebp - 0x18]
call fcn.0061bf64
jmp 0x61c8d7
mov byte [ebp - 0x91], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x61c90d
cmp byte [ebp - 0x91], 0
je 0x61c940
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x30]
call fcn.0061b0d4
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x61c94e
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jne 0x61c72f
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x61d1ec
push ebp
mov eax, dword [ebp - 0x90]
call fcn.0061c1a8
pop ecx
xor eax, eax
push ebp
push 0x61d18b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x90]
movzx eax, word [eax + 0x10]
cmp eax, 0x85
jg 0x61c9f7
je 0x61ccd6
cmp eax, 0x81
jg 0x61c9d9
je 0x61ca6c
dec eax
je 0x61ca28
add eax, 0xfffffff1
sub eax, 2
jb case.0x61ca05.140
sub eax, 0xe
je case.0x61ca05.140
sub eax, 0x60
je case.0x61ca05.140
jmp case.default.0x61ca05
sub eax, 0x82
je 0x61cb28
dec eax
je case.0x61ca05.140
dec eax
je 0x61cc4c
jmp case.default.0x61ca05
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x61ca05
jmp dword [eax*4 + 0x61ca0c]
lea eax, [ebp - 0xdc]
mov ecx, dword [ebp - 0x28]
mov edx, 0x61d6d4
call fcn.0040bad8
mov edx, dword [ebp - 0xdc]
lea ecx, [ebp - 0xd8]
mov ax, 0xea
call fcn.005c327c
mov ecx, dword [ebp - 0xd8]
mov dl, 1
mov eax, dword [0x41d190]
call fcn.0042b510
call fcn.00409f64
jmp case.0x61ca05.140
cmp byte [ebp - 0x29], 0
jne 0x61ca82
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 1
jne case.0x61ca05.140
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 4
setne al
push eax
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 8
setne al
push eax
push 0
push 0x61b148
push 0x61b154
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 2
setne cl
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.005ffb84
test al, al
je case.0x61ca05.140
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 2
je case.0x61ca05.140
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x10
je case.0x61ca05.140
push 0
mov eax, dword [ebp - 0x70]
push eax
push 5
push 0x10
call sub.shell32.dll_SHChangeNotify
lea edx, [ebp - 0xe0]
mov eax, dword [ebp - 0x28]
call fcn.005ba1ac
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x3c]
call fcn.00602120
jmp case.0x61ca05.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.0040aca4
cmp byte [ebp - 0x29], 0
jne 0x61cb3f
cmp dword [ebp - 0x74], 0
jne 0x61cb4a
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040aca4
cmp byte [ebp - 0x29], 0
jne 0x61cb5c
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 1
jne 0x61cbc6
cmp byte [ebp - 0x29], 0
jne 0x61cb72
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 2
jne case.0x61ca05.140
push ebp
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x80
setne al
push eax
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 1
setne al
push eax
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x20
setne cl
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 8
setne dl
mov eax, dword [ebp - 0x74]
call fcn.0061b424
pop ecx
test al, al
jne case.0x61ca05.140
mov byte [ebp - 0x81], 0
jmp case.0x61ca05.140
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 8
je 0x61cbe7
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.0061b9b0
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040bc70
je case.0x61ca05.140
push ebp
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x80
setne al
push eax
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 1
setne al
push eax
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 0x20
setne cl
mov eax, dword [ebp - 0x90]
test byte [eax + 9], 8
setne dl
mov eax, dword [ebp - 0x74]
call fcn.0061b424
pop ecx
test al, al
jne case.0x61ca05.140
mov byte [ebp - 0x81], 0
jmp case.0x61ca05.140
lea eax, [ebp - 0x78]
mov edx, dword [ebp - 0x24]
call fcn.0040aca4
lea eax, [ebp - 0x7c]
mov edx, dword [ebp - 0x20]
call fcn.0040aca4
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040aca4
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xf8], eax
mov byte [ebp - 0xf4], 0x11
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xf0], eax
mov byte [ebp - 0xec], 0x11
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x74]
call fcn.0061c164
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe8], eax
mov byte [ebp - 0xe4], 0x11
lea edx, [ebp - 0xf8]
mov ecx, 2
mov eax, 0x61d700
call fcn.00607ea8
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
call fcn.005bbf2c
jmp case.0x61ca05.140
lea eax, [ebp - 0x78]
mov edx, dword [ebp - 0x24]
call fcn.0040aca4
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040aca4
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 1
je 0x61cd0b
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
call fcn.005bbdcc
test al, al
je case.0x61ca05.140
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0x11
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x74]
call fcn.0061c164
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0x11
lea edx, [ebp - 0xd4]
mov ecx, 1
mov eax, 0x61d764
call fcn.00607ea8
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
call fcn.005bbf78
jmp case.0x61ca05.140
lea ecx, [ebp - 0xa0]
lea edx, [ebp - 0x99]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 8]
call fcn.0061ae40
mov ebx, dword [ebp - 0x70]
lea edx, [ebp - 0x104]
mov eax, dword [ebp - 0xa0]
call fcn.005febd4
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0x11
mov dword [ebp - 0xcc], ebx
mov byte [ebp - 0xc8], 0xa
lea edx, [ebp - 0xd4]
mov ecx, 1
mov eax, 0x61d7b0
call fcn.00607ea8
movzx eax, byte [ebp - 0x99]
mov ecx, ebx
mov edx, dword [ebp - 0xa0]
call fcn.005bccec
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
test eax, eax
je case.0x61ca05.140
sub eax, 2
je case.0x61ca05.140
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d7f8
call fcn.00607ea8
mov byte [ebp - 0x81], 0
jmp case.0x61ca05.140
lea ecx, [ebp - 0xa0]
lea edx, [ebp - 0x99]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 8]
call fcn.0061ae40
mov ebx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
lea edx, [ebp - 0x108]
mov eax, dword [ebp - 0xa0]
call fcn.005febd4
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xf8], eax
mov byte [ebp - 0xf4], 0x11
mov dword [ebp - 0xf0], ebx
mov byte [ebp - 0xec], 0xa
mov dword [ebp - 0xe8], esi
mov byte [ebp - 0xe4], 0xa
lea edx, [ebp - 0xf8]
mov ecx, 2
mov eax, 0x61d830
call fcn.00607ea8
push 0
push 2
lea eax, [ebp - 0xa4]
push eax
movzx eax, byte [ebp - 0x99]
mov ecx, ebx
mov edx, dword [ebp - 0xa0]
call fcn.005bcc2c
test eax, eax
jne case.0x61ca05.140
push 2
push 0x6b6bf4
push 1
push 0
push esi
mov eax, dword [ebp - 0xa4]
push eax
call sub.advapi32.dll_RegSetValueExW
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x61cf13
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d880
call fcn.00607ea8
mov byte [ebp - 0x81], 0
mov eax, dword [ebp - 0xa4]
push eax
call sub.advapi32.dll_RegCloseKey
jmp case.0x61ca05.140
lea ecx, [ebp - 0xa0]
lea edx, [ebp - 0x99]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 8]
call fcn.0061ae40
mov ebx, dword [ebp - 0x70]
lea edx, [ebp - 0x10c]
mov eax, dword [ebp - 0xa0]
call fcn.005febd4
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0x11
mov dword [ebp - 0xcc], ebx
mov byte [ebp - 0xc8], 0xa
lea edx, [ebp - 0xd4]
mov ecx, 1
mov eax, 0x61d8c4
call fcn.00607ea8
movzx eax, byte [ebp - 0x99]
mov ecx, ebx
mov edx, dword [ebp - 0xa0]
call fcn.005bce68
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x91
jne 0x61cfbc
mov eax, 0x61d918
call fcn.00607c20
jmp case.0x61ca05.140
mov eax, dword [ebp - 0x98]
test eax, eax
je case.0x61ca05.140
sub eax, 2
je case.0x61ca05.140
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d7f8
call fcn.00607ea8
mov byte [ebp - 0x81], 0
jmp case.0x61ca05.140
lea ecx, [ebp - 0xa0]
lea edx, [ebp - 0x99]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 8]
call fcn.0061ae40
mov ebx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 0xa0]
call fcn.005febd4
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xf8], eax
mov byte [ebp - 0xf4], 0x11
mov dword [ebp - 0xf0], ebx
mov byte [ebp - 0xec], 0xa
mov dword [ebp - 0xe8], esi
mov byte [ebp - 0xe4], 0xa
lea edx, [ebp - 0xf8]
mov ecx, 2
mov eax, 0x61d960
call fcn.00607ea8
push 0
push 3
lea eax, [ebp - 0xa4]
push eax
movzx eax, byte [ebp - 0x99]
mov ecx, ebx
mov edx, dword [ebp - 0xa0]
call fcn.005bcc2c
test eax, eax
jne case.0x61ca05.140
mov edx, esi
mov eax, dword [ebp - 0xa4]
call fcn.005bcbd4
test al, al
je 0x61d0f7
push esi
mov eax, dword [ebp - 0xa4]
push eax
call sub.advapi32.dll_RegDeleteValueW
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x61d0f7
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d9b0
call fcn.00607ea8
mov byte [ebp - 0x81], 0
mov eax, dword [ebp - 0xa4]
push eax
call sub.advapi32.dll_RegCloseKey
jmp case.0x61ca05.140
mov eax, dword [ebp - 0x90]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.0061b9b0
jmp case.0x61ca05.140
mov byte [ebp - 0x82], 1
jmp case.0x61ca05.140
lea eax, [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x90]
movzx eax, word [eax + 0x10]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x61d9f4
call fcn.00425bfc
mov edx, dword [ebp - 0x118]
lea ecx, [ebp - 0x114]
mov ax, 0xea
call fcn.005c327c
mov ecx, dword [ebp - 0x114]
mov dl, 1
mov eax, dword [0x41d190]
call fcn.0042b510
call fcn.00409f64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x61d1b7
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x30]
call fcn.0061b0d4
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp dword [ebp - 0x90], 0
jne 0x61c974
cmp byte [ebp - 0x82], 0
je 0x61d205
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x61d213
call fcn.00601e00
cmp dword [ebp - 0x80], 0
je 0x61d223
call dword [ebp - 0x80]
push ebp
call fcn.0061c0d0
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x61d2d6
mov eax, dword [ebp - 0x48]
call fcn.00408bcc
mov eax, dword [ebp - 0x34]
call fcn.00408bcc
mov eax, dword [ebp - 0x38]
call fcn.00408bcc
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x61d2a6
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x11c]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.006021a0
mov eax, dword [ebp - 0x11c]
call fcn.005bbad0
test al, al
je 0x61d2a2
push 0
lea ecx, [ebp - 0x120]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.006021a0
mov eax, dword [ebp - 0x120]
call fcn.0040b88c
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x61d256
mov eax, dword [ebp - 0x40]
call fcn.00408bcc
mov eax, dword [ebp - 0x44]
call fcn.00408bcc
mov eax, dword [ebp - 0x88]
call fcn.00408bcc
mov eax, dword [ebp - 0x3c]
call fcn.00408bcc
pop eax
jmp eax