Function at 0x4157a0
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47ce50
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x4be5b4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040af00
add esp, 4
mov eax, dword [ebp - 0x14]
or ebx, 0xffffffff
mov dword [ebp - 4], 0
cmp dword [eax - 0xc], 0
je 0x415abe
call fcn.0040b4c0
mov ecx, eax
test ecx, ecx
je 0x415af9
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, 0x400
or eax, ecx
mov edi, dword [ebp - 0x14]
mov byte [ebp - 4], 1
jge 0x415830
push 0x400
lea ecx, [ebp - 0x18]
call fcn.00410500
mov esi, dword [ebp - 0x18]
push str...LDSGamePlayerPK_vms
push edi
push esi
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push dword [esi - 8]
push esi
call fcn.0044043a
add esp, 8
test eax, eax
js 0x415aef
cmp eax, dword [esi - 8]
jg 0x415aef
xor ecx, ecx
mov dword [esi - 0xc], eax
push esi
mov word [esi + eax*2], cx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x415aa3
push str.kill_running_exe.
call fcn.0044e890
call fcn.004559f0
push str.remove_all_vbox__
call fcn.0044e890
add esp, 8
call fcn.0040b4c0
mov ecx, eax
test ecx, ecx
je 0x415b03
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 2
mov ebx, 1
push ebx
push esi
lea eax, [ebp - 0x1c]
push str._s_vbox__d
push eax
call fcn.00409e30
mov edi, dword [ebp - 0x1c]
push edi
call fcn.00455200
inc ebx
add esp, 0x14
cmp ebx, 8
jle 0x4158b1
call fcn.0040b4c0
mov ecx, eax
test ecx, ecx
je 0x415b0d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, 0x400
or ecx, edx
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 4], 3
jge 0x415919
push 0x400
lea ecx, [ebp - 0x10]
call fcn.00410500
mov eax, dword [ebp - 0x10]
push str...LDSGamePlayerPK_
push ebx
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov eax, dword [ebp - 0x10]
push dword [eax - 8]
push eax
call fcn.0044043a
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x415aef
mov eax, dword [ebp - 0x10]
cmp ecx, dword [eax - 8]
jg 0x415aef
mov dword [eax - 0xc], ecx
xor edx, edx
mov word [eax + ecx*2], dx
lea eax, [ebp - 0x10]
push str.LDSBox.exe
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00404d40
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp - 0x20]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41598e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.libEGL_translator.dll
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00404d40
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp - 0x20]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4159c5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.libGLES_CM_translator.dll
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00404d40
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp - 0x20]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4159fc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.libGLES_V2_translator.dll
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00404d40
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp - 0x20]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x415a33
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.libOpenglRender.dll
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00404d40
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp - 0x20]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x415a6a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x415a88
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x415aa3
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x415abe
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x415add
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.004068b0
push 0x80004005
call fcn.004068b0
push 0x80004005
call fcn.004068b0
push 0x80004005
call fcn.004068b0
int3