Function at 0x480db0
Capabilities:
Delete file

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
mov edi, eax
mov ebp, dword [0x48d524]
mov byte [esp], 0
mov eax, dword [0x48db2c]
cmp byte [eax], 0
je 0x480dd9
mov eax, dword [0x48d3a0]
cmp byte [eax], 0
je 0x4812f5
mov eax, dword [0x48d9c4]
cmp byte [eax], 0
jne 0x4812f5
mov eax, dword [0x48db00]
cmp dword [eax], 0
je 0x480e0f
push 0
push 0xf120
push 0x112
mov eax, dword [0x48db00]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
jmp 0x4812f5
cmp byte [edi + 0x82], 4
jne 0x480e27
mov eax, edi
call fcn.00464bb4
test al, al
je 0x4812f5
cmp byte [edi + 0x55e], 0
je 0x480e82
mov eax, dword [0x48d720]
cmp byte [eax], 0
jne 0x480e82
mov ax, 0x47
call fcn.0040bc04
mov edx, dword [edi + 0x14]
call fcn.0040f5a0
mov eax, dword [0x48da44]
mov edx, 0x12
call fcn.00411d74
mov ebx, eax
cmp bl, 1
jne 0x480e70
mov eax, edi
call fcn.004817d4
test al, al
je 0x4812f5
cmp bl, 3
jne 0x480e82
mov eax, dword [0x48d6c4]
mov byte [eax], 0
jmp 0x4812f5
cmp byte [edi + 0x562], 0
je 0x480ef0
xor esi, esi
inc esi
movsx eax, si
cmp dword [ebp + eax*4 - 4], 0
je 0x480ee6
cmp si, word [edi + 0x534]
je 0x480ee6
mov eax, dword [ebp + eax*4 - 4]
mov al, byte [eax + 0x55d]
cmp al, 0x1a
jle 0x480ee6
movsx eax, al
lea eax, [eax + eax*4]
mov edx, dword [0x48d7fc]
mov al, byte [edx + eax*4 - 0x210]
cmp al, byte [edi + 0x55d]
jne 0x480ee6
push 0
push 0
push 0x10
movsx eax, si
mov eax, dword [ebp + eax*4 - 4]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
dec eax
je 0x4812f5
mov eax, dword [0x48d330]
cmp si, word [eax]
jne 0x480e8d
mov byte [esp], 1
mov byte [edi + 0x566], 1
mov eax, dword [0x48d5c8]
mov byte [eax], 0x13
cmp dword [edi + 0x4c], 0
jne 0x480f2b
cmp byte [edi + 0x556], 0
jne 0x480f2b
cmp byte [edi + 0x554], 0
jne 0x480f2b
cmp byte [edi + 0x558], 0
jne 0x480f2b
mov eax, edi
call fcn.00480d2c
push 0x4000
mov eax, dword [edi + 0x508]
add eax, 0xa
push eax
mov eax, dword [edi + 0x504]
push eax
call sub.kernel32.dll_VirtualFree_1
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x480f78
call sub.kernel32.dll_GetLastError_1
mov edx, dword [0x48d498]
mov dword [edx], eax
mov eax, dword [0x48d498]
mov eax, dword [eax]
call fcn.0040f5f0
mov eax, dword [0x48da44]
mov edx, 1
call fcn.00411d74
cmp dword [edi + 0x1a8], 0
je 0x480f94
mov eax, edi
call fcn.00466fcc
mov eax, dword [edi + 0x1a8]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [edi + 0x1ac]
test eax, eax
je 0x480fa4
push eax
call sub.user32.dll_DestroyWindow
xor ebx, ebx
xor esi, esi
inc esi
movsx eax, si
cmp dword [ebp + eax*4 - 4], 0
je 0x480fd0
cmp si, word [edi + 0x534]
je 0x480fd0
mov eax, dword [ebp + eax*4 - 4]
mov eax, dword [eax + 0x17c]
cmp eax, dword [edi + 0x17c]
jne 0x480fd0
mov bl, 1
mov eax, dword [0x48d330]
cmp si, word [eax]
je 0x480fde
test bl, bl
je 0x480fa8
cmp byte [edi + 0x55d], 0
jle 0x480ff2
lea eax, [edi + 0x4a4]
call fcn.0041f780
mov al, byte [edi + 0x55d]
test al, al
jle 0x481098
movsx eax, al
mov edx, dword [0x48d2e0]
cmp dword [edx + eax*4 - 4], 0
je 0x481098
xor ebx, ebx
xor esi, esi
inc esi
movsx eax, si
cmp dword [ebp + eax*4 - 4], 0
je 0x481040
cmp si, word [edi + 0x534]
je 0x481040
mov eax, dword [ebp + eax*4 - 4]
mov al, byte [eax + 0x55d]
cmp al, byte [edi + 0x55d]
jne 0x481040
mov bl, 1
mov eax, dword [0x48d330]
cmp si, word [eax]
je 0x48104e
test bl, bl
je 0x481018
test bl, bl
jne 0x481098
push 0x4000
mov eax, dword [edi + 0x4a8]
add eax, 2
lea eax, [eax + eax*2]
add eax, 0x10
push eax
movsx eax, byte [edi + 0x55d]
mov edx, dword [0x48d2e0]
mov eax, dword [edx + eax*4 - 4]
push eax
call sub.kernel32.dll_VirtualFree_1
mov al, byte [edi + 0x55d]
movsx edx, al
mov ecx, dword [0x48d2e0]
xor esi, esi
mov dword [ecx + edx*4 - 4], esi
call fcn.0041e474
xor esi, esi
mov eax, dword [0x48d550]
cmp byte [eax + 0x188d], 1
jne 0x4810e6
test bl, bl
jne 0x4810e6
jmp 0x4810cf
mov eax, dword [0x48da44]
push eax
call sub.kernel32.dll_DeleteFileA_1
mov eax, dword [0x48da44]
call fcn.0040ebbc
or ecx, 0xffffffff
or edx, 0xffffffff
call fcn.00412668
inc esi
mov ecx, dword [0x48da44]
mov edx, dword [edi + 0x17c]
mov eax, esi
call fcn.0044f120
test al, al
jne 0x4810ae
cmp byte [edi + 0x554], 0
je 0x48110e
mov eax, dword [edi + 0x14]
push eax
call sub.kernel32.dll_DeleteFileA_1
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x48110e
mov edx, dword [edi + 0x14]
mov ax, 4
call fcn.0040de10
mov eax, dword [edi + 0x160]
test eax, eax
je 0x48112a
push 0x4000
mov edx, dword [edi + 0x164]
push edx
push eax
call sub.kernel32.dll_VirtualFree_1
cmp word [edi + 0x510], 0
jbe 0x481140
mov eax, dword [edi + 0x1a0]
push eax
call sub.kernel32.dll_GlobalFree
xor ebx, ebx
mov bl, byte [edi + 0x55b]
test bx, bx
jle 0x48116e
mov si, 1
mov eax, dword [edi + 0x180]
movsx edx, si
dec edx
shl edx, 2
add eax, edx
mov eax, dword [eax]
push eax
call sub.user32.dll_DestroyIcon
inc esi
dec bx
jne 0x481151
mov al, byte [edi + 0x55b]
test al, al
jbe 0x48118d
and eax, 0xff
mov edx, eax
shl edx, 2
mov eax, dword [edi + 0x180]
call fcn.00402508
cmp byte [edi + 0x55d], 0
jne 0x4811a3
cmp dword [edi + 0x4c], 0
jne 0x4811a3
mov eax, dword [0x48d928]
dec dword [eax]
lea eax, [edi + 0xc]
call fcn.004244a8
mov al, byte [edi + 0x55d]
cmp al, 0x1a
jle 0x48120d
movsx eax, al
lea eax, [eax + eax*4]
mov edx, dword [0x48d7fc]
lea ebx, [edx + eax*4 - 0x21c]
mov eax, dword [ebx]
test eax, eax
je 0x4811d3
call fcn.00405eac
mov eax, dword [ebx + 4]
test eax, eax
je 0x4811ec
push 0x4000
mov edx, dword [ebx + 8]
shl edx, 3
push edx
push eax
call sub.kernel32.dll_VirtualFree_1
movsx eax, byte [edi + 0x55d]
lea eax, [eax + eax*4]
mov edx, dword [0x48d7fc]
lea eax, [edx + eax*4 - 0x21c]
mov edx, 0x14
call fcn.00405a9c
mov al, byte [edi + 0x55d]
cmp al, 0xde
jge 0x481268
movsx edx, al
mov eax, edx
shl eax, 3
sub eax, edx
mov ecx, dword [0x48d8cc]
mov byte [ecx + eax*2 + 0x221], 0
lea eax, [edx + edx*2]
mov edx, dword [0x48d848]
lea ebx, [edx + eax*4 + 0x1c8]
mov eax, dword [ebx]
call fcn.00405eac
xor eax, eax
mov dword [ebx], eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x481268
push 0x4000
mov edx, dword [ebx + 8]
shl edx, 3
push edx
push eax
call sub.kernel32.dll_VirtualFree_1
xor eax, eax
mov dword [ebx + 4], eax
mov eax, dword [edi + 0x15c]
call fcn.00405eac
mov eax, dword [0x48dad0]
mov eax, dword [eax]
cmp eax, dword [edi]
jne 0x481283
call fcn.00469794
mov eax, dword [0x48d67c]
cmp dword [eax], 0
jbe 0x4812ae
push 0
movsx eax, word [edi + 0x534]
call fcn.00480b78
push eax
push 0x1308
mov eax, dword [0x48d67c]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [0x48d510]
dec dword [eax]
mov eax, dword [0x48d510]
cmp dword [eax], 0
jne 0x4812ee
xor eax, eax
call fcn.0046243c
xor eax, eax
call fcn.00444e00
xor eax, eax
call fcn.00441408
xor eax, eax
call fcn.00464398
push 0xffffffffffffffff
push 0
mov eax, dword [0x48d858]
mov eax, dword [eax]
push eax
call sub.user32.dll_InvalidateRect
jmp 0x4812f5
xor eax, eax
call fcn.00464398
mov al, byte [esp]
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret