Function at 0x14003e86c
Capabilities:
Copy file
Delete file
Get common file path
Read .ini file
Set file attributes

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x620
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x140099938]
xor rax, rsp
mov qword [rsp + 0x610], rax
mov r13, rcx
mov ebp, 0x100
lea rcx, [rsp + 0x60]
call fcn.1400527a8
nop
mov r12d, 7
mov qword [rsp + 0xc8], r12
xor edi, edi
mov qword [rsp + 0xc0], rdi
mov word [rsp + 0xb0], di
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe8], rdi
mov word [rsp + 0xd8], di
cmp dword [r13 + 0xe8], edi
jne 0x14003e976
mov ecx, 0x3e9
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
cmp qword [rsp + 0xf0], 8
jb 0x14003e91d
mov rcx, qword [rsp + 0xd8]
call fcn.14005ab0c
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe8], rdi
mov word [rsp + 0xd8], di
cmp qword [rsp + 0xc8], 8
jb 0x14003e94d
mov rcx, qword [rsp + 0xb0]
call fcn.14005ab0c
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xc0], rdi
mov word [rsp + 0xb0], di
lea rcx, [rsp + 0x60]
call fcn.140052808
xor eax, eax
jmp 0x14003f1f7
cmp qword [r13 + 0xb0], 8
jb 0x14003e989
mov rcx, qword [r13 + 0x98]
jmp 0x14003e990
lea rcx, [r13 + 0x98]
call fcn.140041dfc
cmp eax, edi
jne 0x14003ea16
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
cmp qword [rsp + 0xf0], 8
jb 0x14003e9bd
mov rcx, qword [rsp + 0xd8]
call fcn.14005ab0c
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe8], rdi
mov word [rsp + 0xd8], di
cmp qword [rsp + 0xc8], 8
jb 0x14003e9ed
mov rcx, qword [rsp + 0xb0]
call fcn.14005ab0c
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xc0], rdi
mov word [rsp + 0xb0], di
lea rcx, [rsp + 0x60]
call fcn.140052808
xor eax, eax
jmp 0x14003f1f7
lea rcx, [r13 + 8]
call fcn.1400078cc
lea rcx, [r13 + 0x38]
call fcn.1400078cc
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x110], rdi
mov word [rsp + 0x100], di
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], rdi
mov word [rsp + 0x150], di
lea rdx, [r13 + 0xb8]
or r12, 0xffffffffffffffff
mov r9, r12
xor r8d, r8d
lea rcx, [rsp + 0x148]
call fcn.140002130
nop
mov qword [rsp + 0x140], 7
mov qword [rsp + 0x138], rdi
mov word [rsp + 0x128], di
mov r9, r12
xor r8d, r8d
lea rdx, [r13 + 0x90]
lea rcx, [rsp + 0xf8]
call fcn.140002130
mov ebx, 0x20a
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x400]
call fcn.14005bb90
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x1f0]
call fcn.14005bb90
lea rdx, [rsp + 0x400]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, edi
je 0x14003eb91
lea r9, [rsp + 0x1f0]
xor r8d, r8d
lea rdx, [0x140080118]
lea rcx, [rsp + 0x400]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
cmp eax, edi
je 0x14003eb91
lea rcx, [rsp + 0x100]
cmp qword [rsp + 0x118], 8
cmovae rcx, qword [rsp + 0x100]
xor r8d, r8d
lea rdx, [rsp + 0x1f0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, edi
je 0x14003eb91
lea r9, [rsp + 0x1f0]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov edx, 0x80
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rsp + 0x1f0]
call fcn.14005b1c0
mov r8, rax
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0xf8]
call fcn.140002280
lea r9, [rsp + 0x100]
cmp qword [rsp + 0x118], 8
cmovae r9, qword [rsp + 0x100]
lea r8, str.strTargetInfFile___1_lS__IN_n
lea r12, str.CDeviceInfSection::GetList
mov rdx, r12
mov ecx, 5
call fcn.140009480
mov r8d, 0x800
lea rdx, str...CommonDeviceInf.cpp
mov ecx, 0x200
call fcn.140048afc
mov rbx, rax
cmp rax, rdi
je 0x14003ec9a
lea rcx, [rsp + 0x100]
cmp qword [rsp + 0x118], 8
cmovae rcx, qword [rsp + 0x100]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 2
lea r9, [rsp + 0x58]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rsp + 0x100]
cmp qword [rsp + 0x118], 8
cmovae r9, qword [rsp + 0x100]
lea rcx, [rsp + 0x150]
cmp qword [rsp + 0x168], 8
cmovae rcx, qword [rsp + 0x150]
mov r8d, ebp
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea ecx, [rbp - 2]
cmp ecx, eax
jne 0x14003ec9a
mov rcx, rbx
call fcn.140048b24
add ebp, 0x100
mov ecx, ebp
add rcx, rcx
mov r8d, 0x80b
lea rdx, str...CommonDeviceInf.cpp
call fcn.140048afc
mov rbx, rax
cmp rax, rdi
jne 0x14003ebe9
cmp word [rsp + 0x1f0], di
je 0x14003ece1
lea r9, [rsp + 0x1f0]
lea r8, str.Delete_the_temp_file.___1_lS___n
mov rdx, r12
mov ecx, 5
call fcn.140009480
mov edx, 0x80
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea r8, str.pItems_successfully_gotten._n
mov rdx, r12
mov ecx, 5
call fcn.140009480
cmp rbx, rdi
jne 0x14003edf8
cmp qword [rsp + 0x140], 8
jb 0x14003ed16
mov rcx, qword [rsp + 0x128]
call fcn.14005ab0c
mov ebx, 7
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x138], rdi
mov word [rsp + 0x128], di
cmp qword [rsp + 0x168], 8
jb 0x14003ed4b
mov rcx, qword [rsp + 0x150]
call fcn.14005ab0c
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x160], rdi
mov word [rsp + 0x150], di
cmp qword [rsp + 0x118], 8
jb 0x14003ed7b
mov rcx, qword [rsp + 0x100]
call fcn.14005ab0c
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x110], rdi
mov word [rsp + 0x100], di
cmp qword [rsp + 0xf0], 8
jb 0x14003edab
mov rcx, qword [rsp + 0xd8]
call fcn.14005ab0c
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xe8], rdi
mov word [rsp + 0xd8], di
cmp qword [rsp + 0xc8], 8
jb 0x14003eddb
mov rcx, qword [rsp + 0xb0]
call fcn.14005ab0c
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rdi
mov word [rsp + 0xb0], di
jmp 0x14003f1eb
lea rcx, [rsp + 0x60]
call fcn.140052ee8
mov rbp, rbx
cmp word [rbx], di
je 0x14003ee9b
mov rcx, rbp
call fcn.14005b1c0
mov r8, rax
mov rdx, rbp
lea rcx, [rsp + 0x120]
call fcn.140002280
lea r9, [rsp + 0x128]
cmp qword [rsp + 0x140], 8
cmovae r9, qword [rsp + 0x128]
lea r8, str.strItem____1_s___n
mov rdx, r12
mov ecx, 5
call fcn.140009480
lea rdx, [rsp + 0x128]
cmp qword [rsp + 0x140], 8
cmovae rdx, qword [rsp + 0x128]
lea rcx, [rsp + 0x60]
call fcn.140053230
xor edx, edx
mov rcx, rbp
call fcn.14005dae4
mov rbp, rax
cmp rax, rdi
je 0x14003ee9b
add rbp, 2
cmp word [rbp], di
jne 0x14003ee0e
mov rcx, rbx
call fcn.140048b24
nop
cmp qword [rsp + 0x140], 8
jb 0x14003eebc
mov rcx, qword [rsp + 0x128]
call fcn.14005ab0c
mov ebx, 7
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x138], rdi
mov word [rsp + 0x128], di
cmp qword [rsp + 0x168], 8
jb 0x14003eef1
mov rcx, qword [rsp + 0x150]
call fcn.14005ab0c
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x160], rdi
mov word [rsp + 0x150], di
cmp qword [rsp + 0x118], 8
jb 0x14003ef21
mov rcx, qword [rsp + 0x100]
call fcn.14005ab0c
lea rcx, [rsp + 0x170]
call fcn.140051550
nop
mov r12d, edi
lea rcx, [rsp + 0x60]
call fcn.140051294
cmp rax, rdi
jbe 0x14003f178
mov rbp, rdi
lea rcx, [rsp + 0x170]
call fcn.14005239c
mov rdx, rbp
lea rcx, [rsp + 0x60]
call fcn.1400512bc
mov rbx, rax
mov rdx, rbp
lea rcx, [rsp + 0x60]
call fcn.1400513e4
mov rdx, rax
lea r8, [rbx + 1]
mov rcx, r13
call sym.DELDRV64.exe_protected:_int___cdecl_CDeviceInfSection::IsComment_wchar_t_const____ptr64__unsigned_long_long_unsigned___int64_____ptr64
cmp eax, edi
jne 0x14003f15a
mov rdx, rbp
lea rcx, [rsp + 0x60]
call fcn.1400512bc
mov rbx, rax
mov rdx, rbp
lea rcx, [rsp + 0x60]
call fcn.1400513e4
mov rdx, rax
lea r8, [rbx + 1]
lea rcx, [rsp + 0x170]
call fcn.140052064
cmp qword [r13 + 0xe0], rdi
jne 0x14003f01b
lea rcx, [rsp + 0x170]
call fcn.140051528
mov rbx, rax
mov rcx, rax
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.140002280
lea rcx, [rsp + 0x170]
call fcn.14005153c
mov rbx, rax
mov rcx, rax
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xd0]
call fcn.140002280
jmp 0x14003f08f
lea rcx, [rsp + 0x170]
call fcn.140051528
mov rdx, rax
mov rcx, qword [r13 + 0xe0]
call fcn.14005429c
mov rbx, rax
mov rcx, rax
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.140002280
lea rcx, [rsp + 0x170]
call fcn.14005153c
mov rdx, rax
mov rcx, qword [r13 + 0xe0]
call fcn.14005429c
mov rbx, rax
mov rcx, rax
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xd0]
call fcn.140002280
lea rbx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 8
cmovae rbx, qword [rsp + 0xb0]
mov ebp, 7
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rdi
mov word [rsp + 0x38], di
mov rcx, rbx
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140002280
nop
lea rdx, [rsp + 0x30]
lea rcx, [r13 + 8]
call fcn.14001a3a4
nop
cmp qword [rsp + 0x50], 8
jb 0x14003f0f7
mov rcx, qword [rsp + 0x38]
call fcn.14005ab0c
lea rbx, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 8
cmovae rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rdi
mov word [rsp + 0x38], di
mov rcx, rbx
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140002280
nop
lea rdx, [rsp + 0x30]
lea rcx, [r13 + 0x38]
call fcn.14001a3a4
nop
cmp qword [rsp + 0x50], 8
jb 0x14003f15a
mov rcx, qword [rsp + 0x38]
call fcn.14005ab0c
inc r12d
mov ebp, r12d
lea rcx, [rsp + 0x60]
call fcn.140051294
cmp rbp, rax
jb 0x14003ef48
mov ebx, 7
lea rcx, [rsp + 0x170]
call fcn.14005158c
nop
cmp qword [rsp + 0xf0], 8
jb 0x14003f19e
mov rcx, qword [rsp + 0xd8]
call fcn.14005ab0c
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xe8], rdi
mov word [rsp + 0xd8], di
cmp qword [rsp + 0xc8], 8
jb 0x14003f1ce
mov rcx, qword [rsp + 0xb0]
call fcn.14005ab0c
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rdi
mov word [rsp + 0xb0], di
mov edi, 1
lea rcx, [rsp + 0x60]
call fcn.140052808
mov eax, edi
mov rcx, qword [rsp + 0x610]
xor rcx, rsp
call fcn.14005bad0
lea r11, [rsp + 0x620]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret