Function at 0x40ab70
Capabilities:
Delete file

Disassembly:
mov eax, dword [0x460004]
sub esp, 8
cmp eax, 0xffffffff
jle 0x40ab90
push eax
call fcn.0040a630
add esp, 4
mov dword [0x460004], 0xffffffff
push ebx
push ebp
push esi
push edi
call fcn.004061b0
mov eax, dword [0x464bbc]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
xor esi, esi
cmp eax, esi
je 0x40abc9
push eax
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push eax
call ebp
mov eax, dword [0x464bbc]
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
push eax
call ebx
jmp 0x40abd5
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [0x464a9c]
cmp eax, esi
je 0x40abf0
push eax
call edi
push eax
call ebp
mov ecx, dword [0x464a9c]
push ecx
call edi
push eax
call ebx
mov eax, dword [0x464aa8]
cmp eax, esi
je 0x40ac0b
push eax
call edi
push eax
call ebp
mov edx, dword [0x464aa8]
push edx
call edi
push eax
call ebx
mov eax, dword [0x464bb0]
cmp eax, esi
je 0x40ac25
push eax
call edi
push eax
call ebp
mov eax, dword [0x464bb0]
push eax
call edi
push eax
call ebx
cmp byte [0x464bc4], 0
je 0x40ac39
push 0x464bc4
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [0x464bc0], esi
je 0x40ae02
cmp dword [0x464a98], esi
mov dword [esp + 0x10], esi
jle 0x40adeb
mov dword [esp + 0x14], esi
lea esp, [esp]
mov ecx, dword [esp + 0x14]
mov edx, dword [0x464bc0]
mov eax, dword [ecx + edx + 0x9e0]
test eax, eax
lea esi, [ecx + edx]
je 0x40ac8a
push eax
call edi
push eax
call ebp
mov eax, dword [esi + 0x9e0]
push eax
call edi
push eax
call ebx
mov eax, dword [esi + 0x9e8]
test eax, eax
je 0x40ac9b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x9e4]
test eax, eax
je 0x40acac
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0xa10]
test eax, eax
je 0x40acf4
mov eax, dword [eax + 0x24]
test eax, eax
je 0x40acd2
push eax
call edi
push eax
call ebp
mov ecx, dword [esi + 0xa10]
mov edx, dword [ecx + 0x24]
push edx
call edi
push eax
call ebx
mov eax, dword [esi + 0xa10]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x40acf4
push eax
call edi
push eax
call ebp
mov ecx, dword [esi + 0xa10]
mov edx, dword [ecx + 0x2c]
push edx
call edi
push eax
call ebx
cmp byte [esi + 0xefc], 0
lea eax, [esi + 0xefc]
je 0x40ad0a
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor ebx, ebx
cmp dword [esi + 0x590], ebx
jle 0x40ad49
xor ebp, ebp
jmp 0x40ad20
mov eax, dword [esi + 0x594]
mov ecx, dword [eax + ebp + 8]
push ecx
push 0
call fcn.00422560
add ebx, 1
add esp, 8
add ebp, 0xc
cmp ebx, dword [esi + 0x590]
jl 0x40ad20
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [esi + 0x594]
test eax, eax
je 0x40ad69
push eax
call edi
push eax
call ebp
mov edx, dword [esi + 0x594]
push edx
call edi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [esi + 0x5a4]
test eax, eax
je 0x40ad7e
push eax
push 0
call fcn.00422560
add esp, 8
mov eax, dword [esi + 0x910]
test eax, eax
je 0x40ad9e
push eax
call edi
push eax
call ebp
mov eax, dword [esi + 0x910]
push eax
call edi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp byte [esi + 0x6ac], 0
lea eax, [esi + 0x6ac]
je 0x40adb4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [esi], 0x27
jne 0x40adc6
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004254c0
add esp, 4
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], 0x1008
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
add eax, 1
cmp eax, dword [0x464a98]
mov dword [esp + 0x10], eax
jl 0x40ac60
mov edx, dword [0x464bc0]
push edx
call edi
push eax
call ebp
mov eax, dword [0x464bc0]
push eax
call edi
push eax
call ebx
push 0x240
push 0
push 0x464a98
call fcn.0043b0e0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret