Function at 0x1079aa5
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 [0x1099a38]
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, 0x1027000
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 0x1079b3d
push dword [ebp - 0x650]
push 0x1026fc0
call fcn.01071ac0
pop ecx
pop ecx
mov dword [ebp - 0x65c], 1
jmp 0x1079f5e
mov esi, 0x104
push esi
lea eax, [ebp - 0x644]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x1079f5e
lea eax, [ebp - 0x130]
push eax
push ebx
push 0x100e230
lea eax, [ebp - 0x644]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
je 0x1079f5e
push esi
lea eax, [ebp - 0x338]
push eax
push 0x1026fb0
lea eax, [ebp - 0x644]
push eax
mov byte [ebp - 0x338], bl
call fcn.01070fc9
cmp byte [ebp - 0x338], bl
jne 0x1079bad
push 0x7a
call fcn.01037f35
jmp 0x1079f5e
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 0x1079bf5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x130]
push eax
push 0x1026f70
call fcn.01071ac0
add esp, 0xc
jmp 0x1079f5e
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 0x1079f24
push dword [ebp - 0x658]
mov edi, 0x103
push 0x1026f64
lea eax, [ebp - 0x234]
push edi
push eax
call sub.msvcrt.dll__snprintf
lea eax, [ebp - 0x234]
add esp, 0x10
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x1079c3d
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 0x1079f24
push ebx
lea eax, [ebp - 0x338]
push eax
call fcn.01073f21
test eax, eax
je 0x1079e4b
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 0x1079cd9
cmp dword [ebp - 0x664], ebx
jne 0x1079e07
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x338]
push eax
push 0x1026f20
jmp 0x1079f37
push dword [ebp - 0x648]
push dword [ebp - 0x658]
push eax
call fcn.01074d37
test eax, eax
je 0x1079f24
push dword [ebp - 0x648]
push dword [ebp - 0x650]
push dword [ebp - 0x654]
call fcn.01074d37
test eax, eax
je 0x1079f24
push 0x104
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x650]
call fcn.01074e2b
test eax, eax
je 0x1079df4
push 0x104
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x658]
call fcn.01074e2b
test eax, eax
jne 0x1079d66
push 0x100be3c
push 0x100bc20
lea eax, [ebp - 0x43c]
push edi
push eax
call sub.msvcrt.dll__snprintf
add esp, 0x10
lea eax, [ebp - 0x43c]
push eax
push 0x1026f64
lea eax, [ebp - 0x234]
push edi
push eax
call sub.msvcrt.dll__snprintf
lea eax, [ebp - 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1079d8b
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 0x1079f24
push dword [ebp - 0x648]
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x64c]
call fcn.01074d37
test eax, eax
je 0x1079f24
push dword [ebp - 0x648]
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x654]
call fcn.01074d37
test eax, eax
je 0x1079f24
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 0x1079f41
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x130]
push eax
push 0x1026edc
call fcn.01071ac0
add esp, 0x10
jmp 0x1079f52
push dword [ebp - 0x648]
push dword [ebp - 0x650]
push dword [ebp - 0x654]
call fcn.01074d37
test eax, eax
je 0x1079f24
push 0x104
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x650]
call fcn.01074e2b
test eax, eax
je 0x1079e07
push 0x104
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x658]
call fcn.01074e2b
test eax, eax
jne 0x1079eba
push 0x100be3c
push 0x100bc20
lea eax, [ebp - 0x43c]
push edi
push eax
call sub.msvcrt.dll__snprintf
add esp, 0x10
lea eax, [ebp - 0x43c]
push eax
push 0x1026f64
lea eax, [ebp - 0x234]
push edi
push eax
call sub.msvcrt.dll__snprintf
lea eax, [ebp - 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1079edf
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 0x1079f24
push dword [ebp - 0x648]
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x654]
call fcn.01074d37
test eax, eax
jne 0x1079e07
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x130]
push eax
push 0x1026e98
call fcn.01071ac0
add esp, 0xc
jmp 0x1079f52
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 0x1079f76
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x64c], 0xffffffff
je 0x1079f8b
push dword [ebp - 0x64c]
call dword [sym.imp.UPDSPAPI.dll_UpdSpCloseInfFile]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x65c]
call fcn.0106bc50
leave
ret 0x10