Function at 0x45af53
Capabilities:
Delete file
Move file

Disassembly:
mov eax, 0x4cddfb
call fcn.004c7e20
sub esp, 0x494
mov eax, dword [0x4ed384]
and dword [ebp - 0x48c], 0
push ebx
push esi
push edi
push 0x4f2c7c
lea edi, [ebp - 0x47c]
mov dword [ebp - 0x10], eax
call fcn.00402f03
and dword [ebp - 4], 0
push 0x4d63f8
mov eax, edi
push eax
call fcn.00402fdb
mov ebx, dword [ebp - 0x47c]
call fcn.0049149c
mov eax, dword [ebp + 8]
mov esi, dword [eax + 4]
and dword [ebp - 0x478], 0
test esi, esi
mov dword [ebp - 0x488], esi
jle 0x45b18d
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp + 8]
call fcn.004553ae
mov ebx, dword [eax]
mov eax, dword [0x4f0980]
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x494], eax
mov byte [ebp - 4], 2
push dword [ebp - 0x478]
lea eax, [ebp - 0x484]
push dword [ebp - 0x47c]
push str._s_03d.ttbl
push eax
call fcn.00405986
add esp, 0x10
push 0x4d72f0
lea eax, [ebp - 0x484]
push eax
lea eax, [ebp - 0x498]
push eax
call fcn.00403120
mov edi, eax
lea eax, [ebp - 0x494]
call fcn.00402f73
mov eax, dword [ebp - 0x498]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b03d
push eax
call fcn.004013aa
mov esi, dword [ebp - 0x494]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push esi
call edi
cmp dword [ebx + 0x2c], 0
jne 0x45b0da
lea eax, [ebp - 0x4a0]
mov ecx, ebx
call fcn.004563da
mov eax, dword [eax]
push dword [ebp - 0x484]
push eax
call dword [sym.imp.MSVCRT.dll_wcscmp]
test eax, eax
mov eax, dword [ebp - 0x4a0]
setne byte [ebp - 0x47d]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
pop ecx
pop ecx
je 0x45b094
push eax
call fcn.004013aa
cmp byte [ebp - 0x47d], 0
je 0x45b143
lea eax, [ebp - 0x49c]
mov ecx, ebx
call fcn.004382aa
mov eax, dword [eax]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov eax, dword [ebp - 0x49c]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b0cf
push eax
call fcn.004013aa
push esi
lea eax, [ebx + 0x14]
call fcn.00402fb6
jmp 0x45b143
push 1
push esi
push ebx
call fcn.00459480
test eax, eax
jne 0x45b143
push esi
call edi
lea eax, [ebp - 0x490]
mov ecx, ebx
call fcn.004563da
mov edi, dword [ebp - 0x490]
cmp dword [edi - 8], 0
je 0x45b132
mov eax, edi
call fcn.00403dd0
test eax, eax
je 0x45b132
push dword [ebp - 0x484]
push edi
call dword [sym.imp.MSVCRT.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
je 0x45b132
push esi
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push esi
lea eax, [ebx + 0x14]
call fcn.00402fb6
lea eax, [edi - 0xc]
cmp eax, dword [0x4f0984]
je 0x45b143
push eax
call fcn.004013aa
add esi, 0xfffffff4
cmp esi, dword [0x4f0984]
je 0x45b154
push esi
call fcn.004013aa
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x484]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b16f
push eax
call fcn.004013aa
inc dword [ebp - 0x478]
mov eax, dword [ebp - 0x478]
cmp eax, dword [ebp - 0x488]
jl 0x45afbc
mov esi, dword [ebp - 0x488]
and dword [ebp - 0x478], 0
test esi, esi
jle 0x45b257
push dword [ebp - 0x478]
mov eax, dword [0x4f0980]
push dword [ebp - 0x47c]
mov dword [ebp + 8], eax
mov dword [ebp - 0x488], eax
lea eax, [ebp + 8]
push str._s_03d.ttbl
push eax
call fcn.00405986
add esp, 0x10
push 0x4d72f0
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x490]
push eax
call fcn.00403120
mov edi, eax
lea eax, [ebp - 0x488]
call fcn.00402f73
mov eax, dword [ebp - 0x490]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b200
push eax
call fcn.004013aa
mov edi, dword [ebp - 0x488]
mov eax, edi
call fcn.00403dd0
test eax, eax
mov ebx, dword [ebp + 8]
je 0x45b223
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea eax, [edi - 0xc]
cmp eax, dword [0x4f0984]
je 0x45b234
push eax
call fcn.004013aa
lea eax, [ebx - 0xc]
cmp eax, dword [0x4f0984]
je 0x45b245
push eax
call fcn.004013aa
inc dword [ebp - 0x478]
cmp dword [ebp - 0x478], esi
jl 0x45b19c
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov word [ebp - 0x224], ax
push 0x4d72e0
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp + 8]
push eax
mov word [ebp - 0x1c], 0x5c
call fcn.00403120
mov eax, dword [eax]
lea ebx, [ebp - 0x474]
call fcn.00407cb1
mov edi, eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b2a4
push eax
call fcn.004013aa
test edi, edi
je 0x45b361
lea ecx, [ebp + 8]
lea eax, [ebp - 0x474]
call fcn.00407bd3
mov eax, dword [eax]
or dword [ebp - 0x48c], 1
lea ecx, [ebp - 0x478]
push ecx
push str._d.ttbl
push eax
call dword [sym.imp.MSVCRT.dll_swscanf]
add esp, 0xc
cmp eax, 1
jne 0x45b2f3
cmp dword [ebp - 0x478], 0
jl 0x45b2f3
cmp dword [ebp - 0x478], esi
jge 0x45b2f3
mov bl, al
jmp 0x45b2f5
xor bl, bl
test byte [ebp - 0x48c], 1
je 0x45b319
mov eax, dword [ebp + 8]
and dword [ebp - 0x48c], 0xfffffffe
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b319
push eax
call fcn.004013aa
test bl, bl
jne 0x45b34e
lea eax, [ebp - 0x490]
push eax
lea eax, [ebp - 0x474]
call fcn.00407c1d
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x490]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b34e
push eax
call fcn.004013aa
lea eax, [ebp - 0x474]
call fcn.00407d67
test eax, eax
jne 0x45b2ac
push str..ttbl.tmp
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00403120
mov eax, dword [eax]
lea ebx, [ebp - 0x474]
call fcn.00407cb1
mov esi, eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b399
push eax
call fcn.004013aa
pop edi
test esi, esi
pop esi
pop ebx
je 0x45b3da
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x474]
call fcn.00407c1d
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp + 8]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b3cb
push eax
call fcn.004013aa
lea eax, [ebp - 0x474]
call fcn.00407d67
test eax, eax
jne 0x45b3a0
lea eax, [ebp - 0x474]
call fcn.00407d90
mov eax, dword [ebp - 0x47c]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45b3fc
push eax
call fcn.004013aa
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.004c7b01
leave
ret 4