Function at 0x4b682c
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 0x4b6835
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 0x4b75ea
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4b7608
call fcn.004b2680
lea eax, [ebp - 0xa4]
call fcn.0047f570
mov eax, dword [ebp - 0xa4]
call fcn.0040dc18
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 [0x4ad560]
call fcn.00404068
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x4b757d
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x4ad560]
call fcn.00404068
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x4ad560]
call fcn.00404068
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x4ad560]
call fcn.00404068
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x4ad560]
call fcn.00404068
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x4ad560]
call fcn.00404068
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x4b6937
mov dl, 1
mov eax, dword [0x4ad560]
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 0x4b6cf0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4b6cf0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x4b6cd5
xor eax, eax
push ebp
push 0x4b6c82
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004b67d8
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x4b69bb
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004b0b4c
inc eax
jne 0x4b6c43
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x4b69d2
xor ebx, ebx
jmp 0x4b69dc
test esi, 2
je 0x4b69dc
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x4b69fa
mov dword [ebp - 0xa0], 7
jmp 0x4b6a1e
test esi, 0x10
je 0x4b6a0e
mov dword [ebp - 0xa0], 3
jmp 0x4b6a1e
test esi, 0x40
je 0x4b6a1e
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x4b6b39
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b7660
call fcn.00406914
mov eax, dword [ebp - 0xa8]
call fcn.004b2680
cmp dword [ebp - 0x24], 0
je 0x4b6a6c
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4b769c
call fcn.00406914
mov eax, dword [ebp - 0xac]
call fcn.004b2680
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4b6a95
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.004ad0c4
test al, al
je 0x4b6b2a
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4b5940
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.004af528
test al, al
jne 0x4b6af7
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b76dc
call fcn.004b2904
mov byte [ebp - 0x79], 0
jmp 0x4b6c30
cmp bl, 1
jne 0x4b6c30
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b7720
call fcn.004b2904
jmp 0x4b6c30
mov eax, 0x4b7758
call fcn.004b2680
jmp 0x4b6c30
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b77a0
call fcn.00406914
mov eax, dword [ebp - 0xb8]
call fcn.004b2680
cmp dword [ebp - 0x24], 0
je 0x4b6b7b
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4b77e8
call fcn.00406914
mov eax, dword [ebp - 0xbc]
call fcn.004b2680
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x4b6b97
mov eax, dword [ebp - 0x28]
call fcn.0047e9ac
test al, al
je 0x4b6c26
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x4b6ba5
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x4b5940
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.004af7f4
test al, al
jne 0x4b6bfa
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b7834
call fcn.004b2904
mov byte [ebp - 0x79], 0
jmp 0x4b6c30
cmp bl, 1
jne 0x4b6c30
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b7720
call fcn.004b2904
jmp 0x4b6c30
mov eax, 0x4b7878
call fcn.004b2680
cmp dword [ebp - 0x1c], 0
je 0x4b6c78
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.004b0a54
jmp 0x4b6c78
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, 0x4b78d4
call fcn.004b2904
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b6cab
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004b57bc
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 0x4b6ce3
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4b6976
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4b6f25
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x4b6ed7
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x4b6eae
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004b67d8
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x4b6d5a
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4b6e9d
cmp byte [ebp - 0x29], 0
jne 0x4b6d66
cmp dword [ebp - 0x24], 0
jne 0x4b6d6a
xor eax, eax
jmp 0x4b6d6c
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 0x4b6da1
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004b6030
mov byte [ebp - 0x8b], al
jmp 0x4b6da8
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x4b6dfa
cmp byte [ebp - 0x8b], 0
je 0x4b6ea4
cmp byte [ebp - 0x8a], 0
jne 0x4b6dfa
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004ad0c4
test al, al
je 0x4b6dfa
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x4b6dfa
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x4b6ea4
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x4b6e4e
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x4b6e2d
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004b6138
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x4b6e4e
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.004b63c8
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x4b6e87
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x4b792c
call fcn.004b2904
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.004b04c0
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x4b6ea4
mov eax, dword [ebp - 0x18]
call fcn.004b65dc
jmp 0x4b6ea4
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b6ed7
cmp byte [ebp - 0x89], 0
je 0x4b6f0a
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004b57bc
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 0x4b6f18
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4b6d09
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4b74a5
push ebp
mov eax, dword [ebp - 0x88]
call fcn.004b67d8
pop ecx
xor eax, eax
push ebp
push 0x4b7447
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 0x4b6fc4
je 0x4b7211
cmp eax, 0x81
jg 0x4b6fa6
je 0x4b7037
dec eax
je 0x4b6ff5
add eax, 0xfffffff1
sub eax, 2
jb case.0x4b6fd2.140
sub eax, 0xe
je case.0x4b6fd2.140
sub eax, 0x60
je case.0x4b6fd2.140
jmp case.default.0x4b6fd2
sub eax, 0x82
je 0x4b70e0
dec eax
je case.0x4b6fd2.140
dec eax
je 0x4b71fe
jmp case.default.0x4b6fd2
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x4b6fd2
jmp dword [eax*4 + 0x4b6fd9]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b7968
call fcn.00406914
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xc2
call fcn.004ab628
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x40aa10]
call fcn.00411844
call fcn.00404a74
jmp case.0x4b6fd2.140
cmp byte [ebp - 0x29], 0
jne 0x4b704d
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x4b6fd2.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 0x4b583c
push 0x4b5848
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.004ae4f8
test al, al
je case.0x4b6fd2.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x4b6fd2.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x4b6fd2.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.0047e59c
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.004b0aa8
jmp case.0x4b6fd2.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4b70f7
cmp dword [ebp - 0x74], 0
jne 0x4b7102
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.0040649c
cmp byte [ebp - 0x29], 0
jne 0x4b7114
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x4b717b
cmp byte [ebp - 0x29], 0
jne 0x4b712a
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x4b6fd2.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.004b5ad0
pop ecx
test al, al
jne case.0x4b6fd2.140
mov byte [ebp - 0x79], 0
jmp case.0x4b6fd2.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x4b719c
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004b6030
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00406be4
je case.0x4b6fd2.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.004b5ad0
pop ecx
test al, al
jne case.0x4b6fd2.140
mov byte [ebp - 0x79], 0
jmp case.0x4b6fd2.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.0047ede8
jmp case.0x4b6fd2.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x4b7230
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.0047ec8c
test al, al
je case.0x4b6fd2.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.0047ee34
jmp case.0x4b6fd2.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004b5524
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0047fc10
test eax, eax
je case.0x4b6fd2.140
sub eax, 2
je case.0x4b6fd2.140
mov byte [ebp - 0x79], 0
jmp case.0x4b6fd2.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004b5524
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.0047fb50
test eax, eax
jne case.0x4b6fd2.140
push 2
push 0x5023a4
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 0x4b72ee
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4b6fd2.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004b5524
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
movzx eax, byte [ebp - 0x91]
call fcn.0047fd94
test eax, eax
je case.0x4b6fd2.140
sub eax, 2
je case.0x4b6fd2.140
sub eax, 0x8f
je case.0x4b6fd2.140
mov byte [ebp - 0x79], 0
jmp case.0x4b6fd2.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.004b5524
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.0047fb50
ret
xchg esp, edi
inc dword [ebp - 0x577af040]
add byte [eax], al
invalid
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.0047fa90
test al, al
je 0x4b73bf
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x4b73bf
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey_1
jmp case.0x4b6fd2.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.004b6030
jmp case.0x4b6fd2.140
mov byte [ebp - 0x7a], 1
jmp case.0x4b6fd2.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, 0x4b7994
call fcn.0040e16c
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xc2
call fcn.004ab628
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x40aa10]
call fcn.00411844
call fcn.00404a74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b7470
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.004b57bc
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 0x4b6f3e
cmp byte [ebp - 0x7a], 0
je 0x4b74bb
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x4b74c9
call fcn.004b078c
cmp dword [ebp - 0x78], 0
je 0x4b74d9
call dword [ebp - 0x78]
push ebp
call fcn.004b6744
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b7587
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 0x4b755c
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.004b0b30
mov eax, dword [ebp - 0xe4]
call fcn.0047e998
test al, al
je 0x4b7558
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.004b0b30
mov eax, dword [ebp - 0xe8]
call fcn.004064d4
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x4b750c
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