Function at 0x481530
Capabilities:
Delete file

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffee4
mov esi, edx
mov edi, eax
xor ebx, ebx
push dword [edi + 0x1c]
push dword [edi + 0x18]
mov al, 1
call fcn.0040f3c4
test al, al
je 0x4817bd
mov edx, dword [edi + 0x14]
mov eax, dword [0x48d370]
call fcn.00405c48
call fcn.0040f494
test esi, esi
je 0x48156f
cmp byte [esi], 0x3f
jne 0x48157e
mov al, 1
call fcn.0042aef4
test al, al
je 0x4817bd
test esi, esi
je 0x481593
cmp byte [esi], 0x3f
je 0x481593
mov eax, dword [0x48d370]
mov edx, esi
call fcn.00405c48
mov eax, edi
call fcn.00464bb4
test al, al
je 0x4817bd
fild qword [edi + 0x18]
fcomp dword [0x4817cc]
fnstsw ax
sahf
jbe 0x4815be
mov eax, dword [0x48d8b8]
cmp byte [eax], 0
je 0x4817bd
mov eax, dword [0x48daa4]
cmp byte [eax], 0
jne 0x4815f4
mov eax, dword [0x48d3a0]
cmp byte [eax], 0
jne 0x4815f4
mov eax, dword [0x48d370]
call fcn.00412584
test al, al
je 0x4815f4
mov eax, dword [0x48d370]
xor edx, edx
call fcn.00411180
test al, al
je 0x4817bd
fild qword [edi + 0x18]
fcomp dword [0x4817d0]
fnstsw ax
sahf
jbe 0x481610
mov eax, dword [0x48d8b8]
cmp byte [eax], 0
je 0x4817bd
cmp dword [edi + 0x4c], 0
je 0x481640
mov dword [edi + 0x494], 0xffffffff
mov dword [edi + 0x498], 0xffffffff
push 1
mov edx, dword [0x48d370]
mov eax, edi
mov cl, 1
call fcn.004692d0
jmp 0x4817bd
push 2
mov ax, word [edi + 0x534]
call fcn.00412944
mov edx, eax
mov ecx, dword [0x48d370]
lea eax, [edi + 0xc]
call fcn.004245b8
test al, al
je 0x4817bd
mov bl, 1
cmp byte [edi + 0x82], 3
jne 0x481684
mov eax, dword [0x48d550]
mov al, byte [eax + 0x18f1]
mov byte [edi + 0x8f], al
jmp 0x4816ad
mov ax, word [edi + 0x534]
call fcn.00412944
push eax
call sub.kernel32.dll_DeleteFileA_1
mov byte [edi + 0x8c], 0
mov word [edi + 0x80], 0
mov byte [edi + 0x82], 1
mov eax, dword [edi + 0x14]
call fcn.00405eac
mov eax, dword [0x48d370]
call fcn.00405e78
mov dword [edi + 0x14], eax
mov byte [edi + 0x55e], 0
lea eax, [edi + 0xc]
mov dl, 1
call fcn.00423b80
mov eax, dword [0x48daa4]
cmp byte [eax], 0
jbe 0x4816f9
mov eax, dword [0x48d9c0]
inc word [eax]
mov eax, dword [0x48db80]
fild qword [eax]
fild qword [edi + 0x18]
faddp st(1)
mov eax, dword [0x48db80]
fistp qword [eax]
wait
or dword [edi + 0x28], 0x20
push 0xff
mov eax, dword [0x48da44]
push eax
mov eax, dword [0x48d370]
push eax
call sub.kernel32.dll_GetShortPathNameA
mov eax, dword [0x48da44]
call fcn.0040fb28
mov edx, eax
lea eax, [edi + 0x544]
call fcn.00405c48
mov eax, edi
mov dl, 1
call fcn.0048145c
mov eax, dword [0x48d67c]
cmp dword [eax], 0
jbe 0x48179f
mov eax, dword [0x48d370]
call fcn.0040fb28
mov edx, eax
mov eax, dword [0x48da44]
call fcn.00405c48
mov eax, dword [0x48da44]
push eax
mov eax, dword [edi]
push eax
call sub.user32.dll_SetWindowTextA
mov dword [esp + 0x100], 1
mov eax, dword [0x48da44]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x100]
push eax
movsx eax, word [edi + 0x534]
call fcn.00480b78
push eax
push 0x1306
mov eax, dword [0x48d67c]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
mov byte [edi + 0x556], 0
mov eax, dword [edi + 0x14]
push eax
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x4817bd
call fcn.00444994
mov eax, ebx
add esp, 0x11c
pop edi
pop esi
pop ebx
ret