Function at 0x4323a0
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
and esp, 0xfffffff0
sub esp, 0xb0
mov eax, dword [0x4b9170]
mov esi, ecx
mov ecx, str.DeleteFile.NonRecursive
pcmpeqd xmm0, xmm0
lea edi, [esp + 0x70]
xor eax, ebp
test edx, edx
mov dword [esp + 0xa8], eax
mov eax, str.DeleteFile.Recursive
mov dword [esp + 4], edx
movdqa xmmword [esp + 0x30], xmm0
movdqa xmmword [esp + 0x20], xmm0
movdqa xmmword [esp + 0x10], xmm0
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
cmovne ecx, eax
mov eax, edx
xor al, 1
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], eax
push 0x169
push str..._.._base_files_file_util_win.cc
push str.DeleteFileAndRecordMetrics
push edi
call fcn.0043d560
add esp, 0x10
lea ecx, [esp + 0x10]
push 0
push edi
call fcn.0043ee10
pcmpeqd xmm0, xmm0
lea ebx, [esp + 0x60]
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0xa0], 0xffffffff
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x70], xmm0
push 0x131
push str..._.._base_files_file_util_win.cc
push str.DoDeleteFile
push ebx
call fcn.0043d560
add esp, 0x10
lea ecx, [esp + 0x70]
push 0
push ebx
call fcn.0043ee10
movzx ecx, byte [esi + 0xb]
mov eax, dword [esi + 4]
mov edi, 0
mov dword [esp], 0
test cl, cl
mov edx, ecx
cmovs edx, eax
test edx, edx
je 0x432629
test cl, cl
jns 0x4324bf
mov edi, 0xa1
cmp eax, 0x103
ja 0x432629
mov ecx, esi
push ebx
call fcn.0042eda0
movzx eax, byte [esp + 0x6b]
test al, al
jns 0x4324d8
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov edi, 0xffffffff
test eax, eax
je 0x432513
add eax, eax
mov ecx, ebx
nop word cs:[eax + eax]
nop
movzx edx, word [ecx]
cmp dx, 0x3f
je 0x432509
cmp dx, 0x2a
je 0x432509
add ecx, 2
add eax, 0xfffffffe
jne 0x4324f0
jmp 0x432513
test eax, eax
je 0x432513
sub ecx, ebx
sar ecx, 1
mov edi, ecx
lea ebx, [esp + 0x60]
mov ecx, ebx
call fcn.0042e400
cmp edi, 0xffffffff
je 0x432560
mov ecx, esi
push ebx
call fcn.0042eda0
lea edi, [esp + 0x54]
mov ecx, esi
push edi
call fcn.0042ec70
movzx eax, byte [esp + 4]
mov ecx, edi
mov edx, ebx
push eax
call fcn.00432e60
add esp, 4
lea ecx, [esp + 0x54]
mov edi, eax
call fcn.0042e400
mov ecx, ebx
call fcn.0042e400
jmp 0x432629
cmp byte [esi + 0xb], 0
mov eax, esi
jns 0x43256a
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x432616
mov ebx, eax
test bl, 1
je 0x43259c
mov eax, ebx
mov ecx, esi
and eax, 0xfffffffe
cmp byte [esi + 0xb], 0
jns 0x432590
mov ecx, dword [esi]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x432616
test bl, 0x10
jne 0x4325b4
cmp byte [esi + 0xb], 0
mov eax, esi
jns 0x4325ab
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x43260d
cmp byte [esp + 4], 0
je 0x4325fc
mov dword [esp + 0x68], 0x1000000
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0x2a
lea edx, [esp + 0x60]
mov ecx, esi
push 1
call fcn.00432e60
add esp, 4
cmp byte [esp + 0x6b], 0
mov edi, eax
jns 0x4325f8
push dword [esp + 0x60]
call fcn.00477190
add esp, 4
test edi, edi
jne 0x432629
cmp byte [esi + 0xb], 0
mov eax, esi
jns 0x432606
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
mov edi, 0
jne 0x432629
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
xor edi, edi
and ecx, 0xfffffffe
cmp ecx, 2
cmovne edi, eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x70]
lea ebx, [eax + eax*2 + 0x14]
call fcn.0043ef20
test edi, edi
je 0x432696
cmp byte [esi + 0xb], 0
mov eax, esi
jns 0x432648
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x432677
test al, 0x10
mov dword [esp], 7
je 0x432696
push esi
call fcn.0042fdf0
add esp, 4
movzx eax, al
mov ecx, 6
sub ecx, eax
mov dword [esp], ecx
jmp 0x432696
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 2]
mov dword [esp], 4
cmp ecx, 4
jae 0x432696
mov eax, dword [eax*4 + 0x4a2128]
mov dword [esp], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x70], str.Windows.PostOperationState.
mov dword [esp + 0x74], 0x1b
lea esi, [esp + 0x60]
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x78], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x7c], ebx
push eax
push 2
push esi
call fcn.0043d620
add esp, 0xc
push 8
push dword [esp + 4]
push esi
call fcn.00447850
add esp, 0xc
cmp byte [esp + 0x6b], 0
js 0x43275d
test edi, edi
je 0x43276d
mov eax, dword [esp + 8]
mov dword [esp + 0x70], str.Windows.FilesystemError.
mov dword [esp + 0x74], 0x18
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x78], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x7c], ebx
push eax
push 2
push esi
call fcn.0043d620
add esp, 0xc
push edi
push esi
call fcn.00447880
add esp, 8
cmp byte [esp + 0x6b], 0
jns 0x432759
push dword [esp + 0x60]
call fcn.00477190
add esp, 4
xor ebx, ebx
jmp 0x43276f
push dword [esp + 0x60]
call fcn.00477190
add esp, 4
test edi, edi
jne 0x4326f8
mov bl, 1
lea ecx, [esp + 0x10]
call fcn.0043ef20
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.004771d1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret