Function at 0x4ff688
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 0x4ff691
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 [0x401240]
call fcn.004085a0
xor eax, eax
push ebp
push 0x500447
push dword fs:[eax]
mov dword fs:[eax], esp
nop
mov eax, 0x500468
call fcn.004fa254
lea eax, [ebp - 0xa4]
call fcn.004bce90
mov eax, dword [ebp - 0xa4]
call fcn.004134dc
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 [0x4f4efc]
call fcn.004052f0
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x5003da
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x4f4efc]
call fcn.004052f0
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x4f4efc]
call fcn.004052f0
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x4f4efc]
call fcn.004052f0
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x4f4efc]
call fcn.004052f0
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x4f4efc]
call fcn.004052f0
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x4ff794
mov dl, 1
mov eax, dword [0x4f4efc]
call fcn.004052f0
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 0x4ffb4d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4ffb4d
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x4ffb32
xor eax, eax
push ebp
push 0x4ffadf
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004ff634
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x4ff818
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004f86f8
inc eax
jne 0x4ffaa0
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x4ff82f
xor ebx, ebx
jmp 0x4ff839
test esi, 2
je 0x4ff839
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x4ff857
mov dword [ebp - 0xa0], 7
jmp 0x4ff87b
test esi, 0x10
je 0x4ff86b
mov dword [ebp - 0xa0], 3
jmp 0x4ff87b
test esi, 0x40
je 0x4ff87b
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x4ff996
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x5004c0
call fcn.00407c94
mov eax, dword [ebp - 0xa8]
call fcn.004fa254
cmp dword [ebp - 0x24], 0
je 0x4ff8c9
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x5004fc
call fcn.00407c94
mov eax, dword [ebp - 0xac]
call fcn.004fa254
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4ff8f2
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.004f4a20
test al, al
je 0x4ff987
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4fe798
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.004f7084
test al, al
jne 0x4ff954
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x50053c
call fcn.004fa4d8
mov byte [ebp - 0x79], 0
jmp 0x4ffa8d
cmp bl, 1
jne 0x4ffa8d
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x500580
call fcn.004fa4d8
jmp 0x4ffa8d
mov eax, 0x5005b8
call fcn.004fa254
jmp 0x4ffa8d
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x500600
call fcn.00407c94
mov eax, dword [ebp - 0xb8]
call fcn.004fa254
cmp dword [ebp - 0x24], 0
je 0x4ff9d8
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x500648
call fcn.00407c94
mov eax, dword [ebp - 0xbc]
call fcn.004fa254
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4ff9f4
mov eax, dword [ebp - 0x28]
call fcn.004bc2bc
test al, al
je 0x4ffa83
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x4ffa02
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4fe798
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.004f7354
test al, al
jne 0x4ffa57
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x500694
call fcn.004fa4d8
mov byte [ebp - 0x79], 0
jmp 0x4ffa8d
cmp bl, 1
jne 0x4ffa8d
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x500580
call fcn.004fa4d8
jmp 0x4ffa8d
mov eax, 0x5006d8
call fcn.004fa254
cmp dword [ebp - 0x1c], 0
je 0x4ffad5
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004f8600
jmp 0x4ffad5
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, 0x500734
call fcn.004fa4d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ffb08
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004fe610
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 0x4ffb40
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4ff7d3
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4ffd82
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x4ffd34
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x4ffd0b
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004ff634
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x4ffbb7
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4ffcfa
cmp byte [ebp - 0x29], 0
jne 0x4ffbc3
cmp dword [ebp - 0x24], 0
jne 0x4ffbc7
xor eax, eax
jmp 0x4ffbc9
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 0x4ffbfe
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004fee8c
mov byte [ebp - 0x8b], al
jmp 0x4ffc05
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x4ffc57
cmp byte [ebp - 0x8b], 0
je 0x4ffd01
cmp byte [ebp - 0x8a], 0
jne 0x4ffc57
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004f4a20
test al, al
je 0x4ffc57
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x4ffc57
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x4ffd01
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x4ffcab
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x4ffc8a
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004fef94
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x4ffcab
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004ff224
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x4ffce4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x50078c
call fcn.004fa4d8
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.004f8064
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x4ffd01
mov eax, dword [ebp - 0x18]
call fcn.004ff438
jmp 0x4ffd01
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ffd34
cmp byte [ebp - 0x89], 0
je 0x4ffd67
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004fe610
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 0x4ffd75
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4ffb66
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x500302
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004ff634
pop ecx
xor eax, eax
push ebp
push 0x5002a4
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 0x4ffe21
je 0x50006e
cmp eax, 0x81
jg 0x4ffe03
je 0x4ffe94
dec eax
je 0x4ffe52
add eax, 0xfffffff1
sub eax, 2
jb case.0x4ffe2f.140
sub eax, 0xe
je case.0x4ffe2f.140
sub eax, 0x60
je case.0x4ffe2f.140
jmp case.default.0x4ffe2f
sub eax, 0x82
je 0x4fff3d
dec eax
je case.0x4ffe2f.140
dec eax
je 0x50005b
jmp case.default.0x4ffe2f
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x4ffe2f
jmp dword [eax*4 + 0x4ffe36]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x5007c8
call fcn.00407c94
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xc2
call fcn.004f2c88
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x40e0d4]
call fcn.004171f8
call fcn.00405de0
jmp case.0x4ffe2f.140
cmp byte [ebp - 0x29], 0
jne 0x4ffeaa
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x4ffe2f.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 0x4fe694
push 0x4fe6a0
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.004f6048
test al, al
je case.0x4ffe2f.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x4ffe2f.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x4ffe2f.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.004bbe68
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.004f8654
jmp case.0x4ffe2f.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.0040781c
cmp byte [ebp - 0x29], 0
jne 0x4fff54
cmp dword [ebp - 0x74], 0
jne 0x4fff5f
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040781c
cmp byte [ebp - 0x29], 0
jne 0x4fff71
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4fffd8
cmp byte [ebp - 0x29], 0
jne 0x4fff87
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x4ffe2f.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.004fe92c
pop ecx
test al, al
jne case.0x4ffe2f.140
mov byte [ebp - 0x79], 0
jmp case.0x4ffe2f.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x4ffff9
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004fee8c
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00407f38
je case.0x4ffe2f.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.004fe92c
pop ecx
test al, al
jne case.0x4ffe2f.140
mov byte [ebp - 0x79], 0
jmp case.0x4ffe2f.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.004bc700
jmp case.0x4ffe2f.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x50008d
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.004bc5a4
test al, al
je case.0x4ffe2f.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.004bc74c
jmp case.0x4ffe2f.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004fe370
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.004bd544
test eax, eax
je case.0x4ffe2f.140
sub eax, 2
je case.0x4ffe2f.140
mov byte [ebp - 0x79], 0
jmp case.0x4ffe2f.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004fe370
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.004bd484
test eax, eax
jne case.0x4ffe2f.140
push 2
push 0x5597a4
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 0x50014b
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4ffe2f.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004fe370
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.004bd6c8
test eax, eax
je case.0x4ffe2f.140
sub eax, 2
je case.0x4ffe2f.140
sub eax, 0x8f
je case.0x4ffe2f.140
mov byte [ebp - 0x79], 0
jmp case.0x4ffe2f.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004fe370
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.004bd484
test eax, eax
jne case.0x4ffe2f.140
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.004bd3c4
test al, al
je 0x50021c
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x50021c
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4ffe2f.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004fee8c
jmp case.0x4ffe2f.140
mov byte [ebp - 0x7a], 1
jmp case.0x4ffe2f.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, 0x5007f4
call fcn.00413a4c
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xc2
call fcn.004f2c88
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x40e0d4]
call fcn.004171f8
call fcn.00405de0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5002cd
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004fe610
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 0x4ffd9b
cmp byte [ebp - 0x7a], 0
je 0x500318
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x500326
call fcn.004f8330
cmp dword [ebp - 0x78], 0
je 0x500336
call dword [ebp - 0x78]
push ebp
call fcn.004ff5a0
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5003e4
mov eax, dword [ebp - 0x48]
call fcn.00405320
mov eax, dword [ebp - 0x34]
call fcn.00405320
mov eax, dword [ebp - 0x38]
call fcn.00405320
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x5003b9
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.004f86dc
mov eax, dword [ebp - 0xe4]
call fcn.004bc2a4
test al, al
je 0x5003b5
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.004f86dc
mov eax, dword [ebp - 0xe8]
call fcn.00407854
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x500369
mov eax, dword [ebp - 0x40]
call fcn.00405320
mov eax, dword [ebp - 0x44]
call fcn.00405320
mov eax, dword [ebp - 0x80]
call fcn.00405320
mov eax, dword [ebp - 0x3c]
call fcn.00405320
ret