Function at 0x100030e0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x38
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
test byte [0x10006018], 8
jne 0x10003270
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
sub esp, 8
mov dword [esp], 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x20], eax
sub esp, 4
lea eax, [ebp - 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x10008d34
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x10008af4
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [ebp - 0x1c], eax
sub esp, 0x14
test eax, eax
je 0x100031a8
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10003179
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x20]
test eax, eax
js 0x10003186
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x1c]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x14]
call sym._load_manifest
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x10003167
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call sym._parse_assembly.constprop.0
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x100032c0
test edi, edi
je 0x10003167
mov ebx, dword [sym.imp.oleaut32.dll_SysFreeString]
mov eax, dword [edi]
mov dword [esp], eax
mov dword [ebp - 0x18], ebx
call ebx
mov eax, dword [edi + 4]
sub esp, 4
mov dword [esp], eax
call ebx
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call ebx
mov eax, dword [edi + 0xc]
sub esp, 4
mov dword [esp], eax
call ebx
mov eax, dword [edi + 0x10]
sub esp, 4
mov dword [esp], eax
call ebx
mov ebx, dword [edi + 0x14]
lea ecx, [edi + 0x14]
sub esp, 4
mov esi, dword [ebx]
cmp ebx, ecx
je 0x1000325c
mov dword [ebp - 0x24], edi
mov edi, ebx
mov ebx, ecx
lea esi, [esi]
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [edi + 8]
mov dword [esp], ecx
mov eax, dword [ebp - 0x18]
call eax
sub esp, 4
mov dword [esp], edi
mov edi, esi
call dword [sym.imp.ucrtbase.dll_free]
mov esi, dword [esi]
cmp edi, ebx
jne 0x10003230
mov edi, dword [ebp - 0x24]
mov dword [esp], edi
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x10003167
mov eax, dword [ebp + 0x10]
call sym._wine_dbgstr_wn.constprop.0
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], str._p__0x_08lx___s___p_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0x10008534
mov dword [esp + 4], 0x10006018
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x10003104
mov dword [esp + 4], str.win32_policy
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1000337d
mov ebx, dword [edi + 8]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 4]
mov eax, dword [edi + 0xc]
mov dword [esp], ebx
call sym._build_policy_filename
mov ebx, eax
test eax, eax
je 0x1000338f
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CopyFileW]
sub esp, 0xc
mov esi, eax
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
test esi, esi
jne 0x100031d3
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
movzx eax, dx
or eax, 0x80070000
test edx, edx
cmovle eax, edx
mov dword [ebp - 0x1c], eax
test byte [0x10006018], 4
je 0x100031d3
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.failed_to_copy_policy_manifest_file_0x_08lx_n
mov dword [esp + 8], str.install_policy
mov dword [esp + 4], 0x10006018
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0
jmp 0x100031d3
mov eax, dword [ebp + 0x10]
mov edx, edi
call sym._install_assembly
mov dword [ebp - 0x1c], eax
jmp 0x100031d7
mov dword [ebp - 0x1c], 0x8007000e
jmp 0x100031d7