Function at 0x1090d770
Capabilities:
Copy file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 0x14], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [sym.imp.Core.dll_int___cdecl_winGetSizeANSI_unsigned_short_int_const__]
mov dword [ebp - 4], ecx
je 0x1090d7d7
mov eax, dword [sym.imp.Core.dll_int_GUnicodeOS]
cmp dword [eax], 0
je 0x1090d79e
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x1090d7d7
push esi
call edi
add esp, 4
test eax, eax
jne 0x1090d7ac
xor ebx, ebx
jmp 0x1090d7bf
push esi
call edi
add eax, 7
add esp, 4
and eax, 0xfffffff8
call fcn.10921870
mov ebx, esp
push 0
push esi
call edi
push eax
push esi
push ebx
call dword [sym.imp.Core.dll_char____cdecl_winToANSI_char___unsigned_short_int_const___int_]
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [ebp + 0x20]
test eax, eax
mov ecx, dword [ebp + 0x1c]
jne 0x1090d8a5
test ecx, ecx
jne 0x1090d8a5
mov ecx, dword [sym.imp.Core.dll_int_GUnicodeOS]
cmp dword [ecx], 0
je 0x1090d80e
mov eax, dword [ebp + 0xc]
xor edx, edx
cmp dword [ebp + 0x10], edx
sete dl
push edx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp 0x1090d88c
push esi
call edi
add esp, 4
test eax, eax
jne 0x1090d81d
mov dword [ebp + 0x14], eax
jmp 0x1090d831
push esi
call edi
add eax, 7
add esp, 4
and eax, 0xfffffff8
call fcn.10921870
mov dword [ebp + 0x14], esp
mov ebx, dword [ebp + 0xc]
push ebx
call edi
add esp, 4
test eax, eax
jne 0x1090d843
mov dword [ebp + 0xc], eax
jmp 0x1090d857
push ebx
call edi
add eax, 7
add esp, 4
and eax, 0xfffffff8
call fcn.10921870
mov dword [ebp + 0xc], esp
xor ecx, ecx
cmp dword [ebp + 0x10], ecx
sete cl
push ecx
push esi
call edi
mov edx, dword [ebp + 0x14]
push eax
push esi
push edx
call dword [sym.imp.Core.dll_char____cdecl_winToANSI_char___unsigned_short_int_const___int_]
add esp, 0x10
push eax
push ebx
call edi
push eax
mov eax, dword [ebp + 0xc]
push ebx
push eax
call dword [sym.imp.Core.dll_char____cdecl_winToANSI_char___unsigned_short_int_const___int_]
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x1090d894
xor ebx, ebx
jmp 0x1090d8c6
mov eax, 1
lea esp, [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
push eax
push ecx
mov ecx, dword [ebp - 4]
push esi
call fcn.1090128f
mov ebx, eax
test ebx, ebx
jne 0x1090d92c
cmp dword [ebp + 0x18], 0
jne 0x1090d92c
mov edx, dword [sym.imp.Core.dll_int_GUnicodeOS]
cmp dword [edx], 0
je 0x1090d8ee
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, ebx
lea esp, [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
push esi
call edi
add esp, 4
test eax, eax
jne 0x1090d8fd
mov dword [ebp + 0x10], eax
jmp 0x1090d911
push esi
call edi
add eax, 7
add esp, 4
and eax, 0xfffffff8
call fcn.10921870
mov dword [ebp + 0x10], esp
push 0
push esi
call edi
push eax
mov eax, dword [ebp + 0x10]
push esi
push eax
call dword [sym.imp.Core.dll_char____cdecl_winToANSI_char___unsigned_short_int_const___int_]
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, ebx
lea esp, [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c