Function at 0x4bcd44
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 0x4bcd4d
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 0x4bdb02
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4bdb20
call fcn.004b8b98
lea eax, [ebp - 0xa4]
call fcn.004875cc
mov eax, dword [ebp - 0xa4]
call fcn.00415a94
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 [0x48b864]
call fcn.00404068
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x4bda95
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x48b864]
call fcn.00404068
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x48b864]
call fcn.00404068
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x48b864]
call fcn.00404068
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x48b864]
call fcn.00404068
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x48b864]
call fcn.00404068
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x4bce4f
mov dl, 1
mov eax, dword [0x48b864]
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 0x4bd208
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4bd208
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x4bd1ed
xor eax, eax
push ebp
push 0x4bd19a
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004bccf0
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x4bced3
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.0048ee84
inc eax
jne 0x4bd15b
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x4bceea
xor ebx, ebx
jmp 0x4bcef4
test esi, 2
je 0x4bcef4
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x4bcf12
mov dword [ebp - 0xa0], 7
jmp 0x4bcf36
test esi, 0x10
je 0x4bcf26
mov dword [ebp - 0xa0], 3
jmp 0x4bcf36
test esi, 0x40
je 0x4bcf36
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x4bd051
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4bdb78
call fcn.00406914
mov eax, dword [ebp - 0xa8]
call fcn.004b8b98
cmp dword [ebp - 0x24], 0
je 0x4bcf84
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4bdbb4
call fcn.00406914
mov eax, dword [ebp - 0xac]
call fcn.004b8b98
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4bcfad
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.0048b3c8
test al, al
je 0x4bd042
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4bbe58
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.0048d82c
test al, al
jne 0x4bd00f
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4bdbf4
call fcn.004b8e1c
mov byte [ebp - 0x79], 0
jmp 0x4bd148
cmp bl, 1
jne 0x4bd148
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4bdc38
call fcn.004b8e1c
jmp 0x4bd148
mov eax, 0x4bdc70
call fcn.004b8b98
jmp 0x4bd148
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4bdcb8
call fcn.00406914
mov eax, dword [ebp - 0xb8]
call fcn.004b8b98
cmp dword [ebp - 0x24], 0
je 0x4bd093
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4bdd00
call fcn.00406914
mov eax, dword [ebp - 0xbc]
call fcn.004b8b98
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4bd0af
mov eax, dword [ebp - 0x28]
call fcn.00486a08
test al, al
je 0x4bd13e
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x4bd0bd
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4bbe58
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.0048daf8
test al, al
jne 0x4bd112
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4bdd4c
call fcn.004b8e1c
mov byte [ebp - 0x79], 0
jmp 0x4bd148
cmp bl, 1
jne 0x4bd148
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4bdc38
call fcn.004b8e1c
jmp 0x4bd148
mov eax, 0x4bdd90
call fcn.004b8b98
cmp dword [ebp - 0x1c], 0
je 0x4bd190
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.0048ed8c
jmp 0x4bd190
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, 0x4bddec
call fcn.004b8e1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bd1c3
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004bbcd4
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 0x4bd1fb
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4bce8e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4bd43d
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x4bd3ef
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x4bd3c6
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004bccf0
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x4bd272
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4bd3b5
cmp byte [ebp - 0x29], 0
jne 0x4bd27e
cmp dword [ebp - 0x24], 0
jne 0x4bd282
xor eax, eax
jmp 0x4bd284
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 0x4bd2b9
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bc548
mov byte [ebp - 0x8b], al
jmp 0x4bd2c0
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x4bd312
cmp byte [ebp - 0x8b], 0
je 0x4bd3bc
cmp byte [ebp - 0x8a], 0
jne 0x4bd312
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.0048b3c8
test al, al
je 0x4bd312
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x4bd312
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x4bd3bc
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x4bd366
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x4bd345
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004bc650
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x4bd366
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004bc8e0
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x4bd39f
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4bde44
call fcn.004b8e1c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.0048e7f8
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x4bd3bc
mov eax, dword [ebp - 0x18]
call fcn.004bcaf4
jmp 0x4bd3bc
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bd3ef
cmp byte [ebp - 0x89], 0
je 0x4bd422
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004bbcd4
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 0x4bd430
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4bd221
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4bd9bd
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004bccf0
pop ecx
xor eax, eax
push ebp
push 0x4bd95f
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 0x4bd4dc
je 0x4bd729
cmp eax, 0x81
jg 0x4bd4be
je 0x4bd54f
dec eax
je 0x4bd50d
add eax, 0xfffffff1
sub eax, 2
jb case.0x4bd4ea.140
sub eax, 0xe
je case.0x4bd4ea.140
sub eax, 0x60
je case.0x4bd4ea.140
jmp case.default.0x4bd4ea
sub eax, 0x82
je 0x4bd5f8
dec eax
je case.0x4bd4ea.140
dec eax
je 0x4bd716
jmp case.default.0x4bd4ea
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x4bd4ea
jmp dword [eax*4 + 0x4bd4f1]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4bde80
call fcn.00406914
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xc2
call fcn.0048a440
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x41288c]
call fcn.004196c0
call fcn.00404a74
jmp case.0x4bd4ea.140
cmp byte [ebp - 0x29], 0
jne 0x4bd565
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x4bd4ea.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 0x4bbd54
push 0x4bbd60
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.0048c7fc
test al, al
je case.0x4bd4ea.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x4bd4ea.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x4bd4ea.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.004865f8
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.0048ede0
jmp case.0x4bd4ea.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4bd60f
cmp dword [ebp - 0x74], 0
jne 0x4bd61a
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4bd62c
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4bd693
cmp byte [ebp - 0x29], 0
jne 0x4bd642
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x4bd4ea.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.004bbfe8
pop ecx
test al, al
jne case.0x4bd4ea.140
mov byte [ebp - 0x79], 0
jmp case.0x4bd4ea.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x4bd6b4
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bc548
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00406be4
je case.0x4bd4ea.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.004bbfe8
pop ecx
test al, al
jne case.0x4bd4ea.140
mov byte [ebp - 0x79], 0
jmp case.0x4bd4ea.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.00486e44
jmp case.0x4bd4ea.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x4bd748
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.00486ce8
test al, al
je case.0x4bd4ea.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.00486e90
jmp case.0x4bd4ea.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004bba3c
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.00487c6c
test eax, eax
je case.0x4bd4ea.140
sub eax, 2
je case.0x4bd4ea.140
mov byte [ebp - 0x79], 0
jmp case.0x4bd4ea.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004bba3c
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.00487bac
test eax, eax
jne case.0x4bd4ea.140
push 2
push 0x528340
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 0x4bd806
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4bd4ea.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004bba3c
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.00487df0
test eax, eax
je case.0x4bd4ea.140
sub eax, 2
je case.0x4bd4ea.140
sub eax, 0x8f
je case.0x4bd4ea.140
mov byte [ebp - 0x79], 0
jmp case.0x4bd4ea.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004bba3c
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.00487bac
test eax, eax
jne case.0x4bd4ea.140
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.00487aec
test al, al
je 0x4bd8d7
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x4bd8d7
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4bd4ea.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bc548
jmp case.0x4bd4ea.140
mov byte [ebp - 0x7a], 1
jmp case.0x4bd4ea.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, 0x4bdeac
call fcn.00415fe8
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xc2
call fcn.0048a440
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x41288c]
call fcn.004196c0
call fcn.00404a74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bd988
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004bbcd4
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 0x4bd456
cmp byte [ebp - 0x7a], 0
je 0x4bd9d3
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x4bd9e1
call fcn.0048eac4
cmp dword [ebp - 0x78], 0
je 0x4bd9f1
call dword [ebp - 0x78]
push ebp
call fcn.004bcc5c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bda9f
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 0x4bda74
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.0048ee68
mov eax, dword [ebp - 0xe4]
call fcn.004869f4
test al, al
je 0x4bda70
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.0048ee68
mov eax, dword [ebp - 0xe8]
call fcn.004064d4
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x4bda24
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