Function at 0x409e4c
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push 8
call fcn.00418484
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x4baa24
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.00418478
add esp, 8
mov eax, str.AppData
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x409eb5
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.004184b4
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 0x409ef8
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Cache
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x409f40
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.004184b4
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 0x409f83
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x409fcb
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.004184b4
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 0x40a00e
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Cookies
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a056
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.004184b4
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 0x40a099
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Desktop
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a0e1
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.004184b4
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 0x40a124
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Favorites
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a16c
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.004184b4
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 0x40a1af
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Fonts
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a1f7
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.004184b4
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 0x40a23a
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.History
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a282
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.004184b4
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 0x40a2c5
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40a30d
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.004184b4
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 0x40a350
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40a398
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.004184b4
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 0x40a3db
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40a423
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.004184b4
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 0x40a466
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40a4ae
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.004184b4
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 0x40a4f1
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40a539
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.004184b4
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 0x40a57c
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.NetHood
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a5c4
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.004184b4
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 0x40a607
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Personal
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a64f
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.004184b4
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 0x40a692
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.PrintHood
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a6da
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.004184b4
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 0x40a71d
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Programs
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a765
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.004184b4
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 0x40a7a8
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Recent
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a7f0
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.004184b4
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 0x40a833
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.SendTo
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a87b
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.004184b4
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 0x40a8be
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40a906
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.004184b4
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 0x40a949
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Startup
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40a991
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.004184b4
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 0x40a9d4
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Templates
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40aa1c
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.004184b4
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 0x40aa5f
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40aaa7
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.004184b4
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 0x40aaea
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40ab32
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.004184b4
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 0x40ab75
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40abbd
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.004184b4
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 0x40ac00
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40ac48
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.004184b4
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 0x40ac8b
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40acd3
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.004184b4
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 0x40ad16
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40ad5e
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.004184b4
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 0x40ada1
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40ade9
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.004184b4
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 0x40ae2c
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40ae74
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.004184b4
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 0x40aeb7
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
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.00404f24
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 0x40aeff
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.004184b4
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 0x40af42
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.CommonMusic
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40af8a
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.004184b4
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 0x40afcd
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.CommonPictures
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b015
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.004184b4
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 0x40b058
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.CommonVideo
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b0a0
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.004184b4
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 0x40b0e3
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.Temp
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b12b
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.004184b4
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 0x40b16e
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.WinDir
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b1b6
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.004184b4
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 0x40b1f9
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.System32
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b241
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.004184b4
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 0x40b284
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.USERPROFILE
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b2cc
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.004184b4
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 0x40b30f
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.ALLUSERSPROFILE
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b357
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.004184b4
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 0x40b39a
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.ProgramFiles
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b3e2
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.004184b4
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 0x40b425
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.CommonProgramFiles
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b46d
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.004184b4
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 0x40b4b0
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, str.SystemDrive
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b4f8
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.004184b4
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 0x40b53b
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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.00418478
add esp, 8
mov eax, 0x5ae0cd
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
call fcn.00404f24
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 0x40b583
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.004184b4
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 0x40b5c6
push eax
mov ebx, eax
call fcn.004017ef
inc eax
push eax
call fcn.00418484
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 0x40b5e8
mov ebx, dword [ebp - 4]
call fcn.004013e9
cmp dword [ebp + 8], eax
jg 0x40b5e8
xor eax, eax
jmp 0x40b5ed
mov eax, 1
test eax, eax
je 0x40b5fc
mov dword [ebp + 8], 1
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp + 8]
dec eax
pop ebx
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 0x40b62a
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x419110
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 0xc], eax
push 0x5ae0cd
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 0x40b66e
push ebx
call fcn.0041848a
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x40b695
push 0
mov ebx, 0x418ab0
call fcn.0041847e
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x40bb40
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp + 8]
dec eax
pop ebx
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 0x40b6c3
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x419110
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 0xc], eax
push VariantClear
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40b6ec
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x418bb0
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40b712
push ebx
call fcn.0041848a
add esp, 4
push 0x4ba9cc
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 0x40b740
push ebx
call fcn.0041848a
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x40b7cf
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp + 8]
dec eax
pop ebx
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 0x40b778
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x419110
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 0xc], eax
push VariantClear
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40b7a1
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x418bb0
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40b7c7
push ebx
call fcn.0041848a
add esp, 4
mov eax, dword [ebp - 0x10]
jmp 0x40bb40
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp + 8]
dec eax
pop ebx
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 0x40b7fd
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x419110
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 0xc], eax
push VariantClear
push 0
push str.System32
push 1
mov ebx, 0x419110
call fcn.0041847e
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 0x40b861
push ebx
call fcn.0041848a
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40b871
push ebx
call fcn.0041848a
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x40b977
push VariantClear
push 0
push str.ComSpec
push 1
mov ebx, 0x418bb0
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 8], eax
push VariantClear
push 0
push str.ComSpec
push 1
mov ebx, 0x418bb0
call fcn.0041847e
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 0x5ae0e2
push VariantClear
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40b8ee
mov eax, 0x4ba9cc
push eax
push 4
mov ebx, 0x418f60
call fcn.0041847e
add esp, 0x34
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40b914
push ebx
call fcn.0041848a
add esp, 4
fild dword [ebp - 0x10]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fsub qword [0x5adb6d]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
call fcn.00401573
push 0x80000301
push 0
push eax
push VariantClear
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x40b949
mov eax, 0x4ba9cc
push eax
push 2
mov ebx, 0x418c50
call fcn.0041847e
add esp, 0x1c
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40b96f
push ebx
call fcn.0041848a
add esp, 4
mov eax, dword [ebp - 0x24]
jmp 0x40bb40
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp + 8]
dec eax
pop ebx
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 0x40b9a5
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x419110
call fcn.0041847e
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 0x40b9da
mov eax, 0x4ba9cc
push eax
push 2
mov ebx, 0x418c50
call fcn.0041847e
add esp, 0x1c
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40ba00
push ebx
call fcn.0041848a
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x40ba13
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x419110
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40ba39
push ebx
call fcn.0041848a
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 0x40ba67
push ebx
call fcn.0041848a
add esp, 4
cmp dword [ebp - 0x18], 0
je 0x40ba7b
mov eax, 4
jmp 0x40ba80
mov eax, 3
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp + 8]
dec eax
pop ebx
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 0x40bab1
mov eax, 0x4ba9cc
push eax
push 1
mov ebx, 0x419110
call fcn.0041847e
add esp, 0x10
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders_
mov ecx, 2
call fcn.0040185a
add esp, 8
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40baef
push ebx
call fcn.0041848a
add esp, 4
push 0
push 0
push 0
push VariantClear
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40bb08
mov eax, 0x4ba9cc
push eax
push 0x80000301
push 0
push dword [ebp - 0x1c]
push 3
mov ebx, 0x41ad70
call fcn.0041847e
add esp, 0x28
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40bb38
push ebx
call fcn.0041848a
add esp, 4
mov eax, dword [ebp - 0x2c]
jmp 0x40bb40
push eax
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40bb5f
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40bb5b
imul eax, dword [ebx]
jmp 0x40bb50
mov ecx, eax
test ecx, ecx
je 0x40bb7e
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40bb77
push ebx
push eax
call fcn.0041848a
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40bb65
call fcn.0041848a
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 8