Function at 0x43da00
Capabilities:
Check if file exists
Copy file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47dc38
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x4b42b0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x43da37
call fcn.00438620
lea edi, [esi + 0x38]
push esi
push edi
call fcn.0043e3b0
add esp, 8
test eax, eax
jne 0x43da72
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x48f01c
push 0x4ad35c
push eax
call fcn.0044449a
call fcn.00412ed0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x43da8e
push 0x80004005
call fcn.00412c60
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
push str.ezY1MzQxIiYMHAYZLggVAxElLxg7JAklGQ8OOSQODwkGOSYnPhMCFT87GwA9KxMXHREQAxcLFysYPAwtHQoHNzwdDi44PAYpBzQgKwM1LAg5FicENz0kBSUpNAYAKgYzDAM4Ig84KRMGAzIkMRg5NhYbLTIiCQwPLCsVPgA7PjkJPi0MPhYeGCEwMSUrPSsILgIQFiMVDD0TODcQPDEXEToiCg4dDSEfETYfATILPAkIOj4hLRgVFjgbGAYOFBkEGQAKCx4HOz4_Iw0WCDALICk7OysIAjwPARwyKjg1KAAAANs
push eax
call fcn.00429a60
add esp, 8
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov byte [ebp - 4], 1
sub eax, ebx
jne 0x43daca
push str.invalid_vector_T__subscript
call fcn.00441bba
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x43dad9
mov ecx, esi
call fcn.00438620
push ebx
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00436a40
add esp, 0xc
push dword [eax]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004113d0
push dword [eax]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
push dword [edi]
call fcn.00425220
mov edx, dword [ebp - 0x14]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov byte [ebp - 4], 2
mov eax, ebx
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x43db28
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov ecx, ebx
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43db48
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
test eax, eax
je 0x43db5c
push eax
call fcn.0044317c
add esp, 4
call fcn.00412ed0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x43db78
push 0x80004005
call fcn.00412c60
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 4
push str.ezY1MwIZGhotPSQhHwwZGB0zLiEmFCoYFR4qGDQuFB4HMDA2IBMXBgUbCDEUGBsnCBcQKS42KQUgDyIWGR8ODxQODopIi05IioCPTYRPQQjJA4AAD0sJzY1HwERHgMDGD0DAhAMOCEBHhMyPyokIzIESY5KRYiPzwoGCs9OxYsGxsiPCISPQAAAIQ
push eax
call fcn.00429a60
add esp, 8
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov byte [ebp - 4], 5
sub eax, edi
jne 0x43dbb1
push str.invalid_vector_T__subscript
call fcn.00441bba
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x43dbc0
mov ecx, esi
call fcn.00438620
push edi
lea eax, [ebp - 0x20]
push esi
push eax
call fcn.00436a40
add esp, 0xc
push dword [eax]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.004113d0
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
push dword [eax]
call fcn.00425220
mov edx, dword [ebp - 0x1c]
mov ecx, ebx
add edx, 0xfffffff0
mov byte [ebp - 4], 6
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43dc10
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
mov ecx, ebx
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43dc30
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 4
test eax, eax
je 0x43dc44
push eax
call fcn.0044317c
add esp, 4
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x10]
push esi
mov dword [ebp - 0x10], 0
call fcn.00411470
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 8
call fcn.0043c140
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43dc75
test al, 0x10
jne 0x43dc98
lea eax, [ebp - 0x10]
push eax
call fcn.0042b5d0
add esp, 4
test eax, eax
je 0x43dc98
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x28], 0xb
jmp 0x43da56
mov edi, dword [ebp - 0x18]
push 0
push esi
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x43dcce
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x40], 0x48f01c
push 0x4ad35c
jmp 0x43da6c
mov edx, dword [ebp - 0x10]
mov ecx, ebx
add edx, 0xfffffff0
mov byte [ebp - 4], 4
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43dcee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0
mov ecx, ebx
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43dd0b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x43dd29
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4