Function at 0x4b6c18
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 0x4b6c21
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 0x4b79d6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4b79f4
call fcn.004b2a6c
lea eax, [ebp - 0xa4]
call fcn.00480bc4
mov eax, dword [ebp - 0xa4]
call fcn.0040e8e8
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 [0x485f0c]
call fcn.00404068
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x4b7969
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x485f0c]
call fcn.00404068
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x485f0c]
call fcn.00404068
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x485f0c]
call fcn.00404068
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x485f0c]
call fcn.00404068
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x485f0c]
call fcn.00404068
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x4b6d23
mov dl, 1
mov eax, dword [0x485f0c]
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 0x4b70dc
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4b70dc
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x4b70c1
xor eax, eax
push ebp
push 0x4b706e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004b6bc4
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x4b6da7
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.0048952c
inc eax
jne 0x4b702f
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x4b6dbe
xor ebx, ebx
jmp 0x4b6dc8
test esi, 2
je 0x4b6dc8
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x4b6de6
mov dword [ebp - 0xa0], 7
jmp 0x4b6e0a
test esi, 0x10
je 0x4b6dfa
mov dword [ebp - 0xa0], 3
jmp 0x4b6e0a
test esi, 0x40
je 0x4b6e0a
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x4b6f25
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b7a4c
call fcn.00406914
mov eax, dword [ebp - 0xa8]
call fcn.004b2a6c
cmp dword [ebp - 0x24], 0
je 0x4b6e58
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4b7a88
call fcn.00406914
mov eax, dword [ebp - 0xac]
call fcn.004b2a6c
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4b6e81
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.00485a70
test al, al
je 0x4b6f16
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4b5d2c
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.00487ed4
test al, al
jne 0x4b6ee3
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b7ac8
call fcn.004b2cf0
mov byte [ebp - 0x79], 0
jmp 0x4b701c
cmp bl, 1
jne 0x4b701c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b7b0c
call fcn.004b2cf0
jmp 0x4b701c
mov eax, 0x4b7b44
call fcn.004b2a6c
jmp 0x4b701c
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b7b8c
call fcn.00406914
mov eax, dword [ebp - 0xb8]
call fcn.004b2a6c
cmp dword [ebp - 0x24], 0
je 0x4b6f67
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4b7bd4
call fcn.00406914
mov eax, dword [ebp - 0xbc]
call fcn.004b2a6c
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4b6f83
mov eax, dword [ebp - 0x28]
call fcn.00480000
test al, al
je 0x4b7012
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x4b6f91
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4b5d2c
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.004881a0
test al, al
jne 0x4b6fe6
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b7c20
call fcn.004b2cf0
mov byte [ebp - 0x79], 0
jmp 0x4b701c
cmp bl, 1
jne 0x4b701c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b7b0c
call fcn.004b2cf0
jmp 0x4b701c
mov eax, 0x4b7c64
call fcn.004b2a6c
cmp dword [ebp - 0x1c], 0
je 0x4b7064
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.00489434
jmp 0x4b7064
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, 0x4b7cc0
call fcn.004b2cf0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b7097
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004b5ba8
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 0x4b70cf
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4b6d62
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4b7311
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x4b72c3
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x4b729a
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004b6bc4
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x4b7146
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4b7289
cmp byte [ebp - 0x29], 0
jne 0x4b7152
cmp dword [ebp - 0x24], 0
jne 0x4b7156
xor eax, eax
jmp 0x4b7158
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 0x4b718d
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004b641c
mov byte [ebp - 0x8b], al
jmp 0x4b7194
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x4b71e6
cmp byte [ebp - 0x8b], 0
je 0x4b7290
cmp byte [ebp - 0x8a], 0
jne 0x4b71e6
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.00485a70
test al, al
je 0x4b71e6
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x4b71e6
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x4b7290
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x4b723a
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x4b7219
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004b6524
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x4b723a
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004b67b4
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x4b7273
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b7d18
call fcn.004b2cf0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.00488ea0
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x4b7290
mov eax, dword [ebp - 0x18]
call fcn.004b69c8
jmp 0x4b7290
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b72c3
cmp byte [ebp - 0x89], 0
je 0x4b72f6
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004b5ba8
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 0x4b7304
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4b70f5
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4b7891
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004b6bc4
pop ecx
xor eax, eax
push ebp
push 0x4b7833
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 0x4b73b0
je 0x4b75fd
cmp eax, 0x81
jg 0x4b7392
je 0x4b7423
dec eax
je 0x4b73e1
add eax, 0xfffffff1
sub eax, 2
jb case.0x4b73be.140
sub eax, 0xe
je case.0x4b73be.140
sub eax, 0x60
je case.0x4b73be.140
jmp case.default.0x4b73be
sub eax, 0x82
je 0x4b74cc
dec eax
je case.0x4b73be.140
dec eax
je 0x4b75ea
jmp case.default.0x4b73be
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x4b73be
jmp dword [eax*4 + 0x4b73c5]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b7d54
call fcn.00406914
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xc2
call fcn.00483800
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x40b6e0]
call fcn.00412514
call fcn.00404a74
jmp case.0x4b73be.140
cmp byte [ebp - 0x29], 0
jne 0x4b7439
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x4b73be.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 0x4b5c28
push 0x4b5c34
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.00486ea4
test al, al
je case.0x4b73be.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x4b73be.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x4b73be.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.0047fbf0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.00489488
jmp case.0x4b73be.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4b74e3
cmp dword [ebp - 0x74], 0
jne 0x4b74ee
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4b7500
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4b7567
cmp byte [ebp - 0x29], 0
jne 0x4b7516
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x4b73be.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.004b5ebc
pop ecx
test al, al
jne case.0x4b73be.140
mov byte [ebp - 0x79], 0
jmp case.0x4b73be.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x4b7588
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004b641c
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00406be4
je case.0x4b73be.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.004b5ebc
pop ecx
test al, al
jne case.0x4b73be.140
mov byte [ebp - 0x79], 0
jmp case.0x4b73be.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.0048043c
jmp case.0x4b73be.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x4b761c
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.004802e0
test al, al
je case.0x4b73be.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.00480488
jmp case.0x4b73be.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004b5910
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.00481264
test eax, eax
je case.0x4b73be.140
sub eax, 2
je case.0x4b73be.140
mov byte [ebp - 0x79], 0
jmp case.0x4b73be.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004b5910
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.004811a4
test eax, eax
jne case.0x4b73be.140
push 2
push 0x507340
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 0x4b76da
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4b73be.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004b5910
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.004813e8
test eax, eax
je case.0x4b73be.140
sub eax, 2
je case.0x4b73be.140
sub eax, 0x8f
je case.0x4b73be.140
mov byte [ebp - 0x79], 0
jmp case.0x4b73be.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004b5910
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.004811a4
test eax, eax
jne case.0x4b73be.140
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.004810e4
test al, al
je 0x4b77ab
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x4b77ab
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4b73be.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004b641c
jmp case.0x4b73be.140
mov byte [ebp - 0x7a], 1
jmp case.0x4b73be.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, 0x4b7d80
call fcn.0040ee3c
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xc2
call fcn.00483800
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x40b6e0]
call fcn.00412514
call fcn.00404a74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b785c
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004b5ba8
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 0x4b732a
cmp byte [ebp - 0x7a], 0
je 0x4b78a7
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x4b78b5
call fcn.0048916c
cmp dword [ebp - 0x78], 0
je 0x4b78c5
call dword [ebp - 0x78]
push ebp
call fcn.004b6b30
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b7973
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 0x4b7948
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.00489510
mov eax, dword [ebp - 0xe4]
call fcn.0047ffec
test al, al
je 0x4b7944
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.00489510
mov eax, dword [ebp - 0xe8]
call fcn.004064d4
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x4b78f8
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