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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x1c
push 0
push 0
dec ecx
jne 0x4c0381
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x78], ecx
mov byte [ebp - 0x29], dl
mov dword [ebp - 0x30], eax
mov ecx, 0xa
lea eax, [ebp - 0x28]
mov edx, dword [0x4010ac]
call fcn.004071ec
xor eax, eax
push ebp
push 0x4c1136
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4c1154
call fcn.004bc1cc
lea eax, [ebp - 0xa4]
call fcn.0048aa2c
mov eax, dword [ebp - 0xa4]
call fcn.00418010
mov byte [ebp - 0x79], 1
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1c], 0
mov byte [ebp - 0x7a], 0
xor eax, eax
mov dword [ebp - 0x80], 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 [0x48ee98]
call fcn.00404068
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x4c10c9
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x48ee98]
call fcn.00404068
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x48ee98]
call fcn.00404068
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x48ee98]
call fcn.00404068
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x48ee98]
call fcn.00404068
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x48ee98]
call fcn.00404068
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x4c0483
mov dl, 1
mov eax, dword [0x48ee98]
call fcn.00404068
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x84], eax
mov ecx, eax
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp byte [ebp - 0x29], 0
je 0x4c083c
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4c083c
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x4c0821
xor eax, eax
push ebp
push 0x4c07ce
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004c0324
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x4c0507
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004924b8
inc eax
jne 0x4c078f
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x4c051e
xor ebx, ebx
jmp 0x4c0528
test esi, 2
je 0x4c0528
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x4c0546
mov dword [ebp - 0xa0], 7
jmp 0x4c056a
test esi, 0x10
je 0x4c055a
mov dword [ebp - 0xa0], 3
jmp 0x4c056a
test esi, 0x40
je 0x4c056a
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x4c0685
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4c11ac
call fcn.00406914
mov eax, dword [ebp - 0xa8]
call fcn.004bc1cc
cmp dword [ebp - 0x24], 0
je 0x4c05b8
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4c11e8
call fcn.00406914
mov eax, dword [ebp - 0xac]
call fcn.004bc1cc
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4c05e1
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.0048e9fc
test al, al
je 0x4c0676
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4bf48c
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
call fcn.00490e60
test al, al
jne 0x4c0643
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c1228
call fcn.004bc450
mov byte [ebp - 0x79], 0
jmp 0x4c077c
cmp bl, 1
jne 0x4c077c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c126c
call fcn.004bc450
jmp 0x4c077c
mov eax, 0x4c12a4
call fcn.004bc1cc
jmp 0x4c077c
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4c12ec
call fcn.00406914
mov eax, dword [ebp - 0xb8]
call fcn.004bc1cc
cmp dword [ebp - 0x24], 0
je 0x4c06c7
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4c1334
call fcn.00406914
mov eax, dword [ebp - 0xbc]
call fcn.004bc1cc
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4c06e3
mov eax, dword [ebp - 0x28]
call fcn.00489e68
test al, al
je 0x4c0772
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x4c06f1
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4bf48c
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.0049112c
test al, al
jne 0x4c0746
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c1380
call fcn.004bc450
mov byte [ebp - 0x79], 0
jmp 0x4c077c
cmp bl, 1
jne 0x4c077c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c126c
call fcn.004bc450
jmp 0x4c077c
mov eax, 0x4c13c4
call fcn.004bc1cc
cmp dword [ebp - 0x1c], 0
je 0x4c07c4
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004923c0
jmp 0x4c07c4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0x11
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc4], eax
mov byte [ebp - 0xc0], 0x11
lea edx, [ebp - 0xcc]
mov ecx, 1
mov eax, 0x4c1420
call fcn.004bc450
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c07f7
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004bf308
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4c082f
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4c04c2
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4c0a71
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x4c0a23
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x4c09fa
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004c0324
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x4c08a6
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4c09e9
cmp byte [ebp - 0x29], 0
jne 0x4c08b2
cmp dword [ebp - 0x24], 0
jne 0x4c08b6
xor eax, eax
jmp 0x4c08b8
mov al, 1
mov byte [ebp - 0x8a], al
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 8
setne bl
test bl, bl
je 0x4c08ed
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bfb7c
mov byte [ebp - 0x8b], al
jmp 0x4c08f4
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x4c0946
cmp byte [ebp - 0x8b], 0
je 0x4c09f0
cmp byte [ebp - 0x8a], 0
jne 0x4c0946
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.0048e9fc
test al, al
je 0x4c0946
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x4c0946
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x4c09f0
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x4c099a
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x4c0979
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004bfc84
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x4c099a
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004bff14
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x4c09d3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c1478
call fcn.004bc450
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.00491e2c
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x4c09f0
mov eax, dword [ebp - 0x18]
call fcn.004c0128
jmp 0x4c09f0
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c0a23
cmp byte [ebp - 0x89], 0
je 0x4c0a56
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004bf308
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4c0a64
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4c0855
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4c0ff1
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004c0324
pop ecx
xor eax, eax
push ebp
push 0x4c0f93
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x88]
movzx esi, word [eax + 0x10]
movzx eax, si
cmp eax, 0x85
jg 0x4c0b10
je 0x4c0d5d
cmp eax, 0x81
jg 0x4c0af2
je 0x4c0b83
dec eax
je 0x4c0b41
add eax, 0xfffffff1
sub eax, 2
jb case.0x4c0b1e.140
sub eax, 0xe
je case.0x4c0b1e.140
sub eax, 0x60
je case.0x4c0b1e.140
jmp case.default.0x4c0b1e
sub eax, 0x82
je 0x4c0c2c
dec eax
je case.0x4c0b1e.140
dec eax
je 0x4c0d4a
jmp case.default.0x4c0b1e
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x4c0b1e
jmp dword [eax*4 + 0x4c0b25]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4c14b4
call fcn.00406914
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xc2
call fcn.0048da74
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x414e08]
call fcn.0041bc3c
call fcn.00404a74
jmp case.0x4c0b1e.140
cmp byte [ebp - 0x29], 0
jne 0x4c0b99
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x4c0b1e.140
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 8]
test bl, 4
setne al
push eax
test bl, 8
setne al
push eax
push 0
push 0x4bf388
push 0x4bf394
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.0048fe30
test al, al
je case.0x4c0b1e.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x4c0b1e.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x4c0b1e.140
push 0
mov eax, dword [ebp - 0x70]
push eax
push 5
push 0x10
call sub.shell32.dll_SHChangeNotify
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0x28]
call fcn.00489a58
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.00492414
jmp case.0x4c0b1e.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4c0c43
cmp dword [ebp - 0x74], 0
jne 0x4c0c4e
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4c0c60
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4c0cc7
cmp byte [ebp - 0x29], 0
jne 0x4c0c76
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x4c0b1e.140
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
setne al
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
setne cl
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne dl
mov eax, dword [ebp - 0x74]
call fcn.004bf61c
pop ecx
test al, al
jne case.0x4c0b1e.140
mov byte [ebp - 0x79], 0
jmp case.0x4c0b1e.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x4c0ce8
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bfb7c
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00406be4
je case.0x4c0b1e.140
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
setne al
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
setne cl
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne dl
mov eax, dword [ebp - 0x74]
call fcn.004bf61c
pop ecx
test al, al
jne case.0x4c0b1e.140
mov byte [ebp - 0x79], 0
jmp case.0x4c0b1e.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.0048a2a4
jmp case.0x4c0b1e.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x4c0d7c
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.0048a148
test al, al
je case.0x4c0b1e.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.0048a2f0
jmp case.0x4c0b1e.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004bf070
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0048b0cc
test eax, eax
je case.0x4c0b1e.140
sub eax, 2
je case.0x4c0b1e.140
mov byte [ebp - 0x79], 0
jmp case.0x4c0b1e.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004bf070
push 0
push 2
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0048b00c
test eax, eax
jne case.0x4c0b1e.140
push 2
push 0x538340
push 1
push 0
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegSetValueExW
test eax, eax
je 0x4c0e3a
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4c0b1e.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004bf070
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0048b250
test eax, eax
je case.0x4c0b1e.140
sub eax, 2
je case.0x4c0b1e.140
sub eax, 0x8f
je case.0x4c0b1e.140
mov byte [ebp - 0x79], 0
jmp case.0x4c0b1e.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004bf070
push 0
push 3
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0048b00c
test eax, eax
jne case.0x4c0b1e.140
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.0048af4c
test al, al
je 0x4c0f0b
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x4c0f0b
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4c0b1e.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bfb7c
jmp case.0x4c0b1e.140
mov byte [ebp - 0x7a], 1
jmp case.0x4c0b1e.140
lea eax, [ebp - 0xe0]
push eax
movzx eax, si
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c14e0
call fcn.00418564
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xc2
call fcn.0048da74
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x414e08]
call fcn.0041bc3c
call fcn.00404a74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c0fbc
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004bf308
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp dword [ebp - 0x88], 0
jne 0x4c0a8a
cmp byte [ebp - 0x7a], 0
je 0x4c1007
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x4c1015
call fcn.004920f8
cmp dword [ebp - 0x78], 0
je 0x4c1025
call dword [ebp - 0x78]
push ebp
call fcn.004c0290
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c10d3
mov eax, dword [ebp - 0x48]
call fcn.00404098
mov eax, dword [ebp - 0x34]
call fcn.00404098
mov eax, dword [ebp - 0x38]
call fcn.00404098
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x4c10a8
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.0049249c
mov eax, dword [ebp - 0xe4]
call fcn.00489e54
test al, al
je 0x4c10a4
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.0049249c
mov eax, dword [ebp - 0xe8]
call fcn.004064d4
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x4c1058
mov eax, dword [ebp - 0x40]
call fcn.00404098
mov eax, dword [ebp - 0x44]
call fcn.00404098
mov eax, dword [ebp - 0x80]
call fcn.00404098
mov eax, dword [ebp - 0x3c]
call fcn.00404098
ret