Function at 0x40f80b
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push esi
push edi
lea eax, [ebx + 0xc]
call fcn.004070a4
mov eax, dword [ebx]
mov edi, dword [eax + 8]
xor esi, esi
test edi, edi
jle 0x40f85b
push esi
mov eax, ebx
call fcn.0040f590
cmp eax, 2
jne 0x40f856
mov eax, dword [ebx]
lea ecx, [eax + 4]
mov eax, esi
call fcn.00416dd2
lea ecx, [eax + 0x24]
push ecx
push 4
push esi
push dword [eax + 0x20]
add eax, 0xc
push eax
lea eax, [ebx + 0xc]
push eax
call fcn.00407015
inc esi
cmp esi, edi
jl 0x40f826
mov eax, dword [0x4243c4]
mov ecx, 0x4243c4
call dword [eax + 0xc]
mov esi, eax
add esi, 0x10
cmp dword [ebp + 8], 0
mov dword [ebp - 0xc], esi
je 0x40f89a
push 0xc7
lea ecx, [ebp - 8]
call fcn.00404f46
pop ecx
lea edi, [ebp - 0xc]
call fcn.00402d6c
mov eax, dword [ebp - 8]
add eax, 0xfffffff0
call fcn.00402f79
mov esi, dword [ebp - 0xc]
mov eax, dword [ebx + 0x14]
and dword [ebp - 8], 0
test eax, eax
mov dword [ebp - 0x1c], eax
jle 0x40fa8a
mov eax, dword [ebp - 8]
lea ecx, [ebx + 0x10]
call fcn.00410408
mov ecx, dword [ebp + 8]
test ecx, ecx
mov edi, eax
je 0x40f92f
mov eax, dword [ecx]
call dword [eax + 0x14]
test al, al
jne 0x40fa8a
mov eax, dword [0x4243c4]
mov ecx, 0x4243c4
call dword [eax + 0xc]
mov ecx, dword [ebx]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, dword [edi + 0x10]
add ecx, 4
call fcn.00416dd2
mov esi, eax
call fcn.00402b4b
push eax
lea esi, [ebp - 0xc]
call fcn.00402b4b
push eax
lea eax, [ebp - 4]
push eax
call fcn.00402b38
mov eax, dword [ebp + 8]
mov eax, dword [eax]
add esp, 0xc
lea esi, [ebp - 4]
mov dword [ebp - 0x10], eax
call fcn.00402b4b
mov ecx, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x10]
call dword [eax + 0xc]
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.00402f79
mov eax, dword [ebp - 8]
lea esi, [ebx + 0xc]
mov ecx, esi
call fcn.004070b1
mov eax, dword [ebp - 8]
lea ecx, [ebx + 0x10]
call fcn.00410408
cmp dword [eax + 0xc], 0
jne 0x40fa61
mov eax, dword [esi]
sub eax, 0x10
call fcn.00402f91
add eax, 0x10
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
call fcn.00405e30
mov eax, dword [edi + 0x14]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 4]
push eax
call fcn.00402f2b
lea eax, [ebp - 4]
call fcn.00405e30
lea eax, [ebp - 0x14]
push eax
mov eax, edi
call fcn.00407175
mov eax, dword [eax]
pop ecx
push dword [eax - 0xc]
push eax
lea eax, [ebp - 4]
push eax
call fcn.00402f2b
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.00402f79
lea eax, [ebp - 4]
call fcn.00404784
cmp dword [edi + 4], eax
setne al
test al, al
jne 0x40fa02
mov edi, dword [edi + 0x10]
mov ecx, dword [ebx]
add ecx, 4
mov eax, edi
call fcn.00416dd2
add eax, 0x1c
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
je 0x40f9e4
push 0
push eax
lea edx, [ebp - 4]
call fcn.00405102
test al, al
pop ecx
pop ecx
je 0x40fa02
mov eax, dword [ebp - 8]
lea ecx, [ebx + 0x10]
call fcn.00410408
mov ecx, dword [ebx]
mov eax, dword [eax + 0x10]
add ecx, 4
call fcn.00416dd2
mov byte [eax + 0x5c], 1
jmp 0x40fa54
lea esi, [ebp - 4]
call fcn.00402b4b
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 4]
push 0x5c
call fcn.00402e36
test eax, eax
pop ecx
jne 0x40fa25
or edx, 0xffffffff
jmp 0x40fa2a
sub eax, dword [ebp - 4]
mov edx, eax
mov ecx, dword [ebx + 4]
call fcn.0040bd18
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, edx
lea esi, [ebp - 4]
call fcn.00402af0
push eax
call fcn.0040593d
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
add eax, 0xfffffff0
call fcn.00402f79
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.00402f79
jmp 0x40fa78
mov eax, dword [ebp - 8]
push 0
lea ecx, [ebx + 0x10]
call fcn.00410408
push dword [eax + 0x10]
mov ecx, dword [ebx]
call fcn.00416599
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0xc]
jl 0x40f8ac
lea eax, [esi - 0x10]
call fcn.00402f79
pop edi
xor eax, eax
pop esi
leave
ret 4