Function at 0x418d90
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 8], edx
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
push dword [edi]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call ebx
test eax, eax
jne 0x41913a
mov ecx, edi
call fcn.00418ae0
test al, al
jne 0x418dcc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi]
call ebx
test eax, eax
jne 0x41913a
push ecx
mov esi, esp
push 0x22
push edi
lea eax, [ebp - 0xc]
push str.takeown__f__
push eax
call fcn.0040deb0
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0040df30
add esp, 4
lea ecx, [ebp - 4]
call fcn.00417500
mov edx, dword [ebp - 4]
add edx, 0xfffffff0
add esp, 4
lea ecx, [edx + 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x418e23
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418e40
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov esi, esp
push str.___e__g_everyone:f
push edi
lea eax, [ebp - 4]
push str.cacls__
push eax
call fcn.0040deb0
add esp, 0xc
push eax
push esi
call fcn.0040de20
add esp, 0xc
lea ecx, [ebp - 0xc]
call fcn.00417500
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418e8c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 4]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418ea9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [edi]
call ebx
test eax, eax
jne 0x41913a
push ecx
mov esi, esp
push 0x22
push dword [ebp - 8]
lea eax, [ebp - 4]
push str.takeown__f__
push eax
call fcn.0040deb0
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0040df30
add esp, 4
lea ecx, [ebp - 0xc]
call fcn.00417500
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418f02
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 4]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418f1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov esi, esp
push str.___e__g_everyone:f
push dword [ebp - 8]
lea eax, [ebp - 8]
push str.cacls__
push eax
call fcn.0040deb0
add esp, 0xc
push eax
push esi
call fcn.0040de20
add esp, 0xc
lea ecx, [ebp - 0xc]
call fcn.00417500
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418f6d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 8]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418f8a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [edi]
call ebx
test eax, eax
jne 0x41913a
mov eax, dword [edi]
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.00416ec0
add eax, 0x10
add esp, 4
lea ecx, [ebp - 8]
mov dword [esi], eax
call fcn.00418870
mov esi, esp
push 0x22
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push str.takeown__f__
push eax
call fcn.0040deb0
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0040df30
add esp, 4
lea ecx, [ebp - 0xc]
call fcn.00417500
add esp, 4
lea ecx, [ebp - 0xc]
call fcn.00416fa0
lea ecx, [ebp - 4]
call fcn.00416fa0
push ecx
mov esi, esp
push str.___e__g_everyone:f
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push str.cacls__
push eax
call fcn.0040deb0
add esp, 0xc
push eax
push esi
call fcn.0040de20
add esp, 0xc
lea ecx, [ebp - 0xc]
call fcn.00417500
add esp, 4
lea ecx, [ebp - 0xc]
call fcn.00416fa0
lea ecx, [ebp - 4]
call fcn.00416fa0
push dword [edi]
call ebx
test eax, eax
jne 0x419132
lea ecx, [ebp - 4]
call fcn.00417040
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jl 0x419143
movzx eax, word [eax]
push eax
lea ecx, [ebp - 4]
call fcn.0040da40
push 0
call fcn.0043e66e
add esp, 4
push eax
call fcn.0044648a
add esp, 4
lea eax, [ebp - 4]
push str.:_temp147_x
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.0040de20
mov esi, dword [eax]
add esp, 0xc
call fcn.00446467
push eax
lea eax, [ebp - 4]
push esi
push eax
call fcn.00416560
add esp, 0xc
lea ecx, [ebp - 0xc]
call fcn.00416fa0
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor ebx, ebx
push ebx
push dword [ebp - 4]
push dword [edi]
call esi
test eax, eax
jne 0x41912a
jmp 0x4190c0
cmp ebx, 4
je 0x419122
push 0x47c9a0
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
inc ebx
call fcn.0040de20
mov esi, dword [eax]
add esp, 0xc
call fcn.00446467
push eax
lea eax, [ebp - 4]
push esi
push eax
call fcn.00416560
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff0
add esp, 0xc
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41910d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0
push dword [ebp - 4]
push dword [edi]
call esi
test eax, eax
je 0x4190c0
jmp 0x41912a
push 4
push 0
push dword [edi]
call esi
lea ecx, [ebp - 4]
call fcn.00416fa0
lea ecx, [ebp - 8]
call fcn.00416fa0
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.00416fc0
int3