Function at 0x41a678
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x734
mov dword [ebp - 0x730], 0
mov dword [ebp - 0x708], 0
mov eax, dword [ebp - 0x708]
mov dword [ebp - 0x734], eax
cmp dword [ebp + 0x14], 0
je 0x41a6b8
mov ecx, dword [ebp + 0x14]
movsx edx, byte [ecx]
test edx, edx
jne 0x41a6b8
mov dword [ebp + 0x14], 0
mov eax, dword [ebp + 8]
push eax
push str._s.tmp
push 0x104
lea ecx, [ebp - 0x304]
push ecx
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x10
push 0x43275c
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0x734], eax
cmp dword [ebp - 0x734], 0
je 0x41a707
mov eax, dword [ebp - 0x734]
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
push 0x432760
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0x734], eax
cmp dword [ebp - 0x734], 0
jne 0x41a72f
xor eax, eax
jmp 0x41a909
push 0x432764
lea edx, [ebp - 0x304]
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0x708], eax
cmp dword [ebp - 0x708], 0
jne 0x41a76a
mov eax, dword [ebp - 0x734]
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
jmp 0x41a909
mov ecx, dword [ebp - 0x734]
push ecx
push 0x200
lea edx, [ebp - 0x200]
push edx
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
je 0x41a869
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0x704]
push ecx
push str.__:_:__:_:_s
lea edx, [ebp - 0x200]
push edx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x10
cmp eax, 2
je 0x41a7b8
jmp 0x41a76a
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x704]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x41a848
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x504]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x41a848
mov ecx, dword [ebp - 0x730]
add ecx, 1
mov dword [ebp - 0x730], ecx
cmp dword [ebp + 0x14], 0
je 0x41a846
push 0
mov edx, dword [ebp + 0x14]
push edx
push 0x432778
mov eax, dword [ebp + 0xc]
push eax
push 0x43277c
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x72c]
push edx
call fcn.0040f7b6
add esp, 0x1c
lea eax, [ebp - 0x72c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 0x432780
mov eax, dword [ebp - 0x708]
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0x14
jmp 0x41a864
lea ecx, [ebp - 0x200]
push ecx
push 0x43278c
mov edx, dword [ebp - 0x708]
push edx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
jmp 0x41a76a
cmp dword [ebp - 0x730], 0
jne 0x41a8c3
cmp dword [ebp + 0x14], 0
je 0x41a8c3
push 0
mov eax, dword [ebp + 0x14]
push eax
push 0x432790
mov ecx, dword [ebp + 0xc]
push ecx
push 0x432794
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x72c]
push eax
call fcn.0040f7b6
add esp, 0x1c
lea ecx, [ebp - 0x72c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 0x10]
push eax
push str._s:_s:_s_n
mov ecx, dword [ebp - 0x708]
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0x14
mov edx, dword [ebp - 0x734]
push edx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov eax, dword [ebp - 0x708]
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.MSVCRT.dll_remove]
add esp, 4
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x304]
push eax
call dword [sym.imp.MSVCRT.dll_rename]
add esp, 8
mov eax, 1
mov esp, ebp
pop ebp
ret