Function at 0x54d110
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov dword [esp + 0x10], edx
mov esi, ecx
mov eax, dword [0x7aa024]
xor eax, ebp
mov dword [esp + 0x78], eax
pcmpeqd xmm0, xmm0
lea edi, [esp + 0x30]
movdqa xmmword [edi + 0x30], xmm0
movdqa xmmword [edi + 0x20], xmm0
movdqa xmmword [edi + 0x10], xmm0
movdqa xmmword [edi], xmm0
lea ebx, [esp + 0x20]
push 0xfb
push str....._base_files_file_util_win.cc
push str.DoDeleteFile
push ebx
call fcn.005e42b0
add esp, 0x10
mov ecx, edi
push 0
push ebx
call fcn.005eec20
movzx ecx, byte [esi + 0xb]
test cl, cl
mov eax, dword [esi + 4]
mov edx, ecx
cmovs edx, eax
test edx, edx
je 0x54d21f
test cl, cl
jns 0x54d196
cmp eax, 0x103
ja 0x54d2cd
mov ecx, esi
push ebx
call fcn.005e2360
movzx eax, byte [esp + 0x2b]
test al, al
jns 0x54d1af
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xc], esi
test eax, eax
je 0x54d2bf
lea esi, [ebx + eax*2]
add eax, eax
mov edi, ebx
movzx ecx, word [edi]
cmp ecx, 0x2a
je 0x54d1d9
cmp ecx, 0x3f
je 0x54d1d9
add edi, 2
add eax, 0xfffffffe
jne 0x54d1c2
mov edi, esi
lea ecx, [esp + 0x20]
call fcn.005e1990
cmp edi, esi
je 0x54d1f1
sub edi, ebx
cmp edi, 0xfffffffe
jne 0x54d2d4
mov esi, dword [esp + 0xc]
cmp byte [esi + 0xb], 0
mov eax, esi
jns 0x54d1ff
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x54d23f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x54d314
lea ecx, [esp + 0x30]
call fcn.005eec80
mov bl, 1
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.0064d372
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, eax
test bl, 1
jne 0x54d32c
test bl, 0x10
jne 0x54d264
cmp byte [esi + 0xb], 0
jns 0x54d257
mov esi, dword [esi]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x54d21f
jmp 0x54d20b
cmp byte [esp + 0x10], 0
je 0x54d2ae
lea ebx, [esp + 0x20]
mov byte [ebx + 0xb], 1
mov dword [ebx], 0x2a
mov ecx, esi
mov edx, ebx
push 1
call fcn.0054e2b0
add esp, 4
mov edi, eax
cmp byte [ebx + 0xb], 0
js 0x54d356
test edi, edi
je 0x54d2ae
lea ecx, [esp + 0x30]
call fcn.005eec80
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
jmp 0x54d22a
cmp byte [esi + 0xb], 0
jns 0x54d2b6
mov esi, dword [esi]
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x54d25e
lea ecx, [esp + 0x20]
call fcn.005e1990
jmp 0x54d1f1
mov edi, 0xa1
jmp 0x54d297
mov esi, dword [esp + 0xc]
mov ecx, esi
lea ebx, [esp + 0x20]
push ebx
call fcn.005e2360
lea edi, [esp + 0x14]
mov ecx, esi
push edi
call fcn.005e1f90
movzx eax, byte [esp + 0x10]
mov ecx, edi
mov esi, edi
mov edx, ebx
push eax
call fcn.0054e2b0
add esp, 4
mov edi, eax
mov ecx, esi
call fcn.005e1990
mov ecx, ebx
call fcn.005e1990
lea ecx, [esp + 0x30]
call fcn.005eec80
mov bl, 1
test edi, edi
je 0x54d22a
jmp 0x54d2a0
mov eax, ebx
and eax, 0xfffffffe
cmp byte [esi + 0xb], 0
jns 0x54d33d
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
mov esi, dword [esp + 0xc]
jne 0x54d24a
jmp 0x54d20b
push dword [esp + 0x20]
call fcn.0064cd6e
add esp, 4
jmp 0x54d293