Function at 0x527130
Capabilities:
Delete file

Disassembly:
mov eax, dword [esp + 4]
test eax, eax
push ebp
push esi
push edi
js 0x52734a
mov ecx, eax
and ecx, 0x78000000
cmp ecx, 0x18000000
jne 0x52734a
mov ebp, eax
and ebp, 0xffff
cmp ebp, 0x64
jge 0x52734a
mov esi, dword [ebp*4 + 0x926d4c]
xor edi, edi
cmp esi, edi
je 0x52734a
mov edx, dword [esi]
shl edx, 0x10
and eax, 0x7ff0000
cmp edx, eax
jne 0x52734a
cmp dword [esi + 8], edi
je 0x5271be
mov eax, dword [esi + 0x18]
cmp eax, edi
je 0x52719f
push eax
call fcn.004de6a0
add esp, 4
mov dword [esi + 0x18], edi
mov eax, dword [esi + 0xc]
push eax
call fcn.0052fd60
mov ecx, dword [esi + 0x1c]
push edi
push ecx
call fcn.005171f0
add esp, 0xc
mov dword [esi + 0xc], edi
mov dword [esi + 0x1c], edi
mov dword [esi + 8], edi
push ebx
mov ebx, 1
cmp dword [esi + 0x90], ebx
jne 0x5271df
lea edx, [esi + 0x94]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [esi + 0x90], edi
cmp dword [esi + 0x2d8], ebx
jne 0x52720b
mov eax, dword [esi + 0x34]
mov ebx, dword [eax]
push edi
push 0x200
push edi
call fcn.004ebdf0
mov ecx, dword [esi + 0x34]
mov edx, dword [ebx + 0x84]
push eax
push edi
push ecx
call edx
mov ebx, 1
mov eax, dword [esi + 0x718]
cmp eax, edi
je 0x52722c
cmp dword [esi + 0x720], edi
jne 0x527226
push eax
call fcn.004e0760
add esp, 4
mov dword [esi + 0x718], edi
mov eax, dword [esi + 0x38]
cmp eax, edi
je 0x52723e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x38], edi
mov eax, dword [esi + 0x34]
cmp eax, edi
je 0x527250
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x34], edi
mov eax, dword [esi + 0x30]
cmp eax, edi
je 0x527262
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x30], edi
mov eax, dword [esi + 0x3c]
cmp eax, edi
je 0x527274
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x3c], edi
mov eax, dword [esi + 0x2dc]
cmp eax, edi
je 0x52728b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x2dc], edi
mov eax, dword [esi + 0x50]
cmp eax, edi
je 0x52729d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x50], edi
mov eax, dword [esi + 0x4c]
cmp eax, edi
je 0x5272af
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x4c], edi
mov eax, dword [esi + 0x48]
cmp eax, edi
je 0x5272c1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x48], edi
mov eax, dword [esi + 0x44]
cmp eax, edi
je 0x5272d3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x44], edi
mov eax, dword [esi + 0x60]
cmp eax, edi
je 0x5272e5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x60], edi
mov eax, dword [esi + 0x5c]
cmp eax, edi
je 0x5272f7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x5c], edi
mov eax, dword [esi + 0x58]
cmp eax, edi
je 0x527309
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x58], edi
mov eax, dword [esi + 0x54]
cmp eax, edi
je 0x52731b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x54], edi
mov eax, dword [esi + 0x40]
cmp eax, edi
je 0x52732d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x40], edi
push esi
call fcn.004e0760
add esp, 4
mov dword [ebp*4 + 0x926d4c], edi
sub dword [0x926edc], ebx
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebp
ret