Function at 0x4722d0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1020
call fcn.005d1cf0
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
xorps xmm0, xmm0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x10], xmm0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.006acc80
add esp, 8
test eax, eax
js 0x4723dc
movzx esi, word [esp + 0x16]
movzx ecx, word [esp + 0x1a]
movzx edx, word [esp + 0x1c]
mov eax, dword [ebp + 0x14]
mov ebx, esi
mov word [esp + 0xe], cx
mov word [esp + 0xc], dx
and ebx, 0xf000
cmp ebx, 0x4000
jne 0x4723ef
push 0x1ff
push eax
call fcn.006acd70
add esp, 8
test eax, eax
js 0x472485
push edi
call fcn.006a9040
add esp, 4
mov ebx, dword [ebp + 8]
test eax, eax
je 0x47259e
mov edi, eax
mov dword [esp + 4], eax
push dword [ebp + 0x14]
call fcn.006a9040
add esp, 4
test eax, eax
je 0x4725ac
mov dword [esp + 8], eax
lea eax, [esp + 8]
lea ecx, [esp + 4]
push eax
push ecx
lea eax, [esp + 0x18]
push eax
call fcn.00470f10
add esp, 0xc
movzx eax, byte [esp + 0x10]
cmp al, 4
jne 0x4725b9
push dword [esp + 8]
call fcn.006a9260
add esp, 4
push dword [esp + 4]
call fcn.006a9260
add esp, 4
mov eax, dword [ebp + 0x14]
jmp 0x472552
call fcn.005bee30
mov dword [ebx + 4], eax
mov dword [ebx], 0
jmp 0x4725f2
push eax
call sub.msvcrt.dll_remove
add esp, 4
test eax, eax
js 0x4724ac
mov eax, dword [ebp + 0x14]
cmp ebx, 0x8000
je 0x4724c0
cmp ebx, 0xa000
jne 0x47254f
lea eax, [esp + 0x11]
push 0xfff
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov byte [esp + 0x10], 0
mov dword [esp + 0x1010], 0
push 0xfff
lea esi, [esp + 0x14]
push esi
push edi
call fcn.006abf00
add esp, 0xc
mov ebx, dword [ebp + 8]
test eax, eax
js 0x4725a5
mov byte [esp + eax + 0x10], 0
mov dword [esp + 0x1010], eax
push dword [ebp + 0x14]
push esi
call fcn.006ac170
add esp, 8
test eax, eax
js 0x4725a5
mov esi, dword [ebp + 0x14]
jmp 0x472568
call sub.msvcrt.dll__errno
cmp dword [eax], 0x11
jne 0x4724a7
push 0x1ff
push dword [ebp + 0x14]
call sub.msvcrt.dll__chmod
add esp, 8
test eax, eax
jns 0x472367
jmp 0x4725e4
call fcn.005bee30
mov eax, dword [ebp + 0x14]
cmp ebx, 0x8000
jne 0x47240f
push 0
push 0x80
push edi
call sub.msvcrt.dll__open
add esp, 0xc
test eax, eax
js 0x4725e4
push eax
call sub.msvcrt.dll__get_osfhandle
add esp, 4
mov edi, eax
mov dword [esp + 4], eax
push 0x1ff
push 0x381
push dword [ebp + 0x14]
call sub.msvcrt.dll__open
add esp, 0xc
mov ebx, dword [ebp + 8]
test eax, eax
js 0x4725fc
push eax
call sub.msvcrt.dll__get_osfhandle
add esp, 4
mov dword [esp + 8], eax
lea eax, [esp + 8]
lea edx, [esp + 4]
lea ecx, [esp + 0x10]
push eax
call fcn.0046e410
add esp, 4
cmp dword [esp + 0x10], 0
je 0x47260f
movsd xmm0, qword [esp + 0x14]
movlps qword [ebx], xmm0
push dword [esp + 8]
call sub.KERNEL32.dll_CloseHandle
mov edi, dword [esp + 4]
jmp 0x472607
mov ebx, dword [ebp + 8]
and esi, 0x1ff
push esi
push eax
mov esi, eax
call sub.msvcrt.dll__chmod
add esp, 8
test eax, eax
js 0x472586
movsx eax, word [esp + 0xc]
movsx ecx, word [esp + 0xe]
push eax
push ecx
push esi
call fcn.006ac620
add esp, 0xc
test eax, eax
js 0x472586
mov byte [ebx], 4
jmp 0x4725f2
call fcn.005bee30
movzx ecx, word [esp + 0x10]
movzx edx, byte [esp + 0x12]
mov word [ebx + 1], cx
mov byte [ebx + 3], dl
jmp 0x4725ec
call fcn.005bee30
jmp 0x4725ec
call fcn.005bee30
jmp 0x4725ec
call fcn.005bee30
mov byte [ebx], 0
mov dword [ebx + 4], eax
jmp 0x4725d9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x11]
mov dword [ebx + 4], edx
mov dword [ebx + 1], ecx
mov byte [ebx], al
push dword [esp + 8]
call fcn.006a9260
add esp, 4
mov edi, dword [esp + 4]
push edi
call fcn.006a9260
add esp, 4
jmp 0x4725f2
call fcn.005bee30
mov ebx, dword [ebp + 8]
mov byte [ebx], 0
mov dword [ebx + 4], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.005bee30
mov byte [ebx], 0
mov dword [ebx + 4], eax
push edi
call sub.KERNEL32.dll_CloseHandle
jmp 0x4725f2
push dword [esp + 8]
call sub.KERNEL32.dll_CloseHandle
push dword [esp + 4]
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp + 0x14]
jmp 0x472552