Function at 0x4064b5
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x73c
push ebx
push esi
push edi
mov esi, 0x41058c
lea edi, [ebp - 0x73c]
xor eax, eax
movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x73b]
mov ecx, 0x8b
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.0040b5ca
test eax, eax
je 0x406511
cmp dword [0x40f740], 0
jne 0x406511
push 4
push 0
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 4
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
jmp 0x406758
call fcn.0040b609
test eax, eax
jne 0x406527
cmp dword [0x40f740], 0
je 0x406758
cmp dword [0x412724], 0
jne 0x40657c
push 0x1000
call fcn.0040b86a
add esp, 4
mov dword [0x412724], eax
test eax, eax
jne 0x406561
mov eax, dword [0x412948]
push eax
push 1
push 0x10
push 1
call fcn.004027d8
add esp, 0x10
xor eax, eax
jmp 0x406758
push 0x41059c
mov eax, dword [0x412724]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x4109a0], 0x1000
lea eax, [ebp - 0x104]
mov esi, 0x104
push eax
push dword [ebp + 0xc]
call fcn.0040b9a4
add esp, 8
lea ecx, [ebp - 0x208]
lea eax, [ebp - 0x104]
push esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
lea ecx, [ebp - 0x104]
push ecx
push dword [ebp + 0xc]
call fcn.0040b967
add esp, 8
lea ecx, [ebp - 0x104]
lea edx, [ebp - 0x208]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
push ecx
push edx
call ebx
lea ecx, [ebp - 0x104]
push ecx
push dword [ebp + 8]
call fcn.0040b9a4
add esp, 8
lea ecx, [ebp - 0x30c]
lea edx, [ebp - 0x104]
push esi
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
lea ecx, [ebp - 0x104]
push ecx
push dword [ebp + 8]
call fcn.0040b967
add esp, 8
lea ecx, [ebp - 0x104]
lea edx, [ebp - 0x30c]
push ecx
push edx
call ebx
cmp dword [0x40f740], 0
je 0x4066c3
mov esi, 0x41058c
lea edi, [ebp - 0x50c]
xor eax, eax
mov ecx, 0x7f
movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x50b]
push str._echo_off_r_n
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x50c]
mov esi, str.erase__s___nul_r_n
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.attrib__r__s___nul_r_n
lea eax, [ebp - 0x50c]
push eax
call ebx
push esi
lea eax, [ebp - 0x50c]
push eax
call ebx
push str.copy__s__s___nul_r_n
lea eax, [ebp - 0x50c]
push eax
call ebx
push esi
lea eax, [ebp - 0x50c]
push eax
call ebx
push str.echo_on_r_n
lea eax, [ebp - 0x50c]
push eax
call ebx
lea eax, [ebp - 0x30c]
lea ecx, [ebp - 0x208]
push eax
push ecx
push eax
lea edx, [ebp - 0x73c]
push ecx
lea eax, [ebp - 0x50c]
push ecx
push eax
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
jmp 0x4066e6
lea eax, [ebp - 0x30c]
lea ecx, [ebp - 0x208]
push eax
lea edx, [ebp - 0x73c]
push ecx
push str._s_s_r_n
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, dword [0x412724]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
lea eax, [ebp - 0x73c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add esi, eax
cmp esi, dword [0x4109a0]
jl 0x406749
push 0x1004
mov eax, dword [0x412724]
push eax
call fcn.0040b8b1
add esp, 8
mov dword [0x412724], eax
test eax, eax
jne 0x40673f
mov eax, dword [0x412948]
push eax
push 1
push 0x10
push 1
call fcn.004027d8
add esp, 0x10
xor eax, eax
jmp 0x406758
add dword [0x4109a0], 0x1000
lea eax, [ebp - 0x73c]
push eax
push dword [0x412724]
call ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret