Function at 0x45e200
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, 0x90
mov dword [esp + 0x24], edx
mov esi, ecx
mov eax, dword [0x597010]
xor eax, ebp
mov dword [esp + 0x88], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x70], xmm0
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
lea ebx, [esp + 0x38]
mov dword [esp], ebx
mov dword [esp + 0xc], 0x102
mov dword [esp + 8], str....._base_files_file_util_win.cc
mov dword [esp + 4], str.DoDeleteFile
call fcn.004733a0
mov dword [esp + 4], 0
mov dword [esp], 0
lea ecx, [esp + 0x50]
call fcn.004a1610
sub esp, 8
test byte [0x598b10], 0x19
jne 0x45e28e
cmp byte [esi + 0xb], 0
js 0x45e2c1
jne 0x45e2dc
jmp 0x45e456
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
movq xmm0, qword [esp + 0x28]
movq qword [esp], xmm0
lea edx, [esp + 0x4c]
mov ecx, str.ScopedBlockingCall
call fcn.00462090
cmp byte [esi + 0xb], 0
jns 0x45e287
mov eax, dword [esi + 4]
test eax, eax
je 0x45e456
mov edi, 0xa1
cmp eax, 0x103
ja 0x45e40f
mov dword [esp], ebx
mov ecx, esi
call fcn.00475b50
sub esp, 4
movzx ecx, byte [esp + 0x43]
mov eax, dword [esp + 0x38]
mov edx, ecx
test cl, cl
jns 0x45e2fe
mov edx, dword [esp + 0x3c]
mov ebx, eax
mov dword [esp + 0x20], eax
test edx, edx
je 0x45e33e
add edx, edx
xor edi, edi
nop word [eax + eax]
movzx eax, word [ebx + edi]
cmp eax, 0x2a
je 0x45e327
cmp eax, 0x3f
je 0x45e327
add edi, 2
cmp edx, edi
jne 0x45e310
jmp 0x45e33e
cmp edx, edi
je 0x45e33e
test cl, cl
js 0x45e473
cmp edi, 0xfffffffe
jne 0x45e488
jmp 0x45e34e
test cl, cl
jns 0x45e34e
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00528424
cmp byte [esi + 0xb], 0
mov eax, esi
jns 0x45e358
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
je 0x45e442
mov ebx, eax
test bl, 1
je 0x45e39b
mov eax, ebx
and eax, 0xfffffffe
cmp byte [esi + 0xb], 0
mov ecx, esi
jns 0x45e383
mov ecx, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
sub esp, 8
test eax, eax
je 0x45e442
test bl, 0x10
jne 0x45e3b6
cmp byte [esi + 0xb], 0
jns 0x45e3a8
mov esi, dword [esi]
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x45e43b
cmp byte [esp + 0x24], 0
je 0x45e42a
mov byte [esp + 0x43], 1
lea eax, [esp + 0x38]
cmp eax, 0x581962
ja 0x45e3dc
lea eax, [esp + 0x3a]
cmp eax, 0x581962
ja 0x45e5f2
mov dword [esp + 0x38], 0x2a
mov dword [esp], 1
lea edx, [esp + 0x38]
mov ecx, esi
call fcn.0045fa00
mov edi, eax
cmp byte [esp + 0x43], 0
jns 0x45e40b
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00528424
test edi, edi
je 0x45e42a
test byte [0x598b10], 0x19
jne 0x45e5ad
lea ecx, [esp + 0x50]
call fcn.004a1a80
jmp 0x45e4fd
cmp byte [esi + 0xb], 0
jns 0x45e432
mov esi, dword [esi]
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
sub esp, 4
test eax, eax
jne 0x45e456
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x45e4e3
test byte [0x598b10], 0x19
jne 0x45e523
lea ecx, [esp + 0x50]
call fcn.004a1a80
mov bl, 1
jmp 0x45e50b
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00528424
cmp edi, 0xfffffffe
je 0x45e34e
lea edi, [esp + 0x38]
mov dword [esp], edi
mov ecx, esi
call fcn.00475b50
sub esp, 4
lea ebx, [esp + 0x28]
mov dword [esp], ebx
mov ecx, esi
call fcn.004756a0
sub esp, 4
movzx eax, byte [esp + 0x24]
mov dword [esp], eax
mov ecx, ebx
mov edx, edi
call fcn.0045fa00
mov edi, eax
cmp byte [esp + 0x33], 0
jns 0x45e4d0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00528424
cmp byte [esp + 0x43], 0
jns 0x45e4e3
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00528424
test byte [0x598b10], 0x19
jne 0x45e568
lea ecx, [esp + 0x50]
call fcn.004a1a80
test edi, edi
je 0x45e46c
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
sub esp, 4
xor ebx, ebx
mov ecx, dword [esp + 0x88]
xor ecx, ebp
call fcn.00528e13
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
movq xmm0, qword [esp + 0x38]
movq qword [esp + 0x10], xmm0
mov dword [esp + 0xc], 0x57f540
mov dword [esp + 8], 0x57d4a9
mov dword [esp + 4], 0x598b10
mov dword [esp], 0x45
call fcn.00433670
jmp 0x45e463
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
movq xmm0, qword [esp + 0x38]
movq qword [esp + 0x10], xmm0
mov dword [esp + 0xc], 0x57f540
mov dword [esp + 8], 0x57d4a9
mov dword [esp + 4], 0x598b10
mov dword [esp], 0x45
call fcn.00433670
jmp 0x45e4ec
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
movq xmm0, qword [esp + 0x38]
movq qword [esp + 0x10], xmm0
mov dword [esp + 0xc], 0x57f540
mov dword [esp + 8], 0x57d4a9
mov dword [esp + 4], 0x598b10
mov dword [esp], 0x45
call fcn.00433670
jmp 0x45e41c
int3