Function at 0x480d11
Capabilities:
Copy file
Write file on windows

Disassembly:
push 0x34
mov eax, 0x5f97df
call fcn.005bb14d
mov dword [ebp - 0x24], ecx
push 0x63
push 0xa
lea eax, [ebp - 0x40]
xor ebx, ebx
push str.XMLDoc.cpp
push eax
mov dword [ebp - 0x18], ebx
call fcn.00408f4f
add esp, 0x10
mov dword [ebp - 4], 1
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], ebx
mov byte [ebp - 4], 3
cmp dword [ebp + 0x14], ebx
je 0x480e81
call fcn.004887ac
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040654d
mov byte [ebp - 4], 5
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x480e70
cmp word [edi], bx
je 0x480e70
push ebx
push edi
call fcn.004596d5
pop ecx
pop ecx
test eax, eax
je 0x480e70
push edi
lea ecx, [ebp + 0x14]
call fcn.00408edd
mov byte [ebp - 4], 6
mov esi, str..bak
push esi
call fcn.00481ae0
pop ecx
push eax
push esi
lea ecx, [ebp + 0x14]
call fcn.00409504
push ebx
push dword [ebp + 0x14]
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x480e61
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp + 0x14]
mov esi, eax
lea eax, [ebp + 0xc]
push edi
push str.CopyFile__s___s_
push eax
call fcn.00459852
mov byte [ebp - 4], 7
push ebx
push dword [eax]
lea eax, [ebp + 0x10]
push esi
push eax
call fcn.0042928a
add esp, 0x20
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1c]
push eax
call fcn.004067de
mov byte [ebp - 4], 7
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.00406e44
mov byte [ebp - 4], 6
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00406e44
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.00408eaa
xor esi, esi
inc esi
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 5
mov ecx, dword [ebp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00406e44
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00406e44
mov byte [ebp - 4], 2
test ebx, ebx
je 0x48106d
push esi
push ebx
jmp 0x481066
mov byte [ebp - 4], 5
mov ecx, dword [ebp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00406e44
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00406e44
jmp 0x480e84
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
push ebx
test esi, esi
jne 0x480f02
push 0x8000000
push 2
push ebx
push ebx
push 0x40000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp + 0x10], esi
mov dword [ebp - 0x14], esi
cmp esi, 0xffffffff
jne 0x480f12
push edi
lea eax, [ebp + 0x10]
push str.CreateFile__s_
push eax
call fcn.00459852
add esp, 0xc
mov byte [ebp - 4], 0xf
push ebx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp + 8]
call fcn.0042928a
add esp, 0x10
mov dword [ebp - 0x18], 1
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.00406e44
mov byte [ebp - 4], 2
test ebx, ebx
je 0x48106d
push 1
jmp 0x480e5b
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push esi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
push edx
mov eax, dword [eax + 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x88]
push ebx
test eax, eax
je 0x480f44
push str.IXMLDOMDocument::get_xml
push eax
push dword [ebp + 8]
call fcn.0042928a
add esp, 0x10
mov dword [ebp - 0x18], 1
jmp 0x480eef
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x20]
push ebx
push 0xfde9
call edi
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.004878e1
pop ecx
push ebx
push ebx
push esi
mov esi, eax
mov dword [ebp - 0x10], eax
push esi
push 0xffffffffffffffff
push dword [ebp - 0x20]
push ebx
push 0xfde9
call edi
push dword [ebp - 0x20]
mov edi, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x20], ebx
test edi, edi
jne 0x480fab
push ebx
push str.WideCharToMultiByte__
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp + 8]
call fcn.0042928a
add esp, 0x10
jmp 0x481054
cmp edi, 3
jbe 0x480fc1
cmp byte [esi + edi - 3], 0xd
jne 0x480fc1
cmp byte [esi + edi - 2], 0xa
jne 0x480fc1
add edi, 0xfffffffd
push ebx
lea eax, [ebp - 0x28]
push eax
push edi
mov edi, dword [ebp + 0x10]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x48101b
push dword [ebp + 0xc]
lea eax, [ebp + 0x10]
push str.WriteFile__s_
push eax
call fcn.00459852
add esp, 0xc
mov byte [ebp - 4], 0x11
push ebx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp + 8]
call fcn.0042928a
add esp, 0x10
mov dword [ebp - 0x18], 1
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.00406e44
jmp 0x48105b
push edi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x481031
push ebx
push 0x6244d4
jmp 0x480f94
push edi
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x481047
push ebx
push 0x6244f0
jmp 0x480f94
mov ecx, dword [ebp + 8]
push 0x60bba8
call fcn.00408edd
mov dword [ebp - 0x18], 1
mov byte [ebp - 4], 2
test esi, esi
je 0x48106d
push 1
push esi
call fcn.005bb24c
pop ecx
pop ecx
mov dword [ebp - 0x10], ebx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.00412e16
mov byte [ebp - 4], bl
mov eax, dword [ebp + 8]
call fcn.005bb116
ret 0x10