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

Disassembly:
push rbp
push rbx
push rdi
push r15
lea rbp, [rsp - 0x458]
sub rsp, 0x558
mov rax, qword [0x180126010]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov rdi, rcx
lea rcx, [rsp + 0x60]
call fcn.18008ab60
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.18008afb0
lea rdx, [0x180128ad8]
lea rcx, [rsp + 0x60]
call fcn.1800bf440
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.18008aa30
lea rcx, [rsp + 0x40]
mov rbx, rax
call fcn.18008d5e0
mov r9, rbx
lea rcx, [rbp - 0x20]
mov r8, rax
call fcn.1800c2600
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800b6966
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6961
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b7109
call fcn.1800cd2cc
mov rdx, qword [rsp + 0x38]
xor r15d, r15d
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], r15b
cmp rdx, 0x10
jb 0x1800b69b9
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b69b4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b7109
call fcn.1800cd2cc
lea rdx, [0x180129438]
lea rcx, [rbp - 0x80]
call fcn.1800bf440
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.18008aa30
cmp qword [rbp + 0x38], 0x10
lea r8, [rbp + 0x20]
mov r9, qword [rbp + 0x30]
mov rcx, rax
cmovae r8, qword [rbp + 0x20]
call fcn.1800c44c0
lea rdx, [0x1801291f8]
lea rcx, [rbp - 0x60]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
movups xmmword [rsp + 0x20], xmm0
mov qword [rax + 0x18], 0xf
movups xmmword [rsp + 0x30], xmm1
mov byte [rax], r15b
call fcn.1800bf440
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18008aa30
mov r9, rax
lea r8, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1800c2600
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1800b6a7b
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6a76
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b710f
call fcn.1800cd2cc
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800b6ab8
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6ab3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b710f
call fcn.1800cd2cc
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], r15b
cmp rdx, 0x10
jb 0x1800b6b08
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6b03
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b710f
call fcn.1800cd2cc
lea rdx, [rbp + 0x40]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], r15
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], 0xf
inc r8
cmp byte [rax + r8], r15b
jne 0x1800b6b35
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.1800bfba0
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp]
mov r8, qword [rbp + 0x10]
lea rcx, [rsp + 0x20]
cmovae rdx, qword [rbp]
call fcn.1800bf270
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1800b6bc3
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6bbe
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b7115
call fcn.1800cd2cc
cmp qword [rbp - 8], 0x10
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x588], rsi
cmovae rcx, qword [rbp - 0x20]
mov qword [rsp + 0x590], r12
mov qword [rsp + 0x550], r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800b6f78
test al, 0x10
je 0x1800b6f78
lea rdx, [0x180129938]
lea rcx, [rbp - 0x60]
call fcn.1800bf440
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.18008aa30
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18008ca00
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800b6c66
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6c61
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b711b
call fcn.1800cd2cc
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [rbp - 0x28], 0x10
lea r14, [rbp - 0x40]
mov rsi, qword [rbp - 0x30]
movabs r12, 0x7fffffffffffffff
cmovae r14, qword [rbp - 0x40]
cmp rsi, 0x10
jae 0x1800b6ca7
movups xmm0, xmmword [r14]
mov qword [rsp + 0x38], 0xf
movups xmmword [rsp + 0x20], xmm0
jmp 0x1800b6d19
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800b6cf1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800b7121
mov rcx, rax
call fcn.1800cd2d4
mov rcx, rax
test rax, rax
je 0x1800b7103
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800b6d00
test rcx, rcx
je 0x1800b6cfd
call fcn.1800cd2d4
jmp 0x1800b6d00
mov rax, r15
lea r8, [rsi + 1]
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, rax
call fcn.1800d03a0
mov qword [rsp + 0x38], rbx
cmp qword [rbp - 8], 0x10
lea r14, [rbp - 0x20]
mov qword [rsp + 0x30], rsi
mov rsi, qword [rbp - 0x10]
cmovae r14, qword [rbp - 0x20]
cmp rsi, 0x10
jae 0x1800b6d4a
movups xmm0, xmmword [r14]
mov qword [rsp + 0x58], 0xf
movups xmmword [rsp + 0x40], xmm0
jmp 0x1800b6dbc
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800b6d94
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800b7121
mov rcx, rax
call fcn.1800cd2d4
mov rcx, rax
test rax, rax
je 0x1800b7103
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800b6da3
test rcx, rcx
je 0x1800b6da0
call fcn.1800cd2d4
jmp 0x1800b6da3
mov rax, r15
lea r8, [rsi + 1]
mov qword [rsp + 0x40], rax
mov rdx, r14
mov rcx, rax
call fcn.1800d03a0
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x50], rsi
lea rcx, [rsp + 0x40]
call fcn.18008cf90
cmp qword [rbp - 0x28], 0x10
lea rcx, [rbp - 0x40]
lea rdx, [0x180115130]
cmovae rcx, qword [rbp - 0x40]
call fcn.1800d8f08
test rax, rax
je 0x1800b6f78
mov rcx, rax
call fcn.1800d8f98
mov rcx, qword [rdi + 0x18]
mov rdx, rdi
cmp rcx, 0x10
jb 0x1800b6e0b
mov rdx, qword [rdi]
mov rax, qword [rdi + 0x10]
cmp rax, 1
jne 0x1800b6e4a
cmp byte [rdx], 0x30
jne 0x1800b6e4a
lea rdx, [rbp]
lea rcx, [rbp - 0x60]
call fcn.1800bf440
lea rdx, [rbp - 0x40]
mov rbx, rax
lea rcx, [rbp - 0x80]
call fcn.1800bf440
mov rcx, rax
mov rdx, rbx
call fcn.18008d270
mov rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
mov rdx, rdi
cmp rcx, 0x10
jb 0x1800b6e56
mov rdx, qword [rdi]
cmp rax, 1
jne 0x1800b6f65
cmp byte [rdx], 0x31
jne 0x1800b6f65
lea rcx, [rsp + 0x60]
call fcn.18008c8f0
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp]
mov r8, qword [rbp + 0x10]
mov rcx, rax
cmovae rdx, qword [rbp]
call fcn.1800bf270
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], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
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 0x1800b6f15
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6f10
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b70fd
call fcn.1800cd2cc
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], r15b
cmp rdx, 0x10
jb 0x1800b6f65
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6f60
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b70fd
call fcn.1800cd2cc
cmp qword [rbp - 0x28], 0x10
lea rcx, [rbp - 0x40]
cmovae rcx, qword [rbp - 0x40]
call fcn.1800d9174
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1800b6fb3
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6fae
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b7103
call fcn.1800cd2cc
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], r15b
cmp rdx, 0x10
jb 0x1800b6ffe
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b6ff9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b7103
call fcn.1800cd2cc
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1800b7039
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b7034
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b7103
call fcn.1800cd2cc
mov rdx, qword [rbp + 0x38]
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], r15b
cmp rdx, 0x10
jb 0x1800b7084
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b707f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b7103
call fcn.1800cd2cc
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800b70ba
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x1800b70b5
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800b7103
mov rcx, r8
call fcn.1800cd2cc
mov r12, qword [rsp + 0x590]
mov rsi, qword [rsp + 0x588]
mov r14, qword [rsp + 0x550]
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 0xf
mov byte [rdi], r15b
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.1800cd010
add rsp, 0x558
pop r15
pop rdi
pop rbx
pop rbp
ret
call fcn.1800dc358
int3
call fcn.1800dc358
int3
call fcn.1800dc358
int3
call fcn.1800dc358
int3
call fcn.1800dc358
int3
call fcn.1800dc358
int3
call fcn.180088bc0
int3