Function at 0x50f00c
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 8], edx
mov esi, eax
xor eax, eax
push ebp
push 0x50f2c6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi + 0x320]
mov eax, dword [eax + 0x22c]
call fcn.00450d2c
xor edx, edx
mov eax, dword [esi + 0x330]
call fcn.004de22c
mov eax, dword [0x53a898]
mov eax, dword [eax]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x22c]
call fcn.00450c38
mov edx, eax
dec edx
mov eax, dword [esi + 0x330]
call fcn.004de1ec
mov eax, dword [0x53a898]
mov eax, dword [eax]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x22c]
call fcn.00450c38
dec eax
test eax, eax
jl 0x50f29b
inc eax
mov dword [ebp - 0xc], eax
xor ebx, ebx
mov eax, dword [0x53a898]
mov eax, dword [eax]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.00450c68
call fcn.004505d0
test al, al
je 0x50f284
mov eax, dword [esi + 0x320]
mov eax, dword [eax + 0x22c]
call fcn.00450bdc
mov dword [ebp - 4], eax
mov eax, dword [0x53a898]
mov eax, dword [eax]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.00450c68
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x30]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.0045067c
mov eax, dword [0x53a898]
mov eax, dword [eax]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.00450c68
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x34]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 8]
call fcn.004089c4
mov eax, dword [esi + 0x32c]
cmp byte [eax + 0x210], 0
je 0x50f188
mov eax, dword [ebp - 8]
call fcn.004093c4
test al, al
je 0x50f173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, 0x50f2dc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x50f284
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, 0x50f2f4
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x50f284
mov eax, dword [esi + 0x328]
cmp byte [eax + 0x210], 0
je 0x50f200
xor eax, eax
mov dword [ebp - 0x2a], eax
mov dword [ebp - 0x26], 3
lea eax, [ebp - 0x38]
mov ecx, 0x50f30c
mov edx, dword [ebp - 8]
call fcn.00404584
mov eax, dword [ebp - 0x38]
call fcn.00404738
mov dword [ebp - 0x22], eax
xor eax, eax
mov dword [ebp - 0x1e], eax
mov word [ebp - 0x1a], 0x450
lea eax, [ebp - 0x2a]
push eax
call sub.shell32.dll_SHFileOperationA
test eax, eax
jne 0x50f1eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, 0x50f2dc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x50f284
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, 0x50f2f4
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x50f284
mov eax, dword [esi + 0x324]
cmp byte [eax + 0x210], 0
je 0x50f284
xor eax, eax
mov dword [ebp - 0x2a], eax
mov dword [ebp - 0x26], 1
lea eax, [ebp - 0x3c]
mov ecx, 0x50f30c
mov edx, dword [ebp - 8]
call fcn.00404584
mov eax, dword [ebp - 0x3c]
call fcn.00404738
mov dword [ebp - 0x22], eax
lea edx, [ebp - 0x40]
mov eax, dword [esi + 0x2fc]
call fcn.00470794
mov eax, dword [ebp - 0x40]
call fcn.00404738
mov dword [ebp - 0x1e], eax
mov word [ebp - 0x1a], 0x450
lea eax, [ebp - 0x2a]
push eax
call sub.shell32.dll_SHFileOperationA
test eax, eax
jne 0x50f274
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, 0x50f318
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x50f284
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, 0x50f32c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, ebx
mov eax, dword [esi + 0x330]
call fcn.004de22c
inc ebx
dec dword [ebp - 0xc]
jne 0x50f0a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50f2cd
lea eax, [ebp - 0x40]
call fcn.00404278
lea eax, [ebp - 0x3c]
mov edx, 4
call fcn.0040429c
lea eax, [ebp - 8]
call fcn.00404278
ret