Function at 0x4015ce
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x403e71
mov eax, dword fs:[0]
push eax
sub esp, 0x740
mov eax, dword [0x408018]
xor eax, esp
mov dword [esp + 0x738], eax
push ebx
push esi
push edi
mov eax, dword [0x408018]
xor eax, esp
push eax
lea eax, [esp + 0x750]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x114]
push eax
mov esi, ecx
mov edi, edx
call fcn.00402bbd
and dword [esp + 0x758], 0
push esi
lea eax, [esp + 0x118]
push eax
call fcn.00402bef
push edi
lea eax, [esp + 0x118]
push eax
call fcn.00402bef
push 0x4052bc
lea eax, [esp + 0x118]
push eax
call fcn.00402bef
push ebx
lea eax, [esp + 0x118]
push eax
call fcn.00402bef
push dword [esp + 0x114]
lea eax, [esp + 0x14]
call fcn.00402986
mov byte [esp + 0x758], 1
push dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call edi
mov esi, eax
mov byte [esp + 0x758], 0
lea eax, [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x4016a7
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
test esi, esi
mov ebx, dword [sym.imp.MSVCR80.dll_printf]
je 0x4016f1
push dword [esp + 0x114]
lea esi, [esp + 0x14]
call fcn.004029cb
mov byte [esp + 0x758], 2
push dword [eax]
push str.Deleting__s_n
call ebx
pop ecx
pop ecx
mov byte [esp + 0x758], 0
lea eax, [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x4016f1
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
lea eax, [esp + 0x534]
push eax
call fcn.00402bbd
mov byte [esp + 0x758], 3
push 0x405658
push dword [esp + 0x118]
lea eax, [esp + 0x53c]
push 2
push eax
call dword [sym.imp.GrooveUtil.DLL_public:_unsigned_long_int___cdecl_GCStackStrBase::ConcatStrings_unsigned_long_int__wchar_t_const__const__wchar_t_const__const_]
add esp, 0x10
push dword [esp + 0x534]
lea eax, [esp + 0x14]
call fcn.00402986
mov byte [esp + 0x758], 4
push dword [eax]
call edi
mov esi, eax
mov byte [esp + 0x758], 3
lea eax, [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x401760
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
test esi, esi
je 0x4017a4
push dword [esp + 0x534]
lea esi, [esp + 0x14]
call fcn.004029cb
mov byte [esp + 0x758], 5
push dword [eax]
push str.Deleting__s_n
call ebx
pop ecx
pop ecx
mov byte [esp + 0x758], 3
lea eax, [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x4017a4
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
lea eax, [esp + 0x324]
push eax
call fcn.00402bbd
mov byte [esp + 0x758], 6
push 0x40565c
push dword [esp + 0x118]
lea eax, [esp + 0x32c]
push 2
push eax
call dword [sym.imp.GrooveUtil.DLL_public:_unsigned_long_int___cdecl_GCStackStrBase::ConcatStrings_unsigned_long_int__wchar_t_const__const__wchar_t_const__const_]
add esp, 0x10
push dword [esp + 0x324]
lea eax, [esp + 0x14]
call fcn.00402986
mov byte [esp + 0x758], 7
push dword [eax]
call edi
mov esi, eax
mov byte [esp + 0x758], 6
lea eax, [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x401813
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
test esi, esi
je 0x401857
push dword [esp + 0x324]
lea esi, [esp + 0x14]
call fcn.004029cb
mov byte [esp + 0x758], 8
push dword [eax]
push str.Deleting__s_n
call ebx
pop ecx
pop ecx
mov byte [esp + 0x758], 6
lea eax, [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x401857
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
push 0x405660
lea eax, [esp + 0x118]
push eax
call fcn.00402bef
push dword [esp + 0x114]
lea eax, [esp + 0x14]
call fcn.00402986
mov byte [esp + 0x758], 9
push dword [eax]
call edi
mov esi, eax
mov byte [esp + 0x758], 6
lea eax, [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x4018a4
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
test esi, esi
je 0x4018e8
push dword [esp + 0x114]
lea esi, [esp + 0x14]
call fcn.004029cb
mov byte [esp + 0x758], 0xa
push dword [eax]
push str.Deleting__s_n
call ebx
pop ecx
pop ecx
mov byte [esp + 0x758], 6
lea eax, [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x4018e8
push dword [esp + 0x10]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
mov byte [esp + 0x758], 3
lea eax, [esp + 0x324]
push eax
call fcn.0040194d
mov byte [esp + 0x758], 0
lea eax, [esp + 0x534]
push eax
call fcn.0040194d
or dword [esp + 0x758], 0xffffffff
lea eax, [esp + 0x114]
push eax
call fcn.0040194d
mov ecx, dword [esp + 0x750]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x738]
xor ecx, esp
call fcn.004030fc
mov esp, ebp
pop ebp
ret 4