Function at 0x631c1980
Capabilities:
Delete directory
Delete file

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
mov eax, ecx
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x58
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov dword [ebp - 0x24], 0
mov eax, dword [eax + 0x10]
mov esi, dword [ecx]
mov dword [ebp - 0x20], 0
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x2c], eax
test byte [0x631c9018], 8
jne 0x631c1af8
test ebx, ebx
jne 0x631c1c30
lea eax, [ebp - 0x28]
mov dword [esp + 4], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp], eax
call sym.fusion.dll_CreateAssemblyNameObject
sub esp, 0x10
mov edi, eax
test eax, eax
js 0x631c1ae1
mov dword [esp + 4], 0xffffffff
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov eax, dword [ebp - 0x28]
sub esp, 8
mov dword [esp + 8], eax
lea eax, [ebp - 0x20]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.fusion.dll_CreateAssemblyEnum
sub esp, 0x14
mov edi, eax
test eax, eax
js 0x631c1a97
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x24]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
mov edi, eax
cmp eax, 1
je 0x631c1bb0
lea eax, [ebp - 0x1c]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._IAssemblyName_GetPath
mov edi, eax
cmp eax, 0x8007007a
je 0x631c1b48
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
sub esp, 4
test eax, eax
je 0x631c1ab7
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 8]
sub esp, 4
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x631c1ac9
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 8]
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReleaseMutex]
sub esp, 4
lea esp, [ebp - 0x10]
mov eax, edi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x14
mov eax, edi
mov dword [ebp - 0x30], ecx
call sym._wine_dbgstr_wn.constprop.0
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.__p__0_08lx___s___p___p__n
mov dword [esp + 8], str.IAssemblyCacheImpl_UninstallAssembly
mov dword [esp + 4], 0x631c9018
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x631c19c2
mov eax, dword [ebp - 0x1c]
add eax, eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x631c1c6b
lea eax, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._IAssemblyName_GetPath
mov edi, eax
test eax, eax
js 0x631c1a97
mov dword [esp], ebx
mov edi, 1
call dword [sym.imp.kernel32.dll_DeleteFileW]
mov ecx, eax
sub esp, 4
mov eax, 3
test ecx, ecx
jne 0x631c1bd0
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x631c1a97
mov dword [edx], eax
jmp 0x631c1a97
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x631c1a97
mov dword [eax], 3
jmp 0x631c1a97
mov dword [esp + 4], 0x5c
mov edi, dword [sym.imp.ucrtbase.dll_wcsrchr]
mov dword [esp], ebx
call edi
test eax, eax
je 0x631c1c1e
mov edx, dword [sym.imp.kernel32.dll_RemoveDirectoryW]
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x30], edx
mov dword [esp], ebx
call edx
sub esp, 4
mov dword [esp + 4], 0x5c
mov dword [esp], ebx
call edi
test eax, eax
je 0x631c1c1e
xor edx, edx
mov word [eax], dx
mov edx, dword [ebp - 0x30]
mov dword [esp], ebx
call edx
sub esp, 4
mov eax, 1
xor edi, edi
jmp 0x631c1b9c
mov edi, 0x80004001
test byte [0x631c9018], 1
je 0x631c1ae1
mov dword [esp + 0xc], str.application_reference_not_supported_n
mov dword [esp + 8], str.IAssemblyCacheImpl_UninstallAssembly
mov dword [esp + 4], 0x631c9018
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0
jmp 0x631c1ae1
mov edi, 0x8007000e
jmp 0x631c1a97