Function at 0x451fa8
Capabilities:
Delete file

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffecc
mov al, 0x15
call fcn.0042aef4
test al, al
je 0x45234b
mov edx, dword [0x48d370]
lea eax, [esp + 0x11]
call fcn.00405c48
push 0
lea eax, [esp + 0x15]
push eax
call sub.kernel32.dll__lcreat
mov edi, eax
cmp edi, 0xffffffff
jne 0x451ff5
lea edx, [esp + 0x11]
mov ax, 3
call fcn.0040de10
jmp 0x45234b
mov byte [esp + 0x10], 1
mov eax, dword [0x48d980]
mov dl, byte [esp + 0x10]
mov byte [eax], dl
call fcn.0040f494
mov al, 9
call fcn.0042aef4
test al, al
jne 0x452021
mov eax, dword [0x48d980]
dec byte [eax]
jmp 0x452260
lea eax, [esp + 0x11]
push eax
mov eax, dword [0x48d370]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
jne 0x45204a
mov ax, 0x5a
call fcn.0040bc04
mov edx, 3
call fcn.00411d74
jmp 0x452005
mov eax, dword [0x48d370]
mov ecx, 0x8000000
mov edx, 0x80000000
call fcn.0040eba4
mov dword [esp], eax
cmp dword [esp], 0xffffffff
jne 0x452078
mov edx, dword [0x48d370]
mov ax, 1
call fcn.0040de10
jmp 0x452005
mov eax, dword [esp]
call fcn.00412ed4
fistp qword [esp + 0x118]
wait
fild qword [esp + 0x118]
fcomp dword [0x452358]
fnstsw ax
sahf
jne 0x4520a8
mov eax, dword [esp]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x452251
mov eax, dword [0x48d370]
call fcn.0040fb28
mov edx, eax
mov eax, dword [0x48d830]
mov cx, 0x3c
call fcn.00405c70
mov eax, dword [0x48d980]
cmp byte [eax], 1
jne 0x4520e2
mov ax, 0x5c
call fcn.0040bc04
mov edx, dword [0x48d830]
call fcn.0040f5a0
jmp 0x4520f6
mov ax, 0x5d
call fcn.0040bc04
mov edx, dword [0x48d830]
call fcn.0040f5a0
mov edx, dword [0x48da44]
mov eax, dword [0x48d948]
call fcn.00405c48
mov eax, dword [0x48d948]
xor edx, edx
call fcn.0040e810
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov eax, 0xe000
call fcn.004024e8
mov esi, eax
push 0xe000
push esi
mov eax, dword [esp + 8]
push eax
call sub.kernel32.dll__hread
mov ebx, eax
mov dword [esp + 0x130], ebx
fild dword [esp + 0x130]
fild qword [esp + 8]
faddp st(1)
fistp qword [esp + 8]
wait
push ebx
push esi
push edi
call sub.kernel32.dll__hwrite
mov ebp, eax
cmp ebx, 0xffffffff
jne 0x452171
mov edx, dword [0x48d370]
mov ax, 2
call fcn.0040de10
cmp ebx, ebp
jle 0x452182
lea edx, [esp + 0x11]
mov ax, 5
call fcn.0040de10
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
jne 0x4521b8
cmp ebx, 0xffffffff
je 0x4521b8
cmp ebx, ebp
jg 0x4521b8
mov eax, dword [0x48d8b8]
cmp byte [eax], 0
jne 0x4521f9
mov eax, edi
call fcn.00412ed4
add esp, 0xfffffff8
fistp qword [esp]
wait
xor eax, eax
call fcn.0040f3c4
test al, al
jne 0x4521f9
mov eax, dword [esp]
push eax
call sub.kernel32.dll_CloseHandle_1
push edi
call sub.kernel32.dll_CloseHandle_1
mov ax, 0x11b
call fcn.0040bc04
mov edx, 2
call fcn.00411d74
cmp al, 1
jne 0x4521e8
lea eax, [esp + 0x11]
push eax
call sub.kernel32.dll_DeleteFileA_1
call fcn.0040eb04
mov eax, esi
call fcn.00402508
jmp 0x45234b
fild qword [esp + 8]
fild qword [esp + 0x118]
fdivp st(1)
fmul dword [0x45235c]
call fcn.004028a0
mov edx, dword [0x48d1d8]
mov byte [edx], al
mov eax, dword [0x48d1d8]
mov al, byte [eax]
mov edx, dword [0x48d668]
cmp al, byte [edx]
je 0x45222f
call fcn.00414c64
call fcn.0040f494
test ebx, ebx
jne 0x452128
mov eax, dword [esp]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, esi
call fcn.00402508
call fcn.0040eb04
inc byte [esp + 0x10]
cmp byte [esp + 0x10], 0
jne 0x451ffa
mov eax, edi
call fcn.00412ed4
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0x1c2
call fcn.0040bc04
call fcn.0040f4d4
mov eax, dword [0x48d980]
movzx eax, byte [eax]
mov dword [esp + 0x130], eax
fild dword [esp + 0x130]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, dword [0x48da44]
call fcn.0040f4d4
lea edx, [esp + 0x11]
mov eax, dword [0x48da44]
call fcn.0040f5a0
mov eax, edi
call fcn.00412ed4
fcomp dword [0x452358]
fnstsw ax
sahf
jbe 0x4522da
push edi
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x48da44]
mov edx, 4
call fcn.00411d74
jmp 0x45234b
mov eax, edi
call fcn.00412ed4
fcomp dword [0x452358]
fnstsw ax
sahf
jne 0x452311
push 0x452360
mov eax, dword [0x48da44]
push eax
call sub.kernel32.dll_lstrcatA
mov ax, 0x11b
call fcn.0040bc04
push eax
mov eax, dword [0x48da44]
push eax
call sub.kernel32.dll_lstrcatA
push edi
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x48da44]
mov edx, 2
call fcn.00411d74
cmp al, 1
jne 0x45234b
lea eax, [esp + 0x11]
push eax
call sub.kernel32.dll_DeleteFileA_1
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x45234b
lea edx, [esp + 0x11]
mov ax, 4
call fcn.0040de10
add esp, 0x134
pop ebp
pop edi
pop esi
pop ebx
ret