Function at 0x40a8c0
Capabilities:
Delete file

Disassembly:
mov eax, dword [0x460004]
sub esp, 8
cmp eax, 0xffffffff
jle 0x40a8e0
push eax
call fcn.0040a380
add esp, 4
mov dword [0x460004], 0xffffffff
push ebx
push ebp
push esi
push edi
call fcn.00405f00
mov eax, dword [0x464bfc]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
xor esi, esi
cmp eax, esi
je 0x40a919
push eax
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push eax
call ebp
mov eax, dword [0x464bfc]
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
push eax
call ebx
jmp 0x40a925
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [0x464adc]
cmp eax, esi
je 0x40a940
push eax
call edi
push eax
call ebp
mov ecx, dword [0x464adc]
push ecx
call edi
push eax
call ebx
mov eax, dword [0x464ae8]
cmp eax, esi
je 0x40a95b
push eax
call edi
push eax
call ebp
mov edx, dword [0x464ae8]
push edx
call edi
push eax
call ebx
mov eax, dword [0x464bf0]
cmp eax, esi
je 0x40a975
push eax
call edi
push eax
call ebp
mov eax, dword [0x464bf0]
push eax
call edi
push eax
call ebx
cmp byte [0x464c04], 0
je 0x40a989
push 0x464c04
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [0x464c00], esi
je 0x40ab52
cmp dword [0x464ad8], esi
mov dword [esp + 0x10], esi
jle 0x40ab3b
mov dword [esp + 0x14], esi
lea esp, [esp]
mov ecx, dword [esp + 0x14]
mov edx, dword [0x464c00]
mov eax, dword [ecx + edx + 0x9e0]
test eax, eax
lea esi, [ecx + edx]
je 0x40a9da
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 0x40a9eb
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x9e4]
test eax, eax
je 0x40a9fc
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0xa10]
test eax, eax
je 0x40aa44
mov eax, dword [eax + 0x24]
test eax, eax
je 0x40aa22
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 0x40aa44
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 0x40aa5a
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor ebx, ebx
cmp dword [esi + 0x590], ebx
jle 0x40aa99
xor ebp, ebp
jmp 0x40aa70
mov eax, dword [esi + 0x594]
mov ecx, dword [eax + ebp + 8]
push ecx
push 0
call fcn.00422330
add ebx, 1
add esp, 8
add ebp, 0xc
cmp ebx, dword [esi + 0x590]
jl 0x40aa70
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [esi + 0x594]
test eax, eax
je 0x40aab9
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 0x40aace
push eax
push 0
call fcn.00422330
add esp, 8
mov eax, dword [esi + 0x910]
test eax, eax
je 0x40aaee
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 0x40ab04
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [esi], 0x27
jne 0x40ab16
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00425260
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 [0x464ad8]
mov dword [esp + 0x10], eax
jl 0x40a9b0
mov edx, dword [0x464c00]
push edx
call edi
push eax
call ebp
mov eax, dword [0x464c00]
push eax
call edi
push eax
call ebx
push 0x240
push 0
push 0x464ad8
call fcn.0043ae80
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret