Function at 0x4bf800
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 0x4bf809
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 [0x4010c4]
call fcn.004073a4
xor eax, eax
push ebp
push 0x4c05cb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4c05ec
call fcn.004bb650
lea eax, [ebp - 0xa4]
call fcn.00479f7c
mov eax, dword [ebp - 0xa4]
call fcn.0040ea40
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 [0x4b6750]
call fcn.0040419c
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x4c055e
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x4b6750]
call fcn.0040419c
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x4b6750]
call fcn.0040419c
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x4b6750]
call fcn.0040419c
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x4b6750]
call fcn.0040419c
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x4b6750]
call fcn.0040419c
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x4bf90b
mov dl, 1
mov eax, dword [0x4b6750]
call fcn.0040419c
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 0x4bfcd1
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4bfcd1
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x4bfcb6
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x10], 0
jne 0x4bfc8c
xor eax, eax
push ebp
push 0x4bfc63
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004bf7ac
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x4bf99c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004b9c7c
inc eax
jne 0x4bfc24
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x4bf9b3
xor ebx, ebx
jmp 0x4bf9bd
test esi, 2
je 0x4bf9bd
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x4bf9db
mov dword [ebp - 0xa0], 7
jmp 0x4bf9ff
test esi, 0x10
je 0x4bf9ef
mov dword [ebp - 0xa0], 3
jmp 0x4bf9ff
test esi, 0x40
je 0x4bf9ff
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x4bfb1a
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4c0644
call fcn.00406acc
mov eax, dword [ebp - 0xa8]
call fcn.004bb650
cmp dword [ebp - 0x24], 0
je 0x4bfa4d
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4c0680
call fcn.00406acc
mov eax, dword [ebp - 0xac]
call fcn.004bb650
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4bfa76
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.004b62b4
test al, al
je 0x4bfb0b
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4be914
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.004b8718
test al, al
jne 0x4bfad8
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c06c0
call fcn.004bb8d4
mov byte [ebp - 0x79], 0
jmp 0x4bfc11
cmp bl, 1
jne 0x4bfc11
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c0704
call fcn.004bb8d4
jmp 0x4bfc11
mov eax, 0x4c073c
call fcn.004bb650
jmp 0x4bfc11
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4c0784
call fcn.00406acc
mov eax, dword [ebp - 0xb8]
call fcn.004bb650
cmp dword [ebp - 0x24], 0
je 0x4bfb5c
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4c07cc
call fcn.00406acc
mov eax, dword [ebp - 0xbc]
call fcn.004bb650
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4bfb78
mov eax, dword [ebp - 0x28]
call fcn.004793b8
test al, al
je 0x4bfc07
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x4bfb86
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4be914
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.004b89e4
test al, al
jne 0x4bfbdb
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c0818
call fcn.004bb8d4
mov byte [ebp - 0x79], 0
jmp 0x4bfc11
cmp bl, 1
jne 0x4bfc11
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c0704
call fcn.004bb8d4
jmp 0x4bfc11
mov eax, 0x4c085c
call fcn.004bb650
cmp dword [ebp - 0x1c], 0
je 0x4bfc59
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004b9b84
jmp 0x4bfc59
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, 0x4c08b8
call fcn.004bb8d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bfc8c
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004be790
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 0x4bfcc4
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4bf94a
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4bff06
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x4bfeb8
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x4bfe8f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004bf7ac
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x4bfd3b
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4bfe7e
cmp byte [ebp - 0x29], 0
jne 0x4bfd47
cmp dword [ebp - 0x24], 0
jne 0x4bfd4b
xor eax, eax
jmp 0x4bfd4d
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 0x4bfd82
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bf004
mov byte [ebp - 0x8b], al
jmp 0x4bfd89
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x4bfddb
cmp byte [ebp - 0x8b], 0
je 0x4bfe85
cmp byte [ebp - 0x8a], 0
jne 0x4bfddb
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004b62b4
test al, al
je 0x4bfddb
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x4bfddb
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x4bfe85
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x4bfe2f
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x4bfe0e
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004bf10c
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x4bfe2f
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004bf39c
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x4bfe68
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4c0910
call fcn.004bb8d4
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.004b96b0
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x4bfe85
mov eax, dword [ebp - 0x18]
call fcn.004bf5b0
jmp 0x4bfe85
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bfeb8
cmp byte [ebp - 0x89], 0
je 0x4bfeeb
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004be790
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 0x4bfef9
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4bfcea
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4c0486
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004bf7ac
pop ecx
xor eax, eax
push ebp
push 0x4c0428
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 0x4bffa5
je 0x4c01f2
cmp eax, 0x81
jg 0x4bff87
je 0x4c0018
dec eax
je 0x4bffd6
add eax, 0xfffffff1
sub eax, 2
jb case.0x4bffb3.140
sub eax, 0xe
je case.0x4bffb3.140
sub eax, 0x60
je case.0x4bffb3.140
jmp case.default.0x4bffb3
sub eax, 0x82
je 0x4c00c1
dec eax
je case.0x4bffb3.140
dec eax
je 0x4c01df
jmp case.default.0x4bffb3
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x4bffb3
jmp dword [eax*4 + 0x4bffba]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4c094c
call fcn.00406acc
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xc1
call fcn.004b45dc
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x40b778]
call fcn.00412bb4
call fcn.00404c3c
jmp case.0x4bffb3.140
cmp byte [ebp - 0x29], 0
jne 0x4c002e
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x4bffb3.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 0x4be810
push 0x4be81c
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.004b76e8
test al, al
je case.0x4bffb3.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x4bffb3.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x4bffb3.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.00478fa8
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.004b9bd8
jmp case.0x4bffb3.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.00406664
cmp byte [ebp - 0x29], 0
jne 0x4c00d8
cmp dword [ebp - 0x74], 0
jne 0x4c00e3
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00406664
cmp byte [ebp - 0x29], 0
jne 0x4c00f5
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4c015c
cmp byte [ebp - 0x29], 0
jne 0x4c010b
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x4bffb3.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.004beaa4
pop ecx
test al, al
jne case.0x4bffb3.140
mov byte [ebp - 0x79], 0
jmp case.0x4bffb3.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x4c017d
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bf004
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00406d9c
je case.0x4bffb3.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.004beaa4
pop ecx
test al, al
jne case.0x4bffb3.140
mov byte [ebp - 0x79], 0
jmp case.0x4bffb3.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.004797f4
jmp case.0x4bffb3.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x4c0211
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.00479698
test al, al
je case.0x4bffb3.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.00479840
jmp case.0x4bffb3.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004be4f4
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0047a61c
test eax, eax
je case.0x4bffb3.140
sub eax, 2
je case.0x4bffb3.140
mov byte [ebp - 0x79], 0
jmp case.0x4bffb3.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004be4f4
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.0047a55c
test eax, eax
jne case.0x4bffb3.140
push 2
push 0x54f1bc
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 0x4c02cf
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4bffb3.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004be4f4
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0047a7a0
test eax, eax
je case.0x4bffb3.140
sub eax, 2
je case.0x4bffb3.140
sub eax, 0x8f
je case.0x4bffb3.140
mov byte [ebp - 0x79], 0
jmp case.0x4bffb3.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004be4f4
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.0047a55c
test eax, eax
jne case.0x4bffb3.140
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.0047a49c
test al, al
je 0x4c03a0
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x4c03a0
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4bffb3.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004bf004
jmp case.0x4bffb3.140
mov byte [ebp - 0x7a], 1
jmp case.0x4bffb3.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, 0x4c0978
call fcn.0040ef94
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xc1
call fcn.004b45dc
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x40b778]
call fcn.00412bb4
call fcn.00404c3c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c0451
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004be790
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 0x4bff1f
cmp byte [ebp - 0x7a], 0
je 0x4c049c
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x4c04aa
call fcn.004b997c
cmp dword [ebp - 0x78], 0
je 0x4c04ba
call dword [ebp - 0x78]
push ebp
call fcn.004bf718
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c0568
mov eax, dword [ebp - 0x48]
call fcn.004041cc
mov eax, dword [ebp - 0x34]
call fcn.004041cc
mov eax, dword [ebp - 0x38]
call fcn.004041cc
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x4c053d
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.004b9c60
mov eax, dword [ebp - 0xe4]
call fcn.004793a4
test al, al
je 0x4c0539
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.004b9c60
mov eax, dword [ebp - 0xe8]
call fcn.0040669c
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x4c04ed
mov eax, dword [ebp - 0x40]
call fcn.004041cc
mov eax, dword [ebp - 0x44]
call fcn.004041cc
mov eax, dword [ebp - 0x80]
call fcn.004041cc
mov eax, dword [ebp - 0x3c]
call fcn.004041cc
ret