Function at 0x425280
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov eax, dword [0x4df19c]
mov cl, byte [ebp + 0xc]
mov esi, str.DeleteFile.NonRecursive
mov edi, dword [ebp + 8]
lea ebx, [ebp - 0x2c]
xor eax, ebp
test cl, cl
mov dword [ebp - 0x10], eax
mov eax, str.DeleteFile.Recursive
cmovne esi, eax
mov eax, ecx
xor al, 1
movzx eax, al
lea eax, [eax + eax*2 + 0x14]
mov dword [ebp - 0x50], eax
push 0x168
push str..._.._base_files_file_util_win.cc
push 0x4c20dc
push ebx
call fcn.004262e0
add esp, 0x10
lea ecx, [ebp - 0x44]
push 0
push ebx
call fcn.0042f0b0
push 0x125
push str..._.._base_files_file_util_win.cc
push str.DoDeleteFile
push ebx
call fcn.004262e0
add esp, 0x10
lea ecx, [ebp - 0x1c]
push 0
push ebx
call fcn.0042f0b0
movzx ecx, byte [edi + 0xb]
mov eax, dword [edi + 4]
mov edi, 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], esi
test cl, cl
mov edx, ecx
cmovs edx, eax
test edx, edx
je 0x4254a9
test cl, cl
jns 0x425338
mov edi, 0xa1
cmp eax, 0x103
ja 0x4254a9
mov ecx, dword [ebp + 8]
push ebx
call fcn.00424860
movzx eax, byte [ebp - 0x21]
test al, al
jns 0x42534f
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x2c]
mov esi, 0xffffffff
test eax, eax
je 0x425383
add eax, eax
mov ecx, ebx
nop dword [eax]
movzx edx, word [ecx]
cmp dx, 0x3f
je 0x425379
cmp dx, 0x2a
je 0x425379
add ecx, 2
add eax, 0xfffffffe
jne 0x425360
jmp 0x425383
test eax, eax
je 0x425383
sub ecx, ebx
sar ecx, 1
mov esi, ecx
lea ebx, [ebp - 0x2c]
mov ecx, ebx
call fcn.00423f20
cmp esi, 0xffffffff
je 0x4253d3
mov esi, dword [ebp + 8]
mov ecx, esi
push ebx
call fcn.00424860
lea edi, [ebp - 0x38]
mov ecx, esi
push edi
call fcn.00424700
movzx eax, byte [ebp + 0xc]
mov esi, edi
mov ecx, edi
mov edx, ebx
push eax
call fcn.00425f20
add esp, 4
mov ecx, esi
mov edi, eax
call fcn.00423f20
mov ecx, ebx
call fcn.00423f20
mov esi, dword [ebp - 0x4c]
jmp 0x4254a9
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x4c]
cmp byte [eax + 0xb], 0
jns 0x4253e4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x425496
mov ebx, eax
test bl, 1
je 0x42541a
mov ecx, dword [ebp + 8]
mov eax, ebx
and eax, 0xfffffffe
cmp byte [ecx + 0xb], 0
jns 0x42540e
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x425496
test bl, 0x10
jne 0x425436
mov eax, dword [ebp + 8]
cmp byte [eax + 0xb], 0
jns 0x42542d
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x42548d
cmp byte [ebp + 0xc], 0
je 0x425478
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x24], 0x1000000
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0x2a
lea edx, [ebp - 0x2c]
push 1
call fcn.00425f20
add esp, 4
cmp byte [ebp - 0x21], 0
mov edi, eax
jns 0x425474
push dword [ebp - 0x2c]
call fcn.00495666
add esp, 4
test edi, edi
jne 0x4254a9
mov eax, dword [ebp + 8]
cmp byte [eax + 0xb], 0
jns 0x425486
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
mov edi, 0
jne 0x4254a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
xor edi, edi
or ecx, 1
cmp ecx, 3
cmovne edi, eax
lea ebx, [ebp - 0x1c]
mov ecx, ebx
call fcn.0042f1a0
mov eax, dword [ebp - 0x50]
test edi, edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], eax
je 0x42551e
mov eax, dword [ebp + 8]
cmp byte [eax + 0xb], 0
jns 0x4254ce
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4254ff
test al, 0x10
mov dword [ebp - 0x48], 7
je 0x42551e
push dword [ebp + 8]
call fcn.0042f3e0
add esp, 4
movzx eax, al
mov ecx, 6
sub ecx, eax
mov dword [ebp - 0x48], ecx
jmp 0x42551e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 2]
mov dword [ebp - 0x48], 4
cmp ecx, 4
jae 0x42551e
mov eax, dword [eax*4 + 0x4c217c]
mov dword [ebp - 0x48], eax
push 0x20
call fcn.004955e6
add esp, 4
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0x80000020
mov dword [eax + 0x17], 0x2e657461
mov dword [ebp - 0x28], 0x1b
mov dword [eax + 0x14], 0x6174536e
mov dword [eax + 0x10], 0x6f697461
mov dword [eax + 0xc], 0x7265704f
mov dword [eax + 8], 0x74736f50
mov dword [eax + 4], 0x2e73776f
mov dword [eax], 0x646e6957
mov byte [eax + 0x1b], 0
push esi
push ebx
call fcn.0042e2e0
add esp, 8
push 8
push dword [ebp - 0x48]
push esi
call fcn.0042f500
add esp, 0xc
cmp byte [ebp - 0x21], 0
js 0x425617
test edi, edi
je 0x42562a
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x18], eax
push 0x20
call fcn.004955e6
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0x80000020
mov dword [ebp - 0x28], 0x18
mov dword [eax + 0x14], 0x2e726f72
mov dword [eax + 0x10], 0x72456d65
mov dword [eax + 0xc], 0x74737973
mov dword [eax + 8], 0x656c6946
mov dword [eax + 4], 0x2e73776f
mov dword [eax], 0x646e6957
mov byte [eax + 0x18], 0
push esi
push ebx
call fcn.0042e2e0
add esp, 8
push edi
push esi
call fcn.0042f530
add esp, 8
cmp byte [ebp - 0x21], 0
jns 0x425613
push dword [ebp - 0x2c]
call fcn.00495666
add esp, 4
xor ebx, ebx
jmp 0x42562c
push dword [ebp - 0x2c]
call fcn.00495666
add esp, 4
test edi, edi
jne 0x42559a
mov bl, 1
lea ecx, [ebp - 0x44]
call fcn.0042f1a0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004956a1
mov eax, ebx
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret