Function at 0x473240
Capabilities:
Delete file

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffee4
mov esi, edx
mov edi, eax
xor ebx, ebx
mov eax, dword [edi + 0xc]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov al, 1
call fcn.004adfd4
test al, al
je 0x4734f1
mov eax, dword [edi + 0xc]
mov edx, dword [eax + 0xc]
mov eax, dword [0x4be538]
call fcn.004b81b0
call fcn.004ae0a4
test esi, esi
je 0x473285
cmp byte [esi], 0x3f
jne 0x473294
mov al, 1
call fcn.00421294
test al, al
je 0x4734f1
test esi, esi
je 0x4732a9
cmp byte [esi], 0x3f
je 0x4732a9
mov eax, dword [0x4be538]
mov edx, esi
call fcn.004b81b0
mov eax, edi
call fcn.0044f5d0
test al, al
je 0x4734f1
mov eax, dword [edi + 0xc]
fild qword [eax + 0x10]
fcomp dword [0x473500]
fnstsw ax
sahf
jbe 0x4732d7
mov eax, dword [0x4bebd4]
cmp byte [eax], 0
je 0x4734f1
mov eax, dword [0x4bee20]
cmp byte [eax], 0
jne 0x47330d
mov eax, dword [0x4be570]
cmp byte [eax], 0
jne 0x47330d
mov eax, dword [0x4be538]
call fcn.004b1914
test al, al
je 0x47330d
mov eax, dword [0x4be538]
xor edx, edx
call fcn.004b0584
test al, al
je 0x4734f1
mov edx, dword [edi + 0xc]
fild qword [edx + 0x10]
fcomp dword [0x473504]
fnstsw ax
sahf
jbe 0x47332c
mov eax, dword [0x4bebd4]
cmp byte [eax], 0
je 0x4734f1
cmp dword [edx + 0x5c], 0
je 0x47335c
mov dword [edi + 0x14c], 0xffffffff
mov dword [edi + 0x150], 0xffffffff
push 1
mov edx, dword [0x4be538]
mov eax, edi
mov cl, 1
call fcn.00456534
jmp 0x4734f1
push 2
mov ax, word [edi + 0x424]
call fcn.004b1cb8
mov edx, eax
mov ecx, dword [0x4be538]
mov eax, dword [edi + 0xc]
call fcn.00419530
test al, al
je 0x4734f1
mov bl, 1
mov eax, dword [edi + 0xc]
cmp byte [eax + 0x96], 3
jne 0x4733a4
mov edx, dword [0x4be784]
mov dl, byte [edx + 0x18f1]
mov byte [eax + 0xd2], dl
jmp 0x4733d0
mov ax, word [edi + 0x424]
call fcn.004b1cb8
push eax
call sub.kernel32.dll_DeleteFileA_1
mov eax, dword [edi + 0xc]
mov byte [eax + 0xa1], 0
mov word [eax + 0x94], 0
mov byte [eax + 0x96], 1
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0xc]
call fcn.004b8480
mov eax, dword [0x4be538]
call fcn.004b8404
mov edx, dword [edi + 0xc]
mov dword [edx + 0xc], eax
mov byte [edi + 0x443], 0
mov eax, dword [edi + 0xc]
mov dl, 1
call fcn.00418a58
mov eax, dword [0x4bee20]
cmp byte [eax], 0
jbe 0x473425
mov eax, dword [0x4be42c]
inc word [eax]
mov eax, dword [0x4bef24]
fild qword [eax]
mov eax, dword [edi + 0xc]
fild qword [eax + 0x10]
faddp st(1)
mov eax, dword [0x4bef24]
fistp qword [eax]
wait
mov eax, dword [edi + 0xc]
or dword [eax + 0x20], 0x20
push 0xff
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [0x4be538]
push eax
call sub.kernel32.dll_GetShortPathNameA
mov eax, dword [0x4bedb0]
call fcn.004aed10
mov edx, eax
mov eax, dword [edi + 0xc]
add eax, 0xa5
call fcn.004b81b0
mov eax, edi
mov dl, 1
call fcn.0047318c
mov eax, dword [0x4be8e4]
cmp dword [eax], 0
jbe 0x4734d0
mov eax, dword [0x4be538]
call fcn.004aed10
mov edx, eax
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [edi]
push eax
call sub.user32.dll_SetWindowTextA
mov dword [esp + 0x100], 1
mov eax, dword [0x4bedb0]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x100]
push eax
movsx eax, word [edi + 0x424]
call fcn.00472710
push eax
push 0x1306
mov eax, dword [0x4be8e4]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
mov byte [edi + 0x437], 0
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0xc]
push eax
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x4734f1
call fcn.00427d08
mov eax, ebx
add esp, 0x11c
pop edi
pop esi
pop ebx
ret