Function at 0x6d3d10
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 0x6d3d19
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 [0x4012b8]
call fcn.0040a328
xor eax, eax
push ebp
push 0x6d4ace
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x6d4aec
call fcn.006b4cb8
lea eax, [ebp - 0xa4]
call fcn.005e6dbc
mov eax, dword [ebp - 0xa4]
call fcn.00422cb4
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 [0x6ab9dc]
call fcn.004069f0
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x6d4a61
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x6ab9dc]
call fcn.004069f0
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x6ab9dc]
call fcn.004069f0
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x6ab9dc]
call fcn.004069f0
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x6ab9dc]
call fcn.004069f0
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x6ab9dc]
call fcn.004069f0
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x6d3e1b
mov dl, 1
mov eax, dword [0x6ab9dc]
call fcn.004069f0
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 0x6d41d4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x6d41d4
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x6d41b9
xor eax, eax
push ebp
push 0x6d4166
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.006d3cbc
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x6d3e9f
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.006af264
inc eax
jne 0x6d4127
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x6d3eb6
xor ebx, ebx
jmp 0x6d3ec0
test esi, 2
je 0x6d3ec0
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x6d3ede
mov dword [ebp - 0xa0], 7
jmp 0x6d3f02
test esi, 0x10
je 0x6d3ef2
mov dword [ebp - 0xa0], 3
jmp 0x6d3f02
test esi, 0x40
je 0x6d3f02
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x6d401d
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x6d4b44
call fcn.00409ad4
mov eax, dword [ebp - 0xa8]
call fcn.006b4cb8
cmp dword [ebp - 0x24], 0
je 0x6d3f50
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x6d4b80
call fcn.00409ad4
mov eax, dword [ebp - 0xac]
call fcn.006b4cb8
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x6d3f79
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.006ab514
test al, al
je 0x6d400e
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x6d2e34
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.006adc00
test al, al
jne 0x6d3fdb
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x6d4bc0
call fcn.006b4f3c
mov byte [ebp - 0x79], 0
jmp 0x6d4114
cmp bl, 1
jne 0x6d4114
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x6d4c04
call fcn.006b4f3c
jmp 0x6d4114
mov eax, 0x6d4c3c
call fcn.006b4cb8
jmp 0x6d4114
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x6d4c84
call fcn.00409ad4
mov eax, dword [ebp - 0xb8]
call fcn.006b4cb8
cmp dword [ebp - 0x24], 0
je 0x6d405f
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x6d4ccc
call fcn.00409ad4
mov eax, dword [ebp - 0xbc]
call fcn.006b4cb8
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x6d407b
mov eax, dword [ebp - 0x28]
call fcn.005e61f4
test al, al
je 0x6d410a
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x6d4089
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x6d2e34
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.006adecc
test al, al
jne 0x6d40de
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x6d4d18
call fcn.006b4f3c
mov byte [ebp - 0x79], 0
jmp 0x6d4114
cmp bl, 1
jne 0x6d4114
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x6d4c04
call fcn.006b4f3c
jmp 0x6d4114
mov eax, 0x6d4d5c
call fcn.006b4cb8
cmp dword [ebp - 0x1c], 0
je 0x6d415c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.006af170
jmp 0x6d415c
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, 0x6d4db8
call fcn.006b4f3c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6d418f
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.006d2cb0
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 0x6d41c7
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x6d3e5a
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x6d4409
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x6d43bb
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x6d4392
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.006d3cbc
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x6d423e
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x6d4381
cmp byte [ebp - 0x29], 0
jne 0x6d424a
cmp dword [ebp - 0x24], 0
jne 0x6d424e
xor eax, eax
jmp 0x6d4250
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 0x6d4285
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.006d3514
mov byte [ebp - 0x8b], al
jmp 0x6d428c
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x6d42de
cmp byte [ebp - 0x8b], 0
je 0x6d4388
cmp byte [ebp - 0x8a], 0
jne 0x6d42de
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.006ab514
test al, al
je 0x6d42de
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x6d42de
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x6d4388
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x6d4332
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x6d4311
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.006d361c
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x6d4332
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.006d38ac
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x6d436b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x6d4e10
call fcn.006b4f3c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.006aebd4
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x6d4388
mov eax, dword [ebp - 0x18]
call fcn.006d3ac0
jmp 0x6d4388
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6d43bb
cmp byte [ebp - 0x89], 0
je 0x6d43ee
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.006d2cb0
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 0x6d43fc
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x6d41ed
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x6d4989
push ebp
mov eax, dword [ebp - 0x88]
call fcn.006d3cbc
pop ecx
xor eax, eax
push ebp
push 0x6d492b
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 0x6d44a8
je 0x6d46f5
cmp eax, 0x81
jg 0x6d448a
je 0x6d451b
dec eax
je 0x6d44d9
add eax, 0xfffffff1
sub eax, 2
jb case.0x6d44b6.140
sub eax, 0xe
je case.0x6d44b6.140
sub eax, 0x60
je case.0x6d44b6.140
jmp case.default.0x6d44b6
sub eax, 0x82
je 0x6d45c4
dec eax
je case.0x6d44b6.140
dec eax
je 0x6d46e2
jmp case.default.0x6d44b6
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x6d44b6
jmp dword [eax*4 + 0x6d44bd]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x6d4e4c
call fcn.00409ad4
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xd8
call fcn.005ee438
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x41ac30]
call fcn.00428180
call fcn.00407e74
jmp case.0x6d44b6.140
cmp byte [ebp - 0x29], 0
jne 0x6d4531
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x6d44b6.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 0x6d2d30
push 0x6d2d3c
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.006acbd0
test al, al
je case.0x6d44b6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x6d44b6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x6d44b6.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.005e5db8
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.006af1c4
jmp case.0x6d44b6.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.00408bdc
cmp byte [ebp - 0x29], 0
jne 0x6d45db
cmp dword [ebp - 0x74], 0
jne 0x6d45e6
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00408bdc
cmp byte [ebp - 0x29], 0
jne 0x6d45f8
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x6d465f
cmp byte [ebp - 0x29], 0
jne 0x6d460e
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x6d44b6.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.006d2fb0
pop ecx
test al, al
jne case.0x6d44b6.140
mov byte [ebp - 0x79], 0
jmp case.0x6d44b6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x6d4680
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.006d3514
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00409c6c
je case.0x6d44b6.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.006d2fb0
pop ecx
test al, al
jne case.0x6d44b6.140
mov byte [ebp - 0x79], 0
jmp case.0x6d44b6.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.005e6634
jmp case.0x6d44b6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x6d4714
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.005e64d8
test al, al
je case.0x6d44b6.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.005e6680
jmp case.0x6d44b6.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.006d2a20
movzx eax, byte [ebp - 0x91]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
call fcn.005e7434
test eax, eax
je case.0x6d44b6.140
sub eax, 2
je case.0x6d44b6.140
mov byte [ebp - 0x79], 0
jmp case.0x6d44b6.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.006d2a20
push 0
push 2
lea eax, [ebp - 0x9c]
push eax
movzx eax, byte [ebp - 0x91]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
call fcn.005e7374
test eax, eax
jne case.0x6d44b6.140
push 2
push 0x78aab4
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 0x6d47d2
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey
jmp case.0x6d44b6.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.006d2a20
movzx eax, byte [ebp - 0x91]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
call fcn.005e75b8
test eax, eax
je case.0x6d44b6.140
sub eax, 2
je case.0x6d44b6.140
sub eax, 0x8f
je case.0x6d44b6.140
mov byte [ebp - 0x79], 0
jmp case.0x6d44b6.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.006d2a20
push 0
push 3
lea eax, [ebp - 0x9c]
push eax
movzx eax, byte [ebp - 0x91]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
call fcn.005e7374
test eax, eax
jne case.0x6d44b6.140
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.005e72b4
test al, al
je 0x6d48a3
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x6d48a3
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey
jmp case.0x6d44b6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.006d3514
jmp case.0x6d44b6.140
mov byte [ebp - 0x7a], 1
jmp case.0x6d44b6.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, 0x6d4e78
call fcn.0042318c
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xd8
call fcn.005ee438
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x41ac30]
call fcn.00428180
call fcn.00407e74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6d4954
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.006d2cb0
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 0x6d4422
cmp byte [ebp - 0x7a], 0
je 0x6d499f
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x6d49ad
call fcn.006aeea4
cmp dword [ebp - 0x78], 0
je 0x6d49bd
call dword [ebp - 0x78]
push ebp
call fcn.006d3c28
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6d4a6b
mov eax, dword [ebp - 0x48]
call fcn.00406a20
mov eax, dword [ebp - 0x34]
call fcn.00406a20
mov eax, dword [ebp - 0x38]
call fcn.00406a20
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x6d4a40
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.006af248
mov eax, dword [ebp - 0xe4]
call fcn.005e61e0
test al, al
je 0x6d4a3c
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.006af248
mov eax, dword [ebp - 0xe8]
call fcn.00409868
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x6d49f0
mov eax, dword [ebp - 0x40]
call fcn.00406a20
mov eax, dword [ebp - 0x44]
call fcn.00406a20
mov eax, dword [ebp - 0x80]
call fcn.00406a20
mov eax, dword [ebp - 0x3c]
call fcn.00406a20
ret