Function at 0x4072f0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x57c
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004064f0
call fcn.00406930
call fcn.0047f690
cmp eax, 1
je 0x407e98
mov eax, dword [0x656460]
mov dword [esp], eax
call fcn.0047e4e0
mov dword [esp], 1
call fcn.0047e650
mov dword [esp], 0x47ef50
call fcn.004032c0
call fcn.00406c20
call fcn.00406e30
mov dword [esp], 0x130
call sub.msvcrt.dll_malloc
test eax, eax
je 0x407fc3
mov ebx, eax
and ebx, 0xfffffff0
mov dword [ebx + 0xc], eax
add ebx, 0x10
mov ecx, ebx
call fcn.0040d4c0
mov eax, dword [0x656460]
mov ecx, ebx
mov dword [0x65645c], ebx
mov dword [esp], eax
call fcn.0040e3e0
mov ecx, dword [0x65645c]
sub esp, 4
call fcn.0040d6d0
mov eax, dword [0x656460]
mov dword [esp + 4], 0x405ba0
mov dword [esp], eax
call fcn.00480e10
mov eax, dword [0x656460]
mov dword [esp + 4], 0x405b70
mov dword [esp], eax
call fcn.00480dd0
mov eax, dword [0x656460]
mov dword [esp + 4], 0x405b30
mov dword [esp], eax
call fcn.00480d10
mov eax, dword [0x656460]
mov dword [esp + 4], 0x405b10
mov dword [esp], eax
call fcn.00480d50
mov dword [esp], 0xc0
call sub.msvcrt.dll_malloc
test eax, eax
je 0x56ed40
mov ebx, eax
and ebx, 0xfffffff0
mov dword [ebx + 0xc], eax
mov eax, dword [0x656454]
add ebx, 0x10
mov ecx, ebx
mov dword [esp + 4], eax
mov eax, dword [0x65645c]
mov dword [esp], eax
call fcn.00401850
mov eax, dword [0x65645c]
sub esp, 8
lea esi, [ebp - 0x428]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], eax
lea ebx, [ebp - 0x220]
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call fcn.004022f0
mov eax, dword [0x656434]
mov dword [esp], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], str._lsGames_ls
mov dword [esp + 4], 0x104
call fcn.00405ef0
test eax, eax
js 0x407f80
mov dword [esp], 0x34
call fcn.0056dda0
mov dword [esp + 8], esi
mov ebx, eax
mov eax, dword [0x65641c]
mov ecx, ebx
mov dword [esp + 4], eax
mov eax, dword [0x65645c]
mov dword [esp], eax
call fcn.0042af10
mov edi, dword [ebx + 0x2c]
sub esp, 0xc
mov dword [0x656458], ebx
lea esi, [ebp - 0x53c]
lea ebx, [ebp - 0x54c]
mov dword [esp], esi
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [ebp - 0x54c], 0x405ae0
mov dword [ebp - 0x540], 0x537780
mov dword [ebp - 0x544], fcn.00537730
mov dword [ebp - 0x534], 0
call fcn.00537730
mov eax, dword [ebp - 0x540]
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x564], edx
mov edx, dword [edi + 0x80]
mov dword [ebp - 0x568], eax
mov eax, dword [edi + 0x7c]
mov dword [ebp - 0x538], edx
mov edx, dword [ebp - 0x564]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x568]
mov dword [edi + 0x80], edx
mov edx, dword [edi + 0x88]
mov dword [edi + 0x7c], eax
mov eax, dword [edi + 0x84]
mov dword [ebp - 0x534], eax
mov dword [edi + 0x84], ecx
mov dword [ebp - 0x530], edx
mov edx, dword [ebp - 0x55c]
mov dword [edi + 0x88], edx
test eax, eax
je 0x407591
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], esi
call eax
mov ecx, dword [ebp - 0x544]
test ecx, ecx
je 0x4075a6
mov dword [esp + 8], 3
mov dword [esp + 4], ebx
mov dword [esp], ebx
call ecx
mov eax, dword [0x656458]
mov edi, dword [eax + 0xc]
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [ebp - 0x54c], 0x405e10
mov dword [ebp - 0x540], 0x5377e0
mov dword [ebp - 0x544], fcn.00537790
mov dword [ebp - 0x534], 0
call fcn.00537790
mov eax, dword [ebp - 0x540]
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x564], edx
mov edx, dword [edi + 0xc4]
mov dword [ebp - 0x568], eax
mov eax, dword [edi + 0xc0]
mov dword [ebp - 0x538], edx
mov edx, dword [ebp - 0x564]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x568]
mov dword [edi + 0xc4], edx
mov edx, dword [edi + 0xcc]
mov dword [edi + 0xc0], eax
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x534], eax
mov dword [edi + 0xc8], ecx
mov dword [ebp - 0x530], edx
mov edx, dword [ebp - 0x55c]
mov dword [edi + 0xcc], edx
test eax, eax
je 0x407689
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], esi
call eax
mov ecx, dword [ebp - 0x544]
test ecx, ecx
je 0x40769e
mov dword [esp + 8], 3
mov dword [esp + 4], ebx
mov dword [esp], ebx
call ecx
mov eax, dword [0x656458]
mov edi, dword [eax + 8]
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [ebp - 0x54c], 0x405d80
mov dword [ebp - 0x540], 0x5377e0
mov dword [ebp - 0x544], fcn.00537790
mov dword [ebp - 0x534], 0
call fcn.00537790
mov eax, dword [ebp - 0x540]
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x564], edx
mov edx, dword [edi + 0xc4]
mov dword [ebp - 0x568], eax
mov eax, dword [edi + 0xc0]
mov dword [ebp - 0x538], edx
mov edx, dword [ebp - 0x564]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x568]
mov dword [edi + 0xc4], edx
mov edx, dword [edi + 0xcc]
mov dword [edi + 0xc0], eax
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x534], eax
mov dword [edi + 0xc8], ecx
mov dword [ebp - 0x530], edx
mov edx, dword [ebp - 0x55c]
mov dword [edi + 0xcc], edx
test eax, eax
je 0x407781
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], esi
call eax
mov ecx, dword [ebp - 0x544]
test ecx, ecx
je 0x407796
mov dword [esp + 8], 3
mov dword [esp + 4], ebx
mov dword [esp], ebx
call ecx
mov eax, dword [0x656458]
mov edi, dword [eax + 0x10]
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [ebp - 0x54c], 0x4060a0
mov dword [ebp - 0x540], 0x5377e0
mov dword [ebp - 0x544], fcn.00537790
mov dword [ebp - 0x534], 0
call fcn.00537790
mov eax, dword [ebp - 0x540]
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x564], edx
mov edx, dword [edi + 0xc4]
mov dword [ebp - 0x568], eax
mov eax, dword [edi + 0xc0]
mov dword [ebp - 0x538], edx
mov edx, dword [ebp - 0x564]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x568]
mov dword [edi + 0xc4], edx
mov edx, dword [edi + 0xcc]
mov dword [edi + 0xc0], eax
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x534], eax
mov dword [edi + 0xc8], ecx
mov dword [ebp - 0x530], edx
mov edx, dword [ebp - 0x55c]
mov dword [edi + 0xcc], edx
test eax, eax
je 0x407879
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], esi
call eax
mov ecx, dword [ebp - 0x544]
test ecx, ecx
je 0x40788e
mov dword [esp + 8], 3
mov dword [esp + 4], ebx
mov dword [esp], ebx
call ecx
mov eax, dword [0x656458]
mov edi, dword [eax + 0x14]
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [ebp - 0x54c], 0x405bd0
mov dword [ebp - 0x540], 0x5377e0
mov dword [ebp - 0x544], fcn.00537790
mov dword [ebp - 0x534], 0
call fcn.00537790
mov eax, dword [ebp - 0x540]
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x564], edx
mov edx, dword [edi + 0xc4]
mov dword [ebp - 0x568], eax
mov eax, dword [edi + 0xc0]
mov dword [ebp - 0x538], edx
mov edx, dword [ebp - 0x564]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x568]
mov dword [edi + 0xc4], edx
mov edx, dword [edi + 0xcc]
mov dword [edi + 0xc0], eax
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x534], eax
mov dword [edi + 0xc8], ecx
mov dword [ebp - 0x530], edx
mov edx, dword [ebp - 0x55c]
mov dword [edi + 0xcc], edx
test eax, eax
je 0x407971
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], esi
call eax
mov ecx, dword [ebp - 0x544]
test ecx, ecx
je 0x407986
mov dword [esp + 8], 3
mov dword [esp + 4], ebx
mov dword [esp], ebx
call ecx
mov eax, dword [0x656458]
mov edi, dword [eax + 0x18]
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [ebp - 0x54c], 0x405de0
mov dword [ebp - 0x540], 0x5377e0
mov dword [ebp - 0x544], fcn.00537790
mov dword [ebp - 0x534], 0
call fcn.00537790
mov eax, dword [ebp - 0x540]
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x564], edx
mov edx, dword [edi + 0xc4]
mov dword [ebp - 0x568], eax
mov eax, dword [edi + 0xc0]
mov dword [ebp - 0x538], edx
mov edx, dword [ebp - 0x564]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x568]
mov dword [edi + 0xc4], edx
mov edx, dword [edi + 0xcc]
mov dword [edi + 0xc0], eax
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x534], eax
mov dword [edi + 0xc8], ecx
mov dword [ebp - 0x530], edx
mov edx, dword [ebp - 0x55c]
mov dword [edi + 0xcc], edx
test eax, eax
je 0x407a69
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], esi
call eax
mov ecx, dword [ebp - 0x544]
test ecx, ecx
je 0x407a7e
mov dword [esp + 8], 3
mov dword [esp + 4], ebx
mov dword [esp], ebx
call ecx
mov ebx, dword [0x65645c]
mov eax, dword [ebx + 0x7c]
mov ecx, ebx
mov dword [esp], eax
call fcn.004134f0
mov eax, dword [ebx + 0x7c]
mov ecx, ebx
sub esp, 4
mov dword [esp], eax
call fcn.00413150
sub esp, 4
mov dword [esp + 4], 0x406340
mov dword [esp], 0x655ba0
call fcn.00405100
mov dword [esp + 4], 0x405fd0
mov dword [esp], 0x655b88
call fcn.00426aa0
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [esp + 8], 0
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0047ccba
sub esp, 0xc
mov dword [esp + 4], 1
mov dword [esp], 0x24
call fcn.0047c410
sub esp, 8
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xac44
mov dword [esp], 0xffffffff
call fcn.0047720d
sub esp, 0x14
cmp byte [0x6563f4], 0
je 0x407e48
mov eax, dword [0x6563f8]
mov dword [esp + 0x18], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov eax, dword [0x6563fc]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], 1
call fcn.00471c71
mov dword [0x6561c8], eax
sub esp, 0x1c
mov dword [esp + 8], 0x3f000000
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.00474630
mov eax, dword [0x6561c8]
sub esp, 0xc
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004730a8
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
sub esp, 8
jmp 0x407c74
mov dword [esp], 0x4100
call dword [0x65588c]
mov eax, dword [0x6563e8]
sub esp, 4
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call esi
mov edi, dword [0x656458]
sub esp, 8
mov dword [esp], 0x655ba0
call fcn.00405a40
mov eax, dword [edi + 0x28]
mov ecx, dword [0x65645c]
fstp dword [eax + 0x78]
call fcn.0040d730
mov eax, dword [0x6563e8]
mov dword [esp], eax
call ebx
sub esp, 4
mov dword [esp], 0xbe2
call dword [0x655790]
sub esp, 4
mov dword [esp + 4], 0x303
mov dword [esp], 0x302
call dword [0x6558b0]
sub esp, 8
call fcn.00407010
mov dword [esp], 0xbe2
call dword [0x6557d4]
mov eax, dword [0x656460]
sub esp, 4
mov dword [esp], eax
call fcn.0047e5e0
call fcn.00486fe0
mov eax, dword [0x656460]
mov dword [esp], eax
call fcn.00486170
test eax, eax
je 0x407bd0
call fcn.0047718a
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0047ccba
sub esp, 0xc
mov dword [esp], 0x655ba0
call fcn.00405150
mov dword [esp], 0x655b88
call fcn.00426ac0
mov eax, dword [0x656458]
test eax, eax
je 0x407cdd
mov dword [esp + 4], 0x34
mov dword [esp], eax
call fcn.0056dd60
mov ecx, dword [0x65645c]
test ecx, ecx
je 0x407cec
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x656448]
mov dword [esp], eax
call fcn.00426fe0
mov eax, dword [0x656454]
mov dword [esp], eax
call fcn.00426fe0
mov dword [esp + 4], 0x65644c
mov dword [esp], 1
call dword [0x655810]
sub esp, 8
mov dword [esp + 4], 0x656450
mov dword [esp], 1
call dword [0x6557e8]
sub esp, 8
mov dword [esp + 4], 0x65643c
mov dword [esp], 1
call dword [0x6557f0]
sub esp, 8
call fcn.0047f790
mov eax, dword [0x6563e8]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], eax
call ebx
sub esp, 4
mov dword [esp], 0x6561e0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [0x6563ec]
sub esp, 4
mov dword [esp], eax
call ebx
mov eax, dword [0x6563f0]
sub esp, 4
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x6563fc]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x65640c]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656408]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656414]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656418]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x65641c]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656420]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656424]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656428]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x65642c]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656430]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656434]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0x656438]
mov dword [esp], eax
call sub.msvcrt.dll_free
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov eax, dword [0x6563f8]
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], eax
mov eax, dword [0x6563fc]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], 1
call fcn.004729da
mov dword [0x6561c8], eax
sub esp, 0x1c
jmp 0x407b87
mov dword [esp + 4], 0
lea ebx, [ebp - 0x52c]
mov dword [esp], 0x20003
call fcn.00485b50
mov dword [esp + 4], 0
mov dword [esp], 0x20005
call fcn.00485b50
mov dword [esp + 4], 4
mov dword [esp], 0x22002
call fcn.00485b50
mov dword [esp + 4], 0
mov dword [esp], 0x22003
call fcn.00485b50
mov dword [esp + 4], 0x32001
mov dword [esp], 0x22008
call fcn.00485b50
mov eax, dword [0x656438]
mov dword [esp + 8], 0x5a2a4a
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.004bf220
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x1f4
mov dword [esp], 0x2bc
call fcn.00485670
mov dword [0x656460], eax
test eax, eax
je 0x407fb4
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x5a2a4e
mov dword [esp], eax
call dword [sym.imp.USER32.dll_LoadIconW]
sub esp, 8
test eax, eax
je 0x40731a
mov dword [esp], eax
call fcn.00406a60
jmp 0x40731a
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 0x5a26e8
mov dword [esp + 4], str.swprintf_nInvalid_path.
mov dword [esp], 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
sub esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
call fcn.0047f790
call fcn.004071d0
jmp 0x407e39
jmp 0x56ed40
call fcn.004c69f0
mov dword [esp + 4], 0x34
mov dword [esp], ebx
call fcn.0056dd60
mov dword [esp], esi
call fcn.0049fa60
mov eax, dword [ebx - 4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp], esi
call fcn.0049fa60
mov eax, dword [ebx - 4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp], esi
call fcn.0049fa60
nop
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebx + 0xe8]
sub edx, eax
test eax, eax
je 0x56eda2
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0056dd60
lea ecx, [ebx + 0xd0]
call fcn.0052e020
lea ecx, [ebx + 0xc0]
call fcn.0052e020
mov ecx, edi
call fcn.00540fc0
mov ecx, ebx
call fcn.00413380
mov dword [esp], esi
call fcn.0049fa60
mov dword [esp], 1
mov ecx, ebx
call fcn.00413080
push eax
mov dword [esp], esi
call fcn.0049fa60
nop
nop
nop
mov eax, dword [ebx + 0x9c]
test eax, eax
je 0x56ee03
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], esi
call eax
lea ecx, [ebx + 0x78]
call fcn.00540fc0
mov ecx, ebx
call fcn.00413380
mov dword [esp], edi
call fcn.0049fa60
nop
nop
nop
nop
sub esp, 0x1c
mov ecx, 0x656480
call fcn.00563540
mov dword [esp], 0x4094a0
call fcn.004014d0
add esp, 0x1c
ret