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

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0x700
mov qword [rsp + 0x160], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x140099938]
xor rax, rsp
mov qword [rsp + 0x6f0], rax
mov rsi, rdx
mov rbp, rcx
lea rcx, [r11 - 0x678]
call fcn.1400527a8
nop
mov edi, 0x100
mov r14d, 7
mov qword [rsp + 0x248], r14
xor r12d, r12d
mov qword [rsp + 0x240], r12
mov word [rsp + 0x230], r12w
mov qword [rsp + 0x1f8], r14
mov qword [rsp + 0x1f0], r12
mov word [rsp + 0x1e0], r12w
lea rcx, [rbp + 8]
call fcn.1400055bc
mov qword [rsp + 0x220], r14
mov qword [rsp + 0x218], r12
mov word [rsp + 0x208], r12w
mov rcx, rsi
call fcn.14005b1c0
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x200]
call fcn.140002280
mov ebx, 0x20a
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x4e0]
call fcn.14005bb90
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x2d0]
call fcn.14005bb90
lea rdx, [rsp + 0x4e0]
lea ecx, [rdi + 5]
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, r12d
je 0x140053c4f
lea r9, [rsp + 0x2d0]
xor r8d, r8d
lea rdx, [0x140083db0]
lea rcx, [rsp + 0x4e0]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
cmp eax, r12d
je 0x140053c4f
xor r8d, r8d
lea rdx, [rsp + 0x2d0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, r12d
je 0x140053c4f
lea r9, [rsp + 0x2d0]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea edx, [rdi - 0x80]
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rsp + 0x2d0]
call fcn.14005b1c0
mov r8, rax
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x200]
call fcn.140002280
lea r9, [rsp + 0x208]
cmp qword [rsp + 0x220], 8
cmovae r9, qword [rsp + 0x208]
lea r8, str.strTargetInfFile___1_lS__IN_n
lea rdx, str.CInfStringTable::GetTableWFN
mov esi, 5
mov ecx, esi
call fcn.140009480
mov r8d, 0x39f
lea rdx, str...CommonString.cpp
mov ecx, 0x200
call fcn.140048afc
mov rbx, rax
cmp rax, r12
je 0x140053d56
lea rcx, [rsp + 0x208]
cmp qword [rsp + 0x220], 8
cmovae rcx, qword [rsp + 0x208]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 2
lea r9, [rsp + 0x30]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rsp + 0x208]
cmp qword [rsp + 0x220], 8
cmovae r9, qword [rsp + 0x208]
mov r8d, edi
mov rdx, rbx
lea rcx, str.Strings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea ecx, [rdi - 2]
cmp ecx, eax
jne 0x140053d3d
mov rcx, rbx
call fcn.140048b24
add edi, 0x100
mov ecx, edi
add rcx, rcx
mov r8d, 0x3aa
lea rdx, str...CommonString.cpp
call fcn.140048afc
mov rbx, rax
jmp 0x140053d4d
cmp eax, r12d
jne 0x140053d56
mov rcx, rbx
call fcn.140048b24
mov rbx, r12
cmp rbx, r12
jne 0x140053ca6
cmp word [rsp + 0x2d0], r12w
je 0x140053d9f
lea r9, [rsp + 0x2d0]
lea r8, str.Delete_the_temp_file.___1_lS___n
lea rdx, str.CInfStringTable::GetTableWFN
mov ecx, esi
call fcn.140009480
mov edx, 0x80
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp rbx, r12
je 0x140053e5d
lea rcx, [rsp + 0xb0]
call fcn.140052ee8
mov rdi, rbx
cmp word [rbx], r12w
je 0x140053e53
mov rcx, rdi
call fcn.14005b1c0
mov r8, rax
mov rdx, rdi
lea rcx, [rsp + 0x228]
call fcn.140002280
lea r9, [rsp + 0x230]
cmp qword [rsp + 0x248], 8
cmovae r9, qword [rsp + 0x230]
lea r8, str.strItem____1_s___n
lea rdx, str.CInfStringTable::GetTableWFN
mov ecx, esi
call fcn.140009480
lea rdx, [rsp + 0x230]
cmp qword [rsp + 0x248], 8
cmovae rdx, qword [rsp + 0x230]
lea rcx, [rsp + 0xb0]
call fcn.140053230
xor edx, edx
mov rcx, rdi
call fcn.14005dae4
mov rdi, rax
cmp rax, r12
je 0x140053e53
add rdi, 2
cmp word [rdi], r12w
jne 0x140053dc2
mov rcx, rbx
call fcn.140048b24
jmp 0x140053e71
lea rdx, [0x140083af0]
lea rcx, [rsp + 0xb0]
call fcn.1400532bc
mov edi, r12d
lea rcx, [rsp + 0xb0]
call fcn.140051294
cmp rax, r12
jbe 0x1400541ce
mov rsi, r12
lea rcx, [rsp + 0x250]
call fcn.140051550
nop
mov rdx, rsi
lea rcx, [rsp + 0xb0]
call fcn.1400512bc
mov rbx, rax
mov rdx, rsi
lea rcx, [rsp + 0xb0]
call fcn.1400513e4
mov rdx, rax
lea r8, [rbx + 1]
lea rcx, [rsp + 0x250]
call fcn.140052064
lea rcx, [rsp + 0x250]
call fcn.140051528
mov rbx, rax
mov rcx, rax
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x1d8]
call fcn.140002280
lea rdx, [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 8
cmovae rdx, qword [rsp + 0x1e0]
lea r8, [rsp + 0x1d8]
lea rcx, [rsp + 0x150]
call fcn.140002f6c
movaps xmm5, xmmword [rsp + 0x150]
movdqa xmmword [rsp + 0x190], xmm5
lea rcx, [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 8
cmovae rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1f0]
lea rdx, [rcx + rax*2]
lea r8, [rsp + 0x1d8]
lea rcx, [rsp + 0x170]
call fcn.140002f6c
movaps xmm5, xmmword [rsp + 0x170]
movdqa xmmword [rsp + 0x140], xmm5
lea rdx, [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 8
cmovae rdx, qword [rsp + 0x1e0]
lea r8, [rsp + 0x1d8]
lea rcx, [rsp + 0x1a0]
call fcn.140002f6c
movaps xmm5, xmmword [rsp + 0x1a0]
movdqa xmmword [rsp + 0x180], xmm5
lea rax, [0x14005c48c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x190]
lea r8, [rsp + 0x140]
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x1b0]
call fcn.14000378c
lea r11, [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 8
cmovae r11, qword [rsp + 0x1e0]
cmp word [r11], 0x3b
jne 0x140054060
lea r9, [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 8
cmovae r9, qword [rsp + 0x1e0]
lea r8, str.strKey.data_____1_s__skipped._n
lea rdx, str.CInfStringTable::GetTableWFN
mov ecx, 5
call fcn.140009480
nop
lea rcx, [rsp + 0x250]
call fcn.14005158c
jmp 0x1400541b4
lea rcx, [rsp + 0x250]
call fcn.14005153c
mov rbx, rax
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r12
mov word [rsp + 0x40], r12w
mov rcx, rax
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140002280
nop
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x1d8]
lea rcx, [rsp + 0xf0]
call fcn.140013af8
nop
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140013b78
nop
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x1c0]
lea rcx, [rbp + 8]
call fcn.140015dac
nop
cmp qword [rsp + 0xa8], 8
jb 0x1400540f1
mov rcx, qword [rsp + 0x90]
call fcn.14005ab0c
mov qword [rsp + 0xa8], r14
mov qword [rsp + 0xa0], r12
mov word [rsp + 0x90], r12w
cmp qword [rsp + 0x80], 8
jb 0x14005411f
mov rcx, qword [rsp + 0x68]
call fcn.14005ab0c
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x78], r12
mov word [rsp + 0x68], r12w
cmp qword [rsp + 0x138], 8
jb 0x14005414a
mov rcx, qword [rsp + 0x120]
call fcn.14005ab0c
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x130], r12
mov word [rsp + 0x120], r12w
cmp qword [rsp + 0x110], 8
jb 0x14005417b
mov rcx, qword [rsp + 0xf8]
call fcn.14005ab0c
mov qword [rsp + 0x110], r14
mov qword [rsp + 0x108], r12
mov word [rsp + 0xf8], r12w
cmp qword [rsp + 0x58], 8
jb 0x1400541a7
mov rcx, qword [rsp + 0x40]
call fcn.14005ab0c
nop
lea rcx, [rsp + 0x250]
call fcn.14005158c
inc edi
mov esi, edi
lea rcx, [rsp + 0xb0]
call fcn.140051294
cmp rsi, rax
jb 0x140053e8d
cmp qword [rsp + 0x220], 8
jb 0x1400541e6
mov rcx, qword [rsp + 0x208]
call fcn.14005ab0c
mov qword [rsp + 0x220], r14
mov qword [rsp + 0x218], r12
mov word [rsp + 0x208], r12w
cmp qword [rsp + 0x1f8], 8
jb 0x140054217
mov rcx, qword [rsp + 0x1e0]
call fcn.14005ab0c
mov qword [rsp + 0x1f8], r14
mov qword [rsp + 0x1f0], r12
mov word [rsp + 0x1e0], r12w
cmp qword [rsp + 0x248], 8
jb 0x140054248
mov rcx, qword [rsp + 0x230]
call fcn.14005ab0c
mov qword [rsp + 0x248], r14
mov qword [rsp + 0x240], r12
mov word [rsp + 0x230], r12w
lea rcx, [rsp + 0xb0]
call fcn.140052808
mov eax, 1
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.14005bad0
mov rbx, qword [rsp + 0x740]
add rsp, 0x700
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret