Function at 0x40c103
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push 8
call fcn.0041d145
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x4bfb8a
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.AppData
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c16c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c1af
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Cache
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c1f7
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c23a
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.CD_Burning
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c282
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c2c5
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Cookies
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c30d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c350
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Desktop
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c398
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c3db
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Favorites
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c423
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c466
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Fonts
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c4ae
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c4f1
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.History
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c539
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c57c
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Local_AppData
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c5c4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c607
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Local_Settings
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c64f
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c692
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.My_Music
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c6da
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c71d
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.My_Pictures
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c765
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c7a8
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.My_Video
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c7f0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c833
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.NetHood
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c87b
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c8be
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Personal
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c906
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c949
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.PrintHood
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c991
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40c9d4
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Programs
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40ca1c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40ca5f
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Recent
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40caa7
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40caea
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.SendTo
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40cb32
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40cb75
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Start_Menu
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40cbbd
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40cc00
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Startup
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40cc48
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40cc8b
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Templates
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40ccd3
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40cd16
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_Administrative_Tools
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40cd5e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40cda1
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_AppData
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40cde9
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40ce2c
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_Desktop
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40ce74
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40ceb7
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_Documents
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40ceff
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40cf42
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_Favorites
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40cf8a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40cfcd
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_Programs
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d015
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d058
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_Start_Menu
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d0a0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d0e3
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_Startup
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d12b
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d16e
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Common_Templates
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d1b6
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d1f9
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.CommonMusic
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d241
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d284
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.CommonPictures
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d2cc
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d30f
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.CommonVideo
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d357
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d39a
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.Temp
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d3e2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d425
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.WinDir
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d46d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d4b0
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.System32
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d4f8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d53b
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.USERPROFILE
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d583
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d5c6
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.ALLUSERSPROFILE
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d60e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d651
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.ProgramFiles
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d699
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d6dc
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.CommonProgramFiles
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d724
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d767
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, str.SystemDrive
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d7af
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d7f2
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
lea eax, [ebp - 4]
push eax
push 4
mov eax, 2
call fcn.0041d139
add esp, 8
mov eax, 0x5b32b7
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00402384
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0xc]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d83a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0xc]
call fcn.0041d15d
add esp, 8
mov dword [ebp - 4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x10]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 8]
push edi
test eax, eax
je 0x40d87d
push eax
mov ebx, eax
call fcn.0040143d
inc eax
push eax
call fcn.0041d145
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
cmp dword [ebp + 8], 1
jl 0x40d89f
mov ebx, dword [ebp - 4]
call fcn.00402b6d
cmp dword [ebp + 8], eax
jg 0x40d89f
xor eax, eax
jmp 0x40d8a4
mov eax, 1
test eax, eax
je 0x40d8b3
mov dword [ebp + 8], 1
mov ebx, dword [ebp - 4]
call fcn.00402384
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x40d8da
push 0x7f5
push 0x40211cf
push 4
call fcn.0041d151
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40d8f7
push 0x7f5
push 0x40211cf
push 1
call fcn.0041d151
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 8], ebx
push VariantClear
push 0
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40d914
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41ddd0
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0xc], eax
push 0x5b32b7
push dword [ebp - 0xc]
call fcn.0040107e
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40d958
push ebx
call fcn.0041d14b
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x40d97f
push 0
mov ebx, 0x41d770
call fcn.0041d13f
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x40df29
mov ebx, dword [ebp - 4]
call fcn.00402384
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x40d9a6
push 0x888
push 0x40211cf
push 4
call fcn.0041d151
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40d9c3
push 0x888
push 0x40211cf
push 1
call fcn.0041d151
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 8], ebx
push VariantClear
push 0
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40d9e0
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41ddd0
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0xc], eax
push VariantClear
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40da09
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41d870
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40da2f
push ebx
call fcn.0041d14b
add esp, 4
push 0x4bf9f4
push dword [ebp - 0x10]
call fcn.0040107e
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40da5d
push ebx
call fcn.0041d14b
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x40db1f
mov ebx, dword [ebp - 4]
call fcn.00402384
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x40da8e
push 0x8d6
push 0x40211cf
push 4
call fcn.0041d151
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40daab
push 0x8d6
push 0x40211cf
push 1
call fcn.0041d151
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 8], ebx
push VariantClear
push 0
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40dac8
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41ddd0
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0xc], eax
push VariantClear
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40daf1
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41d870
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40db17
push ebx
call fcn.0041d14b
add esp, 4
mov eax, dword [ebp - 0x10]
jmp 0x40df29
mov ebx, dword [ebp - 4]
call fcn.00402384
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x40db46
push 0x91f
push 0x40211cf
push 4
call fcn.0041d151
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40db63
push 0x91f
push 0x40211cf
push 1
call fcn.0041d151
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 8], ebx
push VariantClear
push 0
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40db80
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41ddd0
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0xc], eax
push VariantClear
push 0
push str.System32
push 1
mov ebx, 0x41ddd0
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
push dword [ebp - 0xc]
call fcn.0040107e
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40dbe4
push ebx
call fcn.0041d14b
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40dbf4
push ebx
call fcn.0041d14b
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x40dcfa
push VariantClear
push 0
push str.ComSpec
push 1
mov ebx, 0x41d870
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 8], eax
push VariantClear
push 0
push str.ComSpec
push 1
mov ebx, 0x41d870
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0xc], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0
push 0
push 0
push 0
push VariantClear
push 0
push 0x5b32cc
push VariantClear
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40dc71
mov eax, 0x4bf9f4
push eax
push 4
mov ebx, 0x41dc20
call fcn.0041d13f
add esp, 0x34
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40dc97
push ebx
call fcn.0041d14b
add esp, 4
fild dword [ebp - 0x10]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fsub qword [0x4bfbf9]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
call fcn.00401d0a
push 0x80000301
push 0
push eax
push VariantClear
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x40dccc
mov eax, 0x4bf9f4
push eax
push 2
mov ebx, 0x41d910
call fcn.0041d13f
add esp, 0x1c
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40dcf2
push ebx
call fcn.0041d14b
add esp, 4
mov eax, dword [ebp - 0x24]
jmp 0x40df29
mov ebx, dword [ebp - 4]
call fcn.00402384
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x40dd21
push 0xa71
push 0x40211cf
push 4
call fcn.0041d151
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40dd3e
push 0xa71
push 0x40211cf
push 1
call fcn.0041d151
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 8], ebx
push VariantClear
push 0
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40dd5b
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41ddd0
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0xc], eax
push 0x80000301
push 0
push 6
push VariantClear
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40dd90
mov eax, 0x4bf9f4
push eax
push 2
mov ebx, 0x41d910
call fcn.0041d13f
add esp, 0x1c
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40ddb6
push ebx
call fcn.0041d14b
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x40ddc9
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41ddd0
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40ddef
push ebx
call fcn.0041d14b
add esp, 4
push str.common
push dword [ebp - 0x14]
call fcn.0040107e
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40de1d
push ebx
call fcn.0041d14b
add esp, 4
cmp dword [ebp - 0x18], 0
je 0x40de31
mov eax, 4
jmp 0x40de36
mov eax, 3
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 4]
call fcn.00402384
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x40de60
push 0xb0e
push 0x40211cf
push 4
call fcn.0041d151
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40de7d
push 0xb0e
push 0x40211cf
push 1
call fcn.0041d151
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push VariantClear
push 0
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
test eax, eax
jne 0x40de9a
mov eax, 0x4bf9f4
push eax
push 1
mov ebx, 0x41ddd0
call fcn.0041d13f
add esp, 0x10
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders_
mov ecx, 2
call fcn.004014a8
add esp, 8
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40ded8
push ebx
call fcn.0041d14b
add esp, 4
push 0
push 0
push 0
push VariantClear
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40def1
mov eax, 0x4bf9f4
push eax
push 0x80000301
push 0
push dword [ebp - 0x1c]
push 3
mov ebx, 0x41fa30
call fcn.0041d13f
add esp, 0x28
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40df21
push ebx
call fcn.0041d14b
add esp, 4
mov eax, dword [ebp - 0x2c]
jmp 0x40df29
push eax
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40df48
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40df44
imul eax, dword [ebx]
jmp 0x40df39
mov ecx, eax
test ecx, ecx
je 0x40df67
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40df60
push ebx
push eax
call fcn.0041d14b
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40df4e
call fcn.0041d14b
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 8