Function at 0x1800b8680
Capabilities:
Check if file exists
Copy file
Get common file path
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x458]
sub rsp, 0x558
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov rsi, rcx
lea rcx, [rsp + 0x60]
call fcn.18008b240
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.18008b690
lea rdx, [0x18012cad8]
lea rcx, [rsp + 0x60]
call fcn.1800c2490
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.18008b110
lea rcx, [rsp + 0x40]
mov rbx, rax
call fcn.18008dd00
mov r8, qword [rbx + 0x10]
mov rcx, rax
mov rdx, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rax, rdx
sub rax, r9
cmp r8, rax
jbe 0x1800b8725
mov rax, qword [rbx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x1800b8725
cmp rdx, 0x10
jb 0x1800b8718
mov rcx, qword [rcx]
mov r8, rcx
mov rcx, rbx
call fcn.1800c7240
jmp 0x1800b8737
cmp qword [rbx + 0x18], 0x10
jb 0x1800b872f
mov rbx, qword [rbx]
mov rdx, rbx
call fcn.1800c22c0
movups xmm0, xmmword [rax]
xor edi, edi
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov byte [rax], dil
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], rdi
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800b8794
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b878f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fa9
call fcn.1800cf9b0
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
cmp rdx, 0x10
jb 0x1800b87e4
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b87df
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fa9
call fcn.1800cf9b0
lea rdx, [0x18012d378]
lea rcx, [rbp - 0x80]
call fcn.1800c2490
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.18008b110
cmp qword [rbp + 0x38], 0x10
lea r8, [rbp + 0x20]
mov r9, qword [rbp + 0x30]
mov rcx, rax
cmovae r8, qword [rbp + 0x20]
call fcn.1800c7240
lea rdx, [0x18012d0d8]
lea rcx, [rbp - 0x60]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
call fcn.1800c2490
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18008b110
mov rcx, qword [rsp + 0x38]
mov rdx, rax
mov r9, qword [rsp + 0x30]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x1800b8899
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x1800b8899
cmp rcx, 0x10
lea r8, [rsp + 0x20]
mov rcx, rdx
cmovae r8, qword [rsp + 0x20]
call fcn.1800c7240
jmp 0x1800b88ad
cmp qword [rdx + 0x18], 0x10
jb 0x1800b88a3
mov rdx, qword [rdx]
lea rcx, [rsp + 0x20]
call fcn.1800c22c0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov byte [rax], 0
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], rdi
mov rdx, qword [rsp + 0x38]
movups xmmword [rbp + 0x10], xmm1
movups xmmword [rbp], xmm0
cmp rdx, 0x10
jb 0x1800b8908
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8903
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8faf
call fcn.1800cf9b0
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
cmp rdx, 0x10
jb 0x1800b8958
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8953
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8faf
call fcn.1800cf9b0
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
cmp rdx, 0x10
jb 0x1800b89a8
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b89a3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8faf
call fcn.1800cf9b0
lea rdx, [rbp + 0x40]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rax, [rbp + 0x40]
mov qword [rsp + 0x30], rdi
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
inc r8
cmp byte [rax + r8], 0
jne 0x1800b89d5
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.1800c2b50
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp]
mov r8, qword [rbp + 0x10]
lea rcx, [rsp + 0x20]
cmovae rdx, qword [rbp]
call fcn.1800c22c0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1800b8a64
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8a5f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fb5
call fcn.1800cf9b0
cmp qword [rbp - 8], 0x10
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x588], r12
cmovae rcx, qword [rbp - 0x20]
mov qword [rsp + 0x590], r14
mov qword [rsp + 0x550], r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800b8e19
test al, 0x10
je 0x1800b8e19
lea rdx, [0x18012d198]
lea rcx, [rbp - 0x60]
call fcn.1800c2490
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.18008b110
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18008d140
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800b8b07
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8b02
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fbb
call fcn.1800cf9b0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [rbp - 0x28], 0x10
lea r15, [rbp - 0x40]
mov r14, qword [rbp - 0x30]
movabs r12, 0x7fffffffffffffff
cmovae r15, qword [rbp - 0x40]
cmp r14, 0x10
jae 0x1800b8b48
movups xmm0, xmmword [r15]
mov qword [rsp + 0x38], 0xf
movups xmmword [rsp + 0x20], xmm0
jmp 0x1800b8bba
mov rbx, r14
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800b8b92
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800b8fc1
mov rcx, rax
call fcn.1800cf9b8
mov rcx, rax
test rax, rax
je 0x1800b8fa3
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800b8ba1
test rcx, rcx
je 0x1800b8b9e
call fcn.1800cf9b8
jmp 0x1800b8ba1
mov rax, rdi
lea r8, [r14 + 1]
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rcx, rax
call fcn.1800d3040
mov qword [rsp + 0x38], rbx
cmp qword [rbp - 8], 0x10
lea r15, [rbp - 0x20]
mov qword [rsp + 0x30], r14
mov r14, qword [rbp - 0x10]
cmovae r15, qword [rbp - 0x20]
cmp r14, 0x10
jae 0x1800b8beb
movups xmm0, xmmword [r15]
mov qword [rsp + 0x58], 0xf
movups xmmword [rsp + 0x40], xmm0
jmp 0x1800b8c5d
mov rbx, r14
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800b8c35
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800b8fc1
mov rcx, rax
call fcn.1800cf9b8
mov rcx, rax
test rax, rax
je 0x1800b8fa3
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800b8c44
test rcx, rcx
je 0x1800b8c41
call fcn.1800cf9b8
jmp 0x1800b8c44
mov rax, rdi
lea r8, [r14 + 1]
mov qword [rsp + 0x40], rax
mov rdx, r15
mov rcx, rax
call fcn.1800d3040
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x50], r14
lea rcx, [rsp + 0x40]
call fcn.18008d6b0
cmp qword [rbp - 0x28], 0x10
lea rcx, [rbp - 0x40]
lea rdx, [0x180118d80]
cmovae rcx, qword [rbp - 0x40]
call fcn.1800db8c8
test rax, rax
je 0x1800b8e19
mov rcx, rax
call fcn.1800db958
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
cmp rcx, 0x10
jb 0x1800b8cac
mov rdx, qword [rsi]
mov rax, qword [rsi + 0x10]
cmp rax, 1
jne 0x1800b8ceb
cmp byte [rdx], 0x30
jne 0x1800b8ceb
lea rdx, [rbp]
lea rcx, [rbp - 0x60]
call fcn.1800c2490
lea rdx, [rbp - 0x40]
mov rbx, rax
lea rcx, [rbp - 0x80]
call fcn.1800c2490
mov rcx, rax
mov rdx, rbx
call fcn.18008d990
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x10]
mov rdx, rsi
cmp rcx, 0x10
jb 0x1800b8cf7
mov rdx, qword [rsi]
cmp rax, 1
jne 0x1800b8e06
cmp byte [rdx], 0x31
jne 0x1800b8e06
lea rcx, [rsp + 0x60]
call fcn.18008d030
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp]
mov r8, qword [rbp + 0x10]
mov rcx, rax
cmovae rdx, qword [rbp]
call fcn.1800c22c0
lea rdx, [rsp + 0x20]
mov r8d, 1
lea rcx, [rbp - 0x40]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
cmp qword [rsp + 0x38], 0x10
cmovae rdx, qword [rsp + 0x20]
cmp qword [rbp - 0x28], 0x10
cmovae rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1800b8db6
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8db1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8f9d
call fcn.1800cf9b0
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
cmp rdx, 0x10
jb 0x1800b8e06
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8e01
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8f9d
call fcn.1800cf9b0
cmp qword [rbp - 0x28], 0x10
lea rcx, [rbp - 0x40]
cmovae rcx, qword [rbp - 0x40]
call fcn.1800dbb34
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1800b8e54
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8e4f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fa3
call fcn.1800cf9b0
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
cmp rdx, 0x10
jb 0x1800b8e9f
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8e9a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fa3
call fcn.1800cf9b0
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1800b8eda
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8ed5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fa3
call fcn.1800cf9b0
mov rdx, qword [rbp + 0x38]
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
cmp rdx, 0x10
jb 0x1800b8f25
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8f20
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fa3
call fcn.1800cf9b0
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x1800b8f5b
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x1800b8f56
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800b8fa3
mov rcx, r8
call fcn.1800cf9b0
mov r14, qword [rsp + 0x590]
mov r12, qword [rsp + 0x588]
mov r15, qword [rsp + 0x550]
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.1800cf6f0
add rsp, 0x558
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800892e0
int3