Function at 0x4d9c30
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 0x4d9c39
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 0x4da9ee
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4daa0c
call fcn.004d6b80
lea eax, [ebp - 0xa4]
call fcn.0049d6e0
mov eax, dword [ebp - 0xa4]
call fcn.0042a8a0
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 [0x4d1cc0]
call fcn.00404068
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x4da981
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x4d1cc0]
call fcn.00404068
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x4d1cc0]
call fcn.00404068
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x4d1cc0]
call fcn.00404068
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x4d1cc0]
call fcn.00404068
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x4d1cc0]
call fcn.00404068
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x4d9d3b
mov dl, 1
mov eax, dword [0x4d1cc0]
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 0x4da0f4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4da0f4
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x4da0d9
xor eax, eax
push ebp
push 0x4da086
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004d9bdc
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x4d9dbf
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004d52e0
inc eax
jne 0x4da047
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x4d9dd6
xor ebx, ebx
jmp 0x4d9de0
test esi, 2
je 0x4d9de0
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x4d9dfe
mov dword [ebp - 0xa0], 7
jmp 0x4d9e22
test esi, 0x10
je 0x4d9e12
mov dword [ebp - 0xa0], 3
jmp 0x4d9e22
test esi, 0x40
je 0x4d9e22
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x4d9f3d
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4daa64
call fcn.00406914
mov eax, dword [ebp - 0xa8]
call fcn.004d6b80
cmp dword [ebp - 0x24], 0
je 0x4d9e70
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4daaa0
call fcn.00406914
mov eax, dword [ebp - 0xac]
call fcn.004d6b80
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4d9e99
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.004d1824
test al, al
je 0x4d9f2e
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4d8d44
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.004d3c88
test al, al
jne 0x4d9efb
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4daae0
call fcn.004d6e04
mov byte [ebp - 0x79], 0
jmp 0x4da034
cmp bl, 1
jne 0x4da034
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4dab24
call fcn.004d6e04
jmp 0x4da034
mov eax, 0x4dab5c
call fcn.004d6b80
jmp 0x4da034
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4daba4
call fcn.00406914
mov eax, dword [ebp - 0xb8]
call fcn.004d6b80
cmp dword [ebp - 0x24], 0
je 0x4d9f7f
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4dabec
call fcn.00406914
mov eax, dword [ebp - 0xbc]
call fcn.004d6b80
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4d9f9b
mov eax, dword [ebp - 0x28]
call fcn.0049cb1c
test al, al
je 0x4da02a
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x4d9fa9
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4d8d44
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.004d3f54
test al, al
jne 0x4d9ffe
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4dac38
call fcn.004d6e04
mov byte [ebp - 0x79], 0
jmp 0x4da034
cmp bl, 1
jne 0x4da034
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4dab24
call fcn.004d6e04
jmp 0x4da034
mov eax, 0x4dac7c
call fcn.004d6b80
cmp dword [ebp - 0x1c], 0
je 0x4da07c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004d51e8
jmp 0x4da07c
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, 0x4dacd8
call fcn.004d6e04
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4da0af
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004d8bc0
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 0x4da0e7
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4d9d7a
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4da329
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x4da2db
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x4da2b2
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004d9bdc
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x4da15e
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4da2a1
cmp byte [ebp - 0x29], 0
jne 0x4da16a
cmp dword [ebp - 0x24], 0
jne 0x4da16e
xor eax, eax
jmp 0x4da170
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 0x4da1a5
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004d9434
mov byte [ebp - 0x8b], al
jmp 0x4da1ac
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x4da1fe
cmp byte [ebp - 0x8b], 0
je 0x4da2a8
cmp byte [ebp - 0x8a], 0
jne 0x4da1fe
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004d1824
test al, al
je 0x4da1fe
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x4da1fe
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x4da2a8
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x4da252
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x4da231
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004d953c
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x4da252
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004d97cc
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x4da28b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4dad30
call fcn.004d6e04
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.004d4c54
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x4da2a8
mov eax, dword [ebp - 0x18]
call fcn.004d99e0
jmp 0x4da2a8
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4da2db
cmp byte [ebp - 0x89], 0
je 0x4da30e
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004d8bc0
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 0x4da31c
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4da10d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4da8a9
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004d9bdc
pop ecx
xor eax, eax
push ebp
push 0x4da84b
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 0x4da3c8
je 0x4da615
cmp eax, 0x81
jg 0x4da3aa
je 0x4da43b
dec eax
je 0x4da3f9
add eax, 0xfffffff1
sub eax, 2
jb case.0x4da3d6.140
sub eax, 0xe
je case.0x4da3d6.140
sub eax, 0x60
je case.0x4da3d6.140
jmp case.default.0x4da3d6
sub eax, 0x82
je 0x4da4e4
dec eax
je case.0x4da3d6.140
dec eax
je 0x4da602
jmp case.default.0x4da3d6
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x4da3d6
jmp dword [eax*4 + 0x4da3dd]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4dad6c
call fcn.00406914
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xc2
call fcn.004a0e54
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x427698]
call fcn.0042e4cc
call fcn.00404a74
jmp case.0x4da3d6.140
cmp byte [ebp - 0x29], 0
jne 0x4da451
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x4da3d6.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 0x4d8c40
push 0x4d8c4c
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.004d2c58
test al, al
je case.0x4da3d6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x4da3d6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x4da3d6.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.0049c70c
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.004d523c
jmp case.0x4da3d6.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4da4fb
cmp dword [ebp - 0x74], 0
jne 0x4da506
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4da518
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4da57f
cmp byte [ebp - 0x29], 0
jne 0x4da52e
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x4da3d6.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.004d8ed4
pop ecx
test al, al
jne case.0x4da3d6.140
mov byte [ebp - 0x79], 0
jmp case.0x4da3d6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x4da5a0
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004d9434
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00406be4
je case.0x4da3d6.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.004d8ed4
pop ecx
test al, al
jne case.0x4da3d6.140
mov byte [ebp - 0x79], 0
jmp case.0x4da3d6.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.0049cf58
jmp case.0x4da3d6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x4da634
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.0049cdfc
test al, al
je case.0x4da3d6.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.0049cfa4
jmp case.0x4da3d6.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004d8928
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0049dd80
test eax, eax
je case.0x4da3d6.140
sub eax, 2
je case.0x4da3d6.140
mov byte [ebp - 0x79], 0
jmp case.0x4da3d6.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004d8928
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.0049dcc0
test eax, eax
jne case.0x4da3d6.140
push 2
push 0x596738
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 0x4da6f2
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4da3d6.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004d8928
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0049df04
test eax, eax
je case.0x4da3d6.140
sub eax, 2
je case.0x4da3d6.140
sub eax, 0x8f
je case.0x4da3d6.140
mov byte [ebp - 0x79], 0
jmp case.0x4da3d6.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004d8928
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.0049dcc0
test eax, eax
jne case.0x4da3d6.140
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.0049dc00
test al, al
je 0x4da7c3
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x4da7c3
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4da3d6.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004d9434
jmp case.0x4da3d6.140
mov byte [ebp - 0x7a], 1
jmp case.0x4da3d6.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, 0x4dad98
call fcn.0042adf4
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xc2
call fcn.004a0e54
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x427698]
call fcn.0042e4cc
call fcn.00404a74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4da874
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004d8bc0
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 0x4da342
cmp byte [ebp - 0x7a], 0
je 0x4da8bf
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x4da8cd
call fcn.004d4f20
cmp dword [ebp - 0x78], 0
je 0x4da8dd
call dword [ebp - 0x78]
push ebp
call fcn.004d9b48
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4da98b
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 0x4da960
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.004d52c4
mov eax, dword [ebp - 0xe4]
call fcn.0049cb08
test al, al
je 0x4da95c
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.004d52c4
mov eax, dword [ebp - 0xe8]
call fcn.004064d4
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x4da910
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