Function at 0x46cf9c
Capabilities:
Copy file
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
xor eax, eax
mov dword [ebp - 4], eax
push 0x4d3d28
push dword [ebp + 8]
call fcn.004a3278
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
test edx, edx
jne 0x46cfde
call sub.KERNEL32.DLL_GetLastError
push eax
push dword [ebp + 8]
push 0x4d3d2e
call fcn.0049ad5c
add esp, 0xc
xor eax, eax
jmp 0x46d27f
push dword [ebp + 8]
call fcn.0046cc30
pop ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
test edx, edx
jg 0x46d017
call sub.KERNEL32.DLL_GetLastError
push eax
push dword [ebp + 8]
push 0x4d3d92
call fcn.0049ad5c
add esp, 0xc
push dword [ebp - 8]
call fcn.0049f94c
pop ecx
xor eax, eax
jmp 0x46d27f
push dword [ebp - 0xc]
call fcn.0040fb2c
pop ecx
mov dword [ebp - 0x10], eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push 1
push dword [ebp - 0x10]
call fcn.0049fef8
add esp, 0x10
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x46d06d
call sub.KERNEL32.DLL_GetLastError
push eax
push dword [ebp + 8]
push 0x4d3dec
call fcn.0049ad5c
add esp, 0xc
push dword [ebp - 8]
call fcn.0049f94c
pop ecx
lea ecx, [ebp - 0x10]
push ecx
call fcn.0040fb70
pop ecx
xor eax, eax
jmp 0x46d27f
push dword [ebp - 8]
call fcn.0049f94c
pop ecx
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call fcn.0046cba0
add esp, 8
test eax, eax
je 0x46d1f9
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
add edx, 0xc
push edx
call fcn.0046c768
add esp, 0x14
push dword [ebp + 0xc]
call sub.KERNEL32.DLL_GetFileAttributesW
mov dword [ebp - 0x14], eax
push 0x80
push dword [ebp + 0xc]
call sub.KERNEL32.DLL_SetFileAttributesW
mov ecx, dword [0x4d3a1c]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [0x4d3a20]
mov dword [ebp - 0x18], ecx
mov eax, dword [0x4d3a24]
mov dword [ebp - 0x24], eax
mov eax, dword [0x4d3a28]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x1c]
push ecx
push dword [ebp + 8]
call fcn.0046ccbc
add esp, 0xc
push 0x4d3e38
push dword [ebp + 0xc]
call fcn.004a3278
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
test eax, eax
jne 0x46d14a
call sub.KERNEL32.DLL_GetLastError
push eax
push dword [ebp + 0xc]
push 0x4d3e3e
call fcn.0049ad5c
add esp, 0xc
lea edx, [ebp - 0x10]
push edx
call fcn.0040fb70
pop ecx
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xffffffff
je 0x46d143
push dword [ebp - 0x14]
push dword [ebp + 0xc]
call sub.KERNEL32.DLL_SetFileAttributesW
xor eax, eax
jmp 0x46d27f
push dword [ebp - 8]
push 0x400
push 1
push dword [ebp + 0x10]
call fcn.004a016c
add esp, 0x10
cmp eax, 0x400
je 0x46d17c
call sub.KERNEL32.DLL_GetLastError
push eax
push dword [ebp + 0xc]
push 0x4d3ea8
call fcn.0049ad5c
add esp, 0xc
push dword [ebp - 8]
push dword [ebp - 0xc]
push 1
push dword [ebp - 0x10]
call fcn.004a016c
add esp, 0x10
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x46d1ae
call sub.KERNEL32.DLL_GetLastError
push eax
push dword [ebp + 0xc]
push 0x4d3f06
call fcn.0049ad5c
add esp, 0xc
jmp 0x46d1b5
mov dword [ebp - 4], 1
push dword [ebp - 8]
call fcn.0049f94c
pop ecx
lea ecx, [ebp - 0x24]
push ecx
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 0xc]
call fcn.0046cd0c
add esp, 0xc
mov edx, dword [ebp - 0x14]
cmp edx, 0xffffffff
je 0x46d1e4
push dword [ebp - 0x14]
push dword [ebp + 0xc]
call sub.KERNEL32.DLL_SetFileAttributesW
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0x4d3f54
call fcn.0049ad5c
add esp, 0xc
jmp 0x46d272
push dword [ebp + 8]
push 0x4d3f9c
call fcn.0049ad5c
add esp, 8
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0049df3c
add esp, 8
test eax, eax
je 0x46d272
mov ecx, dword [0x4d3a2c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [0x4d3a30]
mov dword [ebp - 0x28], ecx
mov eax, dword [0x4d3a34]
mov dword [ebp - 0x34], eax
mov eax, dword [0x4d3a38]
mov dword [ebp - 0x30], eax
lea edx, [ebp - 0x34]
push edx
lea ecx, [ebp - 0x2c]
push ecx
push dword [ebp + 8]
call fcn.0046ccbc
add esp, 0xc
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call sub.KERNEL32.DLL_CopyFileW
lea eax, [ebp - 0x34]
push eax
lea edx, [ebp - 0x2c]
push edx
push dword [ebp + 0xc]
call fcn.0046cd0c
add esp, 0xc
lea ecx, [ebp - 0x10]
push ecx
call fcn.0040fb70
pop ecx
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret