Function at 0x1000f412
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x514
push ebx
push edi
push 0x40
xor ebx, ebx
pop edx
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x30b]
mov byte [ebp - 0x30c], bl
mov byte [ebp - 0x104], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x103]
mov byte [ebp - 0x208], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x207]
mov byte [ebp - 0x514], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x513]
push 0x1008e5f0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.10003592
push dword [ebp + 0x10]
call sub.MSVCRT.dll_strlen
pop ecx
test eax, eax
pop ecx
jne 0x1000f495
push 0x10095814
jmp 0x1000f498
push dword [ebp + 0x10]
lea eax, [ebp - 0x104]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
lea eax, [ebp - 0x104]
pop ecx
push esi
push eax
lea eax, [ebp - 0x514]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x514]
push 0x10095810
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x104]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
mov esi, dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0x18
cmp eax, ebx
je 0x1000f529
lea edi, [eax + 1]
lea eax, [ebp - 0x30c]
push edi
push 0x10093664
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
push edi
call sub.MSVCRT.dll_strlen
mov edi, eax
lea eax, [ebp - 0x104]
push eax
call sub.MSVCRT.dll_strlen
sub eax, edi
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x208]
push eax
call esi
add esp, 0x20
jmp 0x1000f545
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x30c]
push 0x10093664
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x30c]
push 0x2e
push eax
call dword [sym.imp.MSVCRT.dll_strchr]
mov edx, eax
pop ecx
cmp edx, ebx
pop ecx
je 0x1000f5c9
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x40f]
mov byte [ebp - 0x410], bl
push edx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call sub.MSVCRT.dll_strlen
mov edi, eax
lea eax, [ebp - 0x30c]
push eax
call sub.MSVCRT.dll_strlen
sub eax, edi
push eax
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x410]
push eax
call esi
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.MSVCRT.dll__strrev]
push eax
lea eax, [ebp - 0x208]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x208]
push 0x10095808
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x28
jmp 0x1000f620
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x40f]
mov byte [ebp - 0x410], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x410]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.MSVCRT.dll__strrev]
push eax
lea eax, [ebp - 0x208]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x208]
push 0x10095808
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x1c
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileExA]
lea eax, [ebp - 0x514]
push 1
push eax
lea eax, [ebp - 0x104]
push eax
call esi
test eax, eax
lea eax, [ebp - 0x514]
mov edi, 0x100957ec
push eax
lea eax, [ebp - 0x104]
mov ebx, 0x10095654
push eax
je 0x1000f657
push ebx
jmp 0x1000f658
push edi
call fcn.10003592
add esp, 0xc
lea eax, [ebp - 0x104]
push 1
push eax
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
pop esi
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x208]
push eax
je 0x1000f699
push ebx
call fcn.10003592
lea eax, [ebp - 0x104]
push eax
push 0x100957bc
jmp 0x1000f6ab
push edi
call fcn.10003592
lea eax, [ebp - 0x104]
push eax
push 0x10095798
call fcn.10003592
add esp, 0x14
pop edi
pop ebx
leave
ret 0x10