Function at 0x64608291
Capabilities:
Delete file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
and dword [ebp - 4], 0
push ebx
push esi
push edi
mov dword [ebp - 8], 1
mov eax, dword [0x64617004]
cmp eax, 0x64617004
je 0x646082da
test dword [eax + 0x1c], 0x200
je 0x646082da
cmp byte [eax + 0x19], 4
jb 0x646082da
push dword [eax + 0x14]
mov edx, 0x64601f58
push dword [eax + 0x10]
push 0x33
pop ecx
call fcn.64604423
mov eax, dword [0x64617004]
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
jne 0x64608319
cmp eax, 0x64617004
je 0x64608311
test dword [eax + 0x1c], 0x200
je 0x64608311
cmp byte [eax + 0x19], 2
jb 0x64608311
push 0x57
push 0x64601754
push dword [eax + 0x14]
mov edx, 0x64601f58
push dword [eax + 0x10]
push 0x34
pop ecx
call fcn.64604465
push 0x57
pop eax
jmp 0x646084f9
and dword [ebx], 0
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x14]
push dword [ebp + 8]
call fcn.64606cde
mov edi, dword [ebp - 4]
mov esi, eax
test esi, esi
je 0x64608340
cmp esi, 0x2d02
jne 0x64608373
and dword [ebp - 8], 0
push ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.64607ad3
mov esi, eax
test esi, esi
je 0x646083e2
cmp esi, 0x2d03
jne 0x646083b6
xor esi, esi
cmp dword [ebp - 8], esi
jne 0x646083e2
lea esi, [eax + 1]
jmp 0x64608424
mov eax, dword [0x64617004]
cmp eax, 0x64617004
je 0x64608424
test dword [eax + 0x1c], 0x200
je 0x64608424
cmp byte [eax + 0x19], 2
jb 0x64608424
push 0
push 0x64601794
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x35
mov edx, 0x64601f58
pop ecx
call fcn.64604465
jmp 0x64608424
mov eax, dword [0x64617004]
cmp eax, 0x64617004
je 0x64608424
test dword [eax + 0x1c], 0x200
je 0x64608424
cmp byte [eax + 0x19], 2
jb 0x64608424
push 0
push 0x646017c0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x36
jmp 0x646083a9
mov ecx, dword [ebx]
test ecx, ecx
jne 0x64608408
test edi, edi
je 0x646084f7
mov ecx, edi
call fcn.6460e6a4
mov dword [ebx], eax
test eax, eax
jne 0x646084f7
mov esi, 0x2cfd
jmp 0x64608424
test edi, edi
je 0x646084f7
mov edx, edi
call fcn.64611583
test eax, eax
jne 0x646084b7
mov esi, 0x2cfb
test edi, edi
je 0x64608468
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x64608461
mov eax, dword [0x64617004]
cmp eax, 0x64617004
je 0x64608461
test dword [eax + 0x1c], 0x200
je 0x64608461
cmp byte [eax + 0x19], 5
jb 0x64608461
push dword [eax + 0x14]
mov edx, 0x64601f58
push dword [eax + 0x10]
push 0x38
pop ecx
call fcn.64604423
mov ecx, edi
call fcn.6460ce5b
cmp dword [ebx], 0
je 0x646084f7
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x646084ab
mov eax, dword [0x64617004]
cmp eax, 0x64617004
je 0x646084ab
test dword [eax + 0x1c], 0x200
je 0x646084ab
cmp byte [eax + 0x19], 5
jb 0x646084ab
push dword [eax + 0x14]
mov edx, 0x64601f58
push dword [eax + 0x10]
push 0x39
pop ecx
call fcn.64604423
mov ecx, dword [ebx]
call fcn.6460ce5b
and dword [ebx], 0
jmp 0x646084f7
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x646084f0
mov eax, dword [0x64617004]
cmp eax, 0x64617004
je 0x646084f0
test dword [eax + 0x1c], 0x200
je 0x646084f0
cmp byte [eax + 0x19], 5
jb 0x646084f0
push dword [eax + 0x14]
mov edx, 0x64601f58
push dword [eax + 0x10]
push 0x37
pop ecx
call fcn.64604423
mov ecx, edi
call fcn.6460ce5b
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18