Function at 0x45cff0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x334
mov eax, dword [0x4d3100]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x4e4e18], 1
push ebx
push esi
push edi
mov esi, ecx
jne 0x45d024
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493955
mov esp, ebp
pop ebp
ret
xor ebx, ebx
lea eax, [ebp - 0x318]
push ebx
push eax
push ebx
push ebx
push esi
mov edi, 1
call fcn.00494895
add esp, 0x14
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x218]
push str._s.mjo
push eax
call fcn.00493964
add esp, 0xc
lea edx, [ebp - 0x218]
mov ecx, edx
call fcn.00482070
test eax, eax
jne 0x45d21d
mov edi, edi
lea eax, [ebp - 0x318]
mov ebx, 1
push eax
lea eax, [ebp - 0x110]
push str._s.txt
push eax
call fcn.00493964
add esp, 0xc
lea edx, [ebp - 0x110]
mov ecx, edx
call fcn.00482070
test eax, eax
jne 0x45d348
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x110]
push str._s.mjs
push eax
call fcn.00493964
add esp, 0xc
lea edx, [ebp - 0x110]
mov ecx, edx
call fcn.00482070
test eax, eax
jne 0x45d348
lea eax, [ebp - 0x318]
push eax
push str.LoadObject_:
call fcn.00439f00
xor edx, edx
mov ecx, str.scenario9
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario8
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario7
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario6
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario5
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario4
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario3
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario2
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario1
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario
call fcn.00480f10
xor edx, edx
mov ecx, str.update9
call fcn.00480f10
xor edx, edx
mov ecx, str.update8
call fcn.00480f10
xor edx, edx
mov ecx, str.update7
call fcn.00480f10
xor edx, edx
mov ecx, str.update6
call fcn.00480f10
xor edx, edx
mov ecx, str.update5
call fcn.00480f10
xor edx, edx
mov ecx, str.update4
call fcn.00480f10
xor edx, edx
mov ecx, str.update3
call fcn.00480f10
xor edx, edx
mov ecx, str.update2
call fcn.00480f10
xor edx, edx
mov ecx, str.update1
call fcn.00480f10
xor edx, edx
mov ecx, str.update
call fcn.00480f10
mov edi, ebx
lea eax, [ebp - 0x318]
xor ebx, ebx
push ebx
push eax
push ebx
push ebx
push esi
call fcn.00494895
add esp, 0x1c
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x218]
push str._s.mjo
push eax
call fcn.00493964
add esp, 0xc
lea edx, [ebp - 0x218]
mov ecx, edx
call fcn.00482070
test eax, eax
je 0x45d070
push 0x4c3dbc
lea edx, [ebp - 0x218]
lea ecx, [ebp - 0x110]
call fcn.0045cb50
add esp, 4
lea eax, [ebp - 0x110]
push 0x4c3d40
push eax
call fcn.00494396
add esp, 8
test eax, eax
jne 0x45d266
push 0x4c7738
lea edx, [ebp - 0x218]
lea ecx, [ebp - 0x110]
call fcn.0045cb50
jmp 0x45d26c
push eax
call fcn.00494b54
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileA]
lea eax, [ebp - 0x110]
add esp, 4
push 0
push 0x80
push 3
push 0
push 0
push 0
push eax
call esi
mov dword [ebp - 0x324], eax
cmp eax, 0xffffffff
je 0x45d348
push 0
push 0x80
push 3
push 0
push 0
push 0
lea eax, [ebp - 0x218]
push eax
call esi
mov esi, eax
mov dword [ebp - 0x328], esi
cmp esi, 0xffffffff
je 0x45d328
mov esi, dword [sym.imp.KERNEL32.dll_GetFileTime]
lea eax, [ebp - 0x330]
push eax
push 0
push 0
push dword [ebp - 0x324]
call esi
lea eax, [ebp - 0x320]
push eax
push 0
push 0
push dword [ebp - 0x328]
call esi
mov eax, dword [ebp - 0x320]
add eax, 0x28
mov dword [ebp - 0x320], eax
cmp eax, 0x28
jae 0x45d307
inc dword [ebp - 0x31c]
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x320]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov esi, dword [ebp - 0x328]
xor ecx, ecx
test eax, eax
cmovns edi, ecx
push dword [ebp - 0x324]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, 0xffffffff
je 0x45d340
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x45d458
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x110]
call fcn.0045b930
test ebx, ebx
je 0x45d458
xor edx, edx
mov ecx, str.scenario9
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario8
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario7
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario6
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario5
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario4
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario3
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario2
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario1
call fcn.00480f10
xor edx, edx
mov ecx, str.scenario
call fcn.00480f10
xor edx, edx
mov ecx, str.update9
call fcn.00480f10
xor edx, edx
mov ecx, str.update8
call fcn.00480f10
xor edx, edx
mov ecx, str.update7
call fcn.00480f10
xor edx, edx
mov ecx, str.update6
call fcn.00480f10
xor edx, edx
mov ecx, str.update5
call fcn.00480f10
xor edx, edx
mov ecx, str.update4
call fcn.00480f10
xor edx, edx
mov ecx, str.update3
call fcn.00480f10
xor edx, edx
mov ecx, str.update2
call fcn.00480f10
xor edx, edx
mov ecx, str.update1
call fcn.00480f10
xor edx, edx
mov ecx, str.update
call fcn.00480f10
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00493955
mov esp, ebp
pop ebp
ret