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

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x440]
sub rsp, 0x540
lea rcx, [rbp - 0x40]
call fcn.18008a730
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.18008ab80
lea rdx, [0x180103a38]
lea rcx, [rbp - 0x40]
call fcn.1800a79d0
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.18008a600
lea rcx, [rsp + 0x40]
mov rbx, rax
call fcn.18008d110
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 0x18009fa5d
mov rax, qword [rbx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x18009fa5d
cmp rdx, 0x10
jb 0x18009fa50
mov rcx, qword [rcx]
mov r8, rcx
mov rcx, rbx
call fcn.1800a9670
jmp 0x18009fa6f
cmp qword [rbx + 0x18], 0x10
jb 0x18009fa67
mov rbx, qword [rbx]
mov rdx, rbx
call fcn.1800a7730
movups xmm0, xmmword [rax]
xor edi, edi
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov byte [rax], dil
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], rdi
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18009facc
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fac7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a0169
call fcn.1800afef0
mov rdx, qword [rbp - 0x48]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
cmp rdx, 0x10
jb 0x18009fb1a
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fb15
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a0169
call fcn.1800afef0
lea rdx, [0x180103f98]
lea rcx, [rbp]
call fcn.1800a79d0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.18008a600
cmp qword [rbp - 8], 0x10
lea r8, [rbp - 0x20]
mov r9, qword [rbp - 0x10]
mov rcx, rax
cmovae r8, qword [rbp - 0x20]
call fcn.1800a9670
lea rdx, [0x180103db8]
lea rcx, [rbp + 0x20]
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.1800a79d0
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.18008a600
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 0x18009fbce
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x18009fbce
cmp rcx, 0x10
lea r8, [rsp + 0x20]
mov rcx, rdx
cmovae r8, qword [rsp + 0x20]
call fcn.1800a9670
jmp 0x18009fbe2
cmp qword [rdx + 0x18], 0x10
jb 0x18009fbd8
mov rdx, qword [rdx]
lea rcx, [rsp + 0x20]
call fcn.1800a7730
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 - 0x50], xmm1
movups xmmword [rbp - 0x60], xmm0
cmp rdx, 0x10
jb 0x18009fc3d
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fc38
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a016f
call fcn.1800afef0
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
cmp rdx, 0x10
jb 0x18009fc8d
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fc88
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a016f
call fcn.1800afef0
mov rdx, qword [rbp - 0x28]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
cmp rdx, 0x10
jb 0x18009fcdb
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fcd6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a016f
call fcn.1800afef0
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
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18009fd10
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.1800a7f50
cmp qword [rbp - 0x48], 0x10
lea rdx, [rbp - 0x60]
mov r8, qword [rbp - 0x50]
lea rcx, [rsp + 0x20]
cmovae rdx, qword [rbp - 0x60]
call fcn.1800a7730
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x18009fda1
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fd9c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a0175
call fcn.1800afef0
cmp qword [rbp - 0x68], 0x10
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x560], rsi
cmovae rcx, qword [rbp - 0x80]
mov qword [rsp + 0x568], r14
mov qword [rsp + 0x570], r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800a0037
test al, 0x10
je 0x1800a0037
lea rdx, [0x180103e58]
lea rcx, [rbp + 0x20]
call fcn.1800a79d0
mov rdx, rax
lea rcx, [rbp]
call fcn.18008a600
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.18008c4a0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18009fe41
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fe3c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a017b
call fcn.1800afef0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [rsp + 0x78], 0x10
lea r14, [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
movabs r15, 0x7fffffffffffffff
cmovae r14, qword [rsp + 0x60]
cmp rsi, 0x10
jae 0x18009fe86
movups xmm0, xmmword [r14]
mov qword [rsp + 0x38], 0xf
movups xmmword [rsp + 0x20], xmm0
jmp 0x18009fef8
mov rbx, rsi
or rbx, 0xf
cmp rbx, r15
cmova rbx, r15
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18009fed0
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800a0181
mov rcx, rax
call fcn.1800afef8
mov rcx, rax
test rax, rax
je 0x1800a0187
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18009fedf
test rcx, rcx
je 0x18009fedc
call fcn.1800afef8
jmp 0x18009fedf
mov rax, rdi
lea r8, [rsi + 1]
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, rax
call fcn.1800b2f60
mov qword [rsp + 0x38], rbx
cmp qword [rbp - 0x68], 0x10
lea r14, [rbp - 0x80]
mov qword [rsp + 0x30], rsi
mov rsi, qword [rbp - 0x70]
cmovae r14, qword [rbp - 0x80]
cmp rsi, 0x10
jae 0x18009ff29
movups xmm0, xmmword [r14]
mov qword [rsp + 0x58], 0xf
movups xmmword [rsp + 0x40], xmm0
jmp 0x18009ff9b
mov rbx, rsi
or rbx, 0xf
cmp rbx, r15
cmova rbx, r15
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18009ff73
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800a0181
mov rcx, rax
call fcn.1800afef8
mov rcx, rax
test rax, rax
je 0x1800a0187
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18009ff82
test rcx, rcx
je 0x18009ff7f
call fcn.1800afef8
jmp 0x18009ff82
mov rax, rdi
lea r8, [rsi + 1]
mov qword [rsp + 0x40], rax
mov rdx, r14
mov rcx, rax
call fcn.1800b2f60
mov qword [rsp + 0x58], rbx
lea rdx, [0x180103c58]
mov qword [rsp + 0x50], rsi
lea rcx, [rbp + 0x20]
call fcn.1800a79d0
mov rdx, rax
lea rcx, [rbp]
call fcn.18008a600
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.18008c9d0
cmp qword [rsp + 0x78], 0x10
lea rcx, [rsp + 0x60]
lea rdx, [0x1800f1da0]
cmovae rcx, qword [rsp + 0x60]
call fcn.1800b7fc8
test rax, rax
je 0x1800a0037
mov rcx, rax
call fcn.1800b8058
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x20]
call fcn.1800a79d0
lea rdx, [rsp + 0x60]
mov rbx, rax
lea rcx, [rbp]
call fcn.1800a79d0
mov rcx, rax
mov rdx, rbx
call fcn.18008cd90
cmp qword [rsp + 0x78], 0x10
lea rcx, [rsp + 0x60]
cmovae rcx, qword [rsp + 0x60]
call fcn.1800b82e4
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800a0074
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a006f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a0163
call fcn.1800afef0
mov rdx, qword [rbp - 0x48]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
cmp rdx, 0x10
jb 0x1800a00c2
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a00bd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a0163
call fcn.1800afef0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1800a00f9
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a00f4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a0163
call fcn.1800afef0
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
cmp rdx, 0x10
jb 0x1800a0140
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a013b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a0163
call fcn.1800afef0
mov r14, qword [rsp + 0x568]
mov rsi, qword [rsp + 0x560]
mov r15, qword [rsp + 0x570]
add rsp, 0x540
pop rdi
pop rbx
pop rbp
ret
call fcn.1800bb0c0
int3
call fcn.1800bb0c0
int3
call fcn.1800bb0c0
int3
call fcn.1800bb0c0
int3
call fcn.1800bb0c0
int3
call fcn.1800893c0
int3
call fcn.1800bb0c0
int3