Function at 0x792165a0
Capabilities:
Copy file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x34
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
test byte [0x7922a138], 8
jne 0x79216770
test esi, esi
je 0x79216710
test edi, edi
je 0x79216750
cmp dword [edi], 0x43415441
jne 0x79216750
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x79216750
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x79216750
add edi, 4
mov dword [esp], edi
call sym._lstrlenW_4
sub esp, 4
mov dword [ebp - 0x14], eax
mov dword [esp], esi
call sym._lstrlenW_4
sub esp, 4
mov ebx, eax
call sym._GetProcessHeap_0
mov ecx, dword [ebp - 0x14]
mov dword [esp + 4], 0
mov dword [esp], eax
lea ecx, [ecx + ebx + 2]
add ecx, ecx
mov dword [esp + 8], ecx
call sym._HeapAlloc_12
sub esp, 0xc
mov ebx, eax
test eax, eax
je 0x79216804
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._lstrcpyW_8
sub esp, 8
mov dword [esp + 4], 0x7922c044
mov dword [esp], ebx
call sym._lstrcatW_8
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym._lstrcatW_8
mov eax, dword [ebp + 0xc]
sub esp, 8
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._CopyFileW_12
sub esp, 0xc
test eax, eax
je 0x792167e1
mov dword [esp + 4], 4
mov dword [esp], ebx
call sym._SetFileAttributesW_8
sub esp, 8
call sym._GetProcessHeap_0
mov dword [esp + 8], 0x20c
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapAlloc_12
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x79216820
mov dword [eax], 0x43415449
lea eax, [eax + 4]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._lstrcpyW_8
sub esp, 8
call sym._GetProcessHeap_0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapFree_12
mov eax, esi
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
test byte [0x7922a138], 1
je 0x79216750
mov dword [esp + 0x14], str.NULL_basename_not_handled_n
mov dword [esp + 0x10], 0xb0
mov dword [esp + 0xc], str.CryptCATAdminAddCatalog
mov dword [esp + 8], 0x7922b851
mov dword [esp + 4], 0x7922a138
mov dword [esp], 0
call sym._ros_dbg_log
lea esi, [esi]
mov dword [esp], 0x57
xor esi, esi
call sym._SetLastError_4
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call sym._wine_dbgstr_wn
mov dword [esp + 4], 0xffffffff
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], str._p__s__s__d_n
mov dword [esp + 0x10], 0xab
mov dword [esp + 0xc], str.CryptCATAdminAddCatalog
mov dword [esp + 8], 0x7922b851
mov dword [esp + 4], 0x7922a138
mov dword [esp], 3
call sym._ros_dbg_log
jmp 0x792165bc
call sym._GetProcessHeap_0
mov dword [esp + 8], ebx
xor esi, esi
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapFree_12
sub esp, 0xc
jmp 0x79216761
mov dword [esp], 0xe
xor esi, esi
call sym._SetLastError_4
sub esp, 4
jmp 0x79216761
call sym._GetProcessHeap_0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapFree_12
sub esp, 0xc
mov dword [esp], 0xe
call sym._SetLastError_4
sub esp, 4
jmp 0x79216761