Function at 0x403003
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x73c
mov al, byte [0x41fd7c]
push ebx
push esi
push edi
mov byte [ebp - 0x73c], al
mov ecx, 0x8b
xor eax, eax
lea edi, [ebp - 0x73b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.00409d3b
test eax, eax
je 0x403051
cmp dword [0x421178], 0
jne 0x403051
push 5
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
jmp 0x40327c
call fcn.00409d77
test eax, eax
jne 0x403066
cmp dword [0x421178], eax
je 0x40327c
cmp dword [0x424fa0], 0
jne 0x40309a
mov esi, 0x1000
push esi
call fcn.0040a024
test eax, eax
pop ecx
mov dword [0x424fa0], eax
je 0x40324b
push 0x41c070
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x42023c], esi
lea eax, [ebp - 0x104]
push eax
push dword [ebp + 0xc]
call fcn.0040a115
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
pop ecx
mov ebx, 0x104
lea eax, [ebp - 0x208]
push ebx
push eax
lea eax, [ebp - 0x104]
push eax
call edi
lea eax, [ebp - 0x104]
push eax
push dword [ebp + 0xc]
call fcn.0040a0d9
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
pop ecx
pop ecx
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x208]
push eax
call esi
lea eax, [ebp - 0x104]
push eax
push dword [ebp + 8]
call fcn.0040a115
pop ecx
lea eax, [ebp - 0x30c]
pop ecx
push ebx
push eax
lea eax, [ebp - 0x104]
push eax
call edi
lea eax, [ebp - 0x104]
push eax
push dword [ebp + 8]
call fcn.0040a0d9
pop ecx
lea eax, [ebp - 0x104]
pop ecx
push eax
lea eax, [ebp - 0x30c]
push eax
call esi
cmp dword [0x421178], 0
je 0x4031ea
mov al, byte [0x41fd7c]
push 0x7f
mov byte [ebp - 0x50c], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x50b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x50c]
push str._echo_off_r_n
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x50c]
push str.attrib__r__s___nul_r_n
push eax
call esi
mov edi, str.erase__s___nul_r_n
lea eax, [ebp - 0x50c]
push edi
push eax
call esi
lea eax, [ebp - 0x50c]
push str.copy__s__s___nul_r_n
push eax
call esi
lea eax, [ebp - 0x50c]
push edi
push eax
call esi
lea eax, [ebp - 0x50c]
push str.echo_on_r_n
push eax
call esi
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x50c]
push eax
lea eax, [ebp - 0x73c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
jmp 0x40320d
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x73c]
push str._s_s_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push dword [0x424fa0]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call edi
mov ebx, eax
lea eax, [ebp - 0x73c]
push eax
call edi
add ebx, eax
cmp ebx, dword [0x42023c]
jl 0x40326d
push 0x1004
push dword [0x424fa0]
call fcn.0040a06b
pop ecx
mov dword [0x424fa0], eax
test eax, eax
pop ecx
jne 0x403263
push dword [0x423948]
push 1
push 0x10
push 1
call fcn.00405105
add esp, 0x10
xor eax, eax
jmp 0x40327c
add dword [0x42023c], 0x1000
lea eax, [ebp - 0x73c]
push eax
push dword [0x424fa0]
call esi
pop edi
pop esi
pop ebx
leave
ret