Function at 0x402421
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1d68
call fcn.00404150
push ebx
and byte [ebp - 0x320], 0
push esi
push edi
push 0x40
xor eax, eax
pop esi
lea edi, [ebp - 0x31f]
mov ecx, esi
and byte [ebp - 0x62c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x62b]
and byte [ebp - 0x424], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x423]
and byte [ebp - 0x528], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x527]
cmp dword [ebp + 8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
jne 0x402497
call fcn.00403f17
and byte [ebp - 0x1158], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x1157]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x1054], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x1053]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0xf50], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0xf4f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0xe4c], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0xe4b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0xd48], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0xd47]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0xc44], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0xc43]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0xb40], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0xb3f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0xa3c], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0xa3b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x82
xor eax, eax
lea edi, [ebp - 0x938]
mov ebx, 0x40842c
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1158]
push ebx
push eax
call sub.MSVCRT.dll_strcpy
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
pop ecx
pop ecx
mov edi, 0x406390
push 0x406430
push ebx
lea eax, [ebp - 0x1054]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0xf50]
push str.Temp
push ebx
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0xe4c]
push str.Install
push ebx
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0xd48]
push str.Core
push ebx
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0xc44]
push str.Desktop
push ebx
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0xb40]
push 0x4069a4
push ebx
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0xa3c]
push str.Links
push ebx
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x938]
push str.Chooser
push str.Links
push ebx
push str._s_s_s
push eax
call esi
add esp, 0x14
lea eax, [ebp - 0x834]
push str.Shop
push ebx
push edi
push eax
call esi
lea eax, [ebp - 0x1158]
add esp, 0x10
and dword [ebp - 4], 0
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
call fcn.00403a9e
test eax, eax
pop ecx
jne 0x4026cd
inc dword [ebp - 4]
add dword [ebp - 0x10], 0x104
cmp dword [ebp - 4], 0xa
jl 0x402636
cmp dword [ebp + 8], eax
je 0x4026f3
push str.Install
push ebx
lea eax, [ebp - 0x320]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x125c]
push 0x4071a4
push str.Install
push ebx
push str._s_s_s
push eax
call esi
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x62c]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x424]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x528]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 0x2c
jmp 0x40275a
push eax
mov eax, dword [ebp - 4]
imul eax, eax, 0x104
lea eax, [ebp + eax - 0x1158]
push eax
push str._s_t_d
push dword [ebp + 0xc]
call esi
add esp, 0x10
xor eax, eax
jmp 0x402c64
push 0x406430
push ebx
lea eax, [ebp - 0x320]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x125c]
push 0x4071a4
push 0x408328
push str._sinf_s
push eax
call esi
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x62c]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x938]
push eax
lea eax, [ebp - 0x424]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x528]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 0x28
and dword [ebp - 0xc], 0
lea eax, [ebp - 0x1568]
mov dword [ebp - 8], 0x406e18
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
cmp eax, 0x4071e4
je 0x40278c
add eax, 0xffffffc0
push eax
lea eax, [ebp - 0x320]
push eax
push edi
push dword [ebp - 4]
call esi
add esp, 0x10
push 0
push dword [ebp - 4]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
mov dword [ebp - 0x10], eax
je 0x4029c3
push dword [ebp - 4]
push dword [ebp - 8]
call sub.MSVCRT.dll_strcpy
add dword [ebp - 8], 0x144
inc dword [ebp - 0xc]
add dword [ebp - 4], 0x104
cmp dword [ebp - 8], 0x407328
pop ecx
pop ecx
jl 0x40276e
cmp dword [ebp - 0x10], 0
je 0x4029c3
and dword [ebp - 0xc], 0
lea eax, [ebp - 0x1568]
mov dword [ebp - 8], 0x407330
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
add eax, 0xffffffc0
push eax
lea eax, [ebp - 0x320]
push eax
push edi
push dword [ebp - 4]
call esi
add esp, 0x10
push 0
push dword [ebp - 4]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
mov dword [ebp - 0x10], eax
je 0x4029c3
push dword [ebp - 4]
push dword [ebp - 8]
call sub.MSVCRT.dll_strcpy
add dword [ebp - 8], 0x144
inc dword [ebp - 0xc]
add dword [ebp - 4], 0x104
cmp dword [ebp - 8], 0x407984
pop ecx
pop ecx
jl 0x4027ea
cmp dword [ebp - 0x10], 0
je 0x4029c3
and byte [ebp - 0x730], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x72f]
and byte [ebp - 0x21c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x21b]
rep stosd dword es:[edi], eax
and byte [ebp - 0x118], 0
push 0x40
stosw word es:[edi], ax
stosb byte es:[edi], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x117]
mov dword [ebp - 4], 0x406038
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edi, edi
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov eax, dword [ebp - 0xc]
sub eax, edi
je 0x40291e
dec eax
je 0x4028f9
dec eax
je 0x4028c9
dec eax
jne 0x40293a
mov dword [ebp - 8], 5
mov dword [ebp - 4], 0x406060
lea eax, [ebp - 0x528]
jmp 0x40292b
cmp dword [ebp + 8], edi
mov dword [ebp - 8], 3
lea eax, [ebp - 0xe4c]
jne 0x4028e1
lea eax, [ebp - 0xc44]
push eax
lea eax, [ebp - 0x21c]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
mov dword [ebp - 4], 0x406054
pop ecx
jmp 0x40293a
lea eax, [ebp - 0x424]
mov dword [ebp - 8], 0xa
push eax
lea eax, [ebp - 0x21c]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
mov dword [ebp - 4], 0x406010
pop ecx
jmp 0x40293a
mov dword [ebp - 8], 7
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x21c]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
cmp dword [ebp - 8], edi
mov dword [ebp - 0x14], edi
jbe 0x4029b1
mov edi, dword [ebp - 4]
push dword [edi]
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x730]
push 0x406390
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push dword [edi]
push 0x408530
push str._s_s
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x730]
push 0
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
mov dword [ebp - 0x10], eax
je 0x4029af
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
inc dword [ebp - 0x14]
add edi, 4
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 8]
jb 0x402945
xor edi, edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x40289f
cmp dword [ebp - 0x10], edi
jne 0x402a2b
and byte [ebp - 0x1d68], 0
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0x1d67]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0xc]
mov ecx, eax
imul eax, eax, 0x144
imul ecx, ecx, 0x104
add eax, 0x406e18
lea ecx, [ebp + ecx - 0x1568]
push ecx
push eax
lea eax, [ebp - 0x1d68]
push str.MoveFiles_nSrc:__s_nDest:__s_nError_Code:_d
push eax
call esi
push dword [ebp + 0x10]
lea eax, [ebp - 0x1d68]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0x20
jmp 0x402c61
and byte [ebp - 0x118], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x117]
cmp dword [ebp + 8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
je 0x402a5d
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x118]
push eax
call sub.MSVCRT.dll_strcpy
jmp 0x402a6d
lea eax, [ebp - 0xb40]
push eax
lea eax, [ebp - 0x118]
push eax
call esi
pop ecx
lea eax, [ebp - 0x118]
pop ecx
push str..gif
push eax
call fcn.00403df0
lea eax, [ebp - 0x118]
push str..htm
push eax
call fcn.00403df0
lea eax, [ebp - 0x118]
push str..cur
push eax
call fcn.00403df0
lea eax, [ebp - 0x118]
push str..ico
push eax
call fcn.00403df0
lea eax, [ebp - 0x118]
push str..js
push eax
call fcn.00403df0
and byte [ebp - 0x21c], 0
add esp, 0x28
xor eax, eax
lea edi, [ebp - 0x21b]
push 0x40
pop ecx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x4069a4
mov edi, str._s_sdtuioff.htm
push ebx
lea eax, [ebp - 0x21c]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push str.Desktop
push ebx
push edi
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
add esp, 0x10
lea eax, [ebp - 0x118]
push 0
push eax
lea eax, [ebp - 0x21c]
push eax
call edi
push 0x4069a4
push ebx
lea eax, [ebp - 0x21c]
push str._s_s_sys_bg.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push str.Desktop
push ebx
push str._s_s_sys_bg.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push 0
push eax
lea eax, [ebp - 0x21c]
push eax
call edi
push 0x4069a4
push ebx
lea eax, [ebp - 0x21c]
push str._s_s_sys_mask.gif
push eax
call esi
add esp, 0x10
push str.Desktop
push ebx
lea eax, [ebp - 0x118]
push str._s_s_sys_mask.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push 0
push eax
lea eax, [ebp - 0x21c]
push eax
call edi
push 0x4069a4
push ebx
lea eax, [ebp - 0x21c]
push str._s_s_sys_over.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push str.Desktop
push ebx
push str._s_s_sys_over.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push 0
push eax
lea eax, [ebp - 0x21c]
push eax
call edi
push 0x4069a4
push ebx
lea eax, [ebp - 0x21c]
push str._s_sl_mask.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push str.Desktop
push ebx
push str._s_sl_mask.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push 0
push eax
lea eax, [ebp - 0x21c]
push eax
call edi
push 0x4069a4
push ebx
lea eax, [ebp - 0x21c]
push str._s_sl_skin.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push str.Desktop
push ebx
push str._s_sl_skin.gif
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x118]
push 0
push eax
lea eax, [ebp - 0x21c]
push eax
call edi
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
leave
ret