Function at 0x101b7b7
Capabilities:
Copy file
Delete file
Get common file path
Set file attributes
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x678
mov eax, dword [0x102c22c]
mov edx, dword [ebp + 8]
or dword [ebp - 0x64c], 0xffffffff
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x650], eax
mov eax, dword [ebp + 0x10]
push 0xa
pop ecx
mov dword [ebp - 0x658], eax
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov esi, 0x1007160
lea edi, [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x668], eax
mov dword [eax], ebx
lea eax, [ebp - 0x678]
push eax
push ebx
push dword [ebp - 0x650]
mov dword [ebp - 0x654], edx
push edx
mov dword [ebp - 0x65c], ebx
mov byte [ebp - 0x130], bl
call dword [sym.imp.UPDSPAPI.dll_UpdSpFindFirstLineA]
test eax, eax
jne 0x101b84f
push dword [ebp - 0x650]
push 0x1007120
call fcn.01015c5a
pop ecx
pop ecx
mov dword [ebp - 0x65c], 1
jmp 0x101bc70
mov esi, 0x104
push esi
lea eax, [ebp - 0x644]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x101bc70
lea eax, [ebp - 0x130]
push eax
push ebx
push 0x1007118
lea eax, [ebp - 0x644]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
je 0x101bc70
push esi
lea eax, [ebp - 0x338]
push eax
push 0x1007108
lea eax, [ebp - 0x644]
push eax
mov byte [ebp - 0x338], bl
call fcn.01015121
cmp byte [ebp - 0x338], bl
jne 0x101b8bf
push 0x7a
call fcn.0100d556
jmp 0x101bc70
push ebx
push 0x80
push 3
push ebx
push 1
push 0x40000000
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x648], eax
jne 0x101b907
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x130]
push eax
push 0x10070c8
call fcn.01015c5a
add esp, 0xc
jmp 0x101bc70
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
lea ecx, [ebp - 0x660]
push ecx
push 0x27
lea ecx, [ebp - 0x2c]
push ecx
push eax
call esi
test eax, eax
je 0x101bc36
push dword [ebp - 0x658]
mov edi, 0x103
push 0x10070bc
lea eax, [ebp - 0x234]
push edi
push eax
call sub.ntdll.dll__snprintf
lea eax, [ebp - 0x234]
add esp, 0x10
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x101b94f
sub eax, ecx
push ebx
lea ecx, [ebp - 0x660]
push ecx
push eax
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x648]
call esi
test eax, eax
je 0x101bc36
push ebx
lea eax, [ebp - 0x338]
push eax
call fcn.01017367
test eax, eax
je 0x101bb5d
push 0x80
lea eax, [ebp - 0x338]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x664]
push eax
push 2
push ebx
lea eax, [ebp - 0x338]
push eax
mov dword [ebp - 0x664], ebx
call dword [sym.imp.UPDSPAPI.dll_UpdSpOpenInfFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x64c], eax
jne 0x101b9eb
cmp dword [ebp - 0x664], ebx
jne 0x101bb19
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x338]
push eax
push 0x1007078
jmp 0x101bc49
push dword [ebp - 0x648]
push dword [ebp - 0x658]
push eax
call fcn.0101805c
test eax, eax
je 0x101bc36
push dword [ebp - 0x648]
push dword [ebp - 0x650]
push dword [ebp - 0x654]
call fcn.0101805c
test eax, eax
je 0x101bc36
push 0x104
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x650]
call fcn.01018155
test eax, eax
je 0x101bb06
push 0x104
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x658]
call fcn.01018155
test eax, eax
jne 0x101ba78
push 0x1003ce8
push 0x1001aa4
lea eax, [ebp - 0x43c]
push edi
push eax
call sub.ntdll.dll__snprintf
add esp, 0x10
lea eax, [ebp - 0x43c]
push eax
push 0x10070bc
lea eax, [ebp - 0x234]
push edi
push eax
call sub.ntdll.dll__snprintf
lea eax, [ebp - 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x101ba9d
push ebx
lea ecx, [ebp - 0x660]
push ecx
sub eax, edi
push eax
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x648]
call esi
test eax, eax
je 0x101bc36
push dword [ebp - 0x648]
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x64c]
call fcn.0101805c
test eax, eax
je 0x101bc36
push dword [ebp - 0x648]
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x654]
call fcn.0101805c
test eax, eax
je 0x101bc36
push dword [ebp - 0x64c]
call dword [sym.imp.UPDSPAPI.dll_UpdSpCloseInfFile]
or dword [ebp - 0x64c], 0xffffffff
push ebx
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x101bc53
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x130]
push eax
push 0x1007034
call fcn.01015c5a
add esp, 0x10
jmp 0x101bc64
push dword [ebp - 0x648]
push dword [ebp - 0x650]
push dword [ebp - 0x654]
call fcn.0101805c
test eax, eax
je 0x101bc36
push 0x104
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x650]
call fcn.01018155
test eax, eax
je 0x101bb19
push 0x104
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x658]
call fcn.01018155
test eax, eax
jne 0x101bbcc
push 0x1003ce8
push 0x1001aa4
lea eax, [ebp - 0x43c]
push edi
push eax
call sub.ntdll.dll__snprintf
add esp, 0x10
lea eax, [ebp - 0x43c]
push eax
push 0x10070bc
lea eax, [ebp - 0x234]
push edi
push eax
call sub.ntdll.dll__snprintf
lea eax, [ebp - 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x101bbf1
push ebx
lea ecx, [ebp - 0x660]
push ecx
sub eax, edi
push eax
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x648]
call esi
test eax, eax
je 0x101bc36
push dword [ebp - 0x648]
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x654]
call fcn.0101805c
test eax, eax
jne 0x101bb19
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x130]
push eax
push 0x1006ff0
call fcn.01015c5a
add esp, 0xc
jmp 0x101bc64
mov ecx, dword [ebp - 0x668]
xor eax, eax
inc eax
mov dword [ecx], eax
mov dword [ebp - 0x65c], eax
push dword [ebp - 0x648]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0x130], bl
pop edi
pop esi
pop ebx
je 0x101bc88
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x64c], 0xffffffff
je 0x101bc9d
push dword [ebp - 0x64c]
call dword [sym.imp.UPDSPAPI.dll_UpdSpCloseInfFile]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x65c]
call fcn.0101439a
leave
ret 0x10