Function at 0x180018780
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x230
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1801060b8]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rsi, rcx
movzx edi, word [rcx + 0xca]
inc rdi
mov qword [rsp + 0x20], rdi
xor r15d, r15d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r15
mov r14, rdi
shl r14, 5
cmp r14, 0x1000
jb 0x18001881c
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x180018ea0
call fcn.180099818
test rax, rax
je 0x180018ea6
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180018831
test r14, r14
je 0x18001882e
mov rcx, r14
call fcn.180099818
mov rbx, rax
jmp 0x180018831
mov rbx, r15
mov qword [rsp + 0x40], rbx
lea rax, [r14 + rbx]
mov qword [rsp + 0x50], rax
nop
mov qword [rbx], r15
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 7
add rbx, 0x20
sub rdi, 1
jne 0x180018840
mov rdx, rbx
mov rcx, rbx
call fcn.180003d40
mov qword [rsp + 0x48], rbx
mov rax, qword [rsp + 0x20]
mov qword [rsi + 0xd0], rax
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0xd8], rax
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0xe0], rax
mov rax, qword [rsp + 0x38]
mov qword [rsi + 0xe8], rax
lea rbx, [rsi + 0xf0]
lea rax, [rsp + 0x40]
cmp rbx, rax
je 0x1800188da
mov rcx, rbx
call fcn.180004300
mov rax, qword [rsp + 0x40]
mov qword [rbx], rax
mov rax, qword [rsp + 0x48]
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0x10], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x38], r15
lea rcx, [rsp + 0x40]
call fcn.180004300
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x20], xmm1
mov qword [rbp + 0x30], r15
call fcn.180075358
mov rbx, rax
mov rcx, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x20]
sub rcx, rdi
sar rcx, 5
movzx eax, word [rsi + 0xca]
cmp rcx, rax
jae 0x180018d3a
lea r14, str._:04d_:02d_:02d
movabs rcx, 0xd6bf94d5e57a42bd
mov rax, rcx
imul rbx
add rdx, rbx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0xa0], rdx
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x20]
call fcn.1800a7dd0
movups xmm7, xmmword [rsp + 0x20]
movups xmm6, xmmword [rsp + 0x30]
mov eax, dword [rsp + 0x40]
mov dword [rbp + 0x78], eax
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], 7
mov word [rbp + 0x58], r15w
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], r15w
lea rdx, [rsi + 0x68]
lea rcx, [rbp - 0x20]
call fcn.180008a90
mov rdi, rax
lea rdx, [rax + 0x20]
lea rcx, [rbp + 0x58]
call fcn.18000a830
mov rdx, rdi
lea rcx, [rbp + 0x38]
call fcn.18000a830
lea rcx, [rbp - 0x20]
call fcn.180008cb0
movd edx, xmm6
inc edx
psrldq xmm6, 4
movd ecx, xmm6
add ecx, 0x76c
lea rax, [rbp + 0x58]
cmp qword [rbp + 0x70], 8
cmovae rax, qword [rbp + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x60], rax
mov dword [rbp - 0x60], ecx
mov dword [rbp - 0x50], edx
psrldq xmm7, 0xc
movd dword [rbp - 0x40], xmm7
lea rax, [rbp + 0x38]
cmp qword [rbp + 0x50], 8
cmovae rax, qword [rbp + 0x38]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0xc0], xmm1
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp + 0xd0], xmm0
movups xmm1, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0xe0], xmm1
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rbp + 0xf0], xmm0
mov qword [rbp - 0x80], 0xd111d
lea rax, [rbp + 0xb0]
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], 0x19
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x80]
call fcn.180016f10
nop
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x180018aeb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018ae6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018eac
call fcn.180099854
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], r15w
mov rdx, qword [rbp + 0x70]
cmp rdx, 8
jb 0x180018b3c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018b37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018eb2
call fcn.180099854
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], 7
mov word [rbp + 0x58], r15w
lea rcx, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae rcx, qword [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180018cf0
mov rdi, qword [rbp + 0x28]
cmp rdi, qword [rbp + 0x30]
je 0x180018c6a
mov qword [rdi], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov r15, qword [rbp + 0x90]
lea r12, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae r12, qword [rbp + 0x80]
cmp r15, 8
jae 0x180018bc3
movups xmm0, xmmword [r12]
movups xmmword [rdi], xmm0
mov r14d, 7
jmp 0x180018c51
mov r14, r15
or r14, 7
movabs rax, 0x7ffffffffffffffe
cmp r14, rax
cmova r14, rax
lea rcx, [r14 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x180018ebe
add rcx, rcx
cmp rcx, 0x1000
jb 0x180018c2d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180018ebe
mov rcx, rax
call fcn.180099818
mov rcx, rax
test rax, rax
je 0x180018eb8
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180018c3b
test rcx, rcx
je 0x180018c39
call fcn.180099818
jmp 0x180018c3b
xor eax, eax
mov qword [rdi], rax
lea r8, [r15*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.18009bec0
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r14
add qword [rbp + 0x28], 0x20
xor r15d, r15d
lea r14, str._:04d_:02d_:02d
jmp 0x180018c7d
lea r8, [rbp + 0x80]
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.18001ba80
movabs rax, 0xc92a69c000
sub rbx, rax
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x180018cd0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018ccb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018ec4
call fcn.180099854
mov rcx, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x20]
sub rcx, rdi
sar rcx, 5
movzx eax, word [rsi + 0xca]
cmp rcx, rax
jae 0x180018d3a
jmp 0x180018932
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x180018d36
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018d31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018ec4
call fcn.180099854
mov rdi, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x28]
cmp rbx, rdi
je 0x180018dbb
mov rcx, qword [rsi + 0xd0]
nop word [rax + rax]
add rbx, 0xffffffffffffffe0
test rcx, rcx
je 0x180018db6
mov rcx, qword [rsi + 0xe0]
shl rcx, 5
add rcx, qword [rsi + 0xf0]
mov rdx, rbx
call fcn.18000a830
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rsi + 0xe0]
inc rax
xor edx, edx
div rcx
mov qword [rsi + 0xe0], rdx
mov rax, qword [rsi + 0xd8]
mov rdi, qword [rbp + 0x20]
cmp rdx, rax
jne 0x180018db6
inc rax
xor edx, edx
div rcx
mov qword [rsi + 0xd8], rdx
inc qword [rsi + 0xe8]
cmp rbx, rdi
jne 0x180018d50
test rdi, rdi
je 0x180018e60
mov rbx, qword [rbp + 0x28]
cmp rdi, rbx
je 0x180018e2c
nop dword [rax]
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x180018e0f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180018e0a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180018e9a
mov rcx, r8
call fcn.180099854
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 7
mov word [rdi], r15w
add rdi, 0x20
cmp rdi, rbx
jne 0x180018dd0
mov rdi, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x30]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x180018e58
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018e9a
mov rcx, rdi
call fcn.180099854
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.180099a00
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800a06ac
int3
call fcn.180001730
int3
call fcn.1800a06ac
nop
call fcn.1800a06ac
nop
call fcn.1800a06ac
nop
call fcn.1800a06ac
int3
call fcn.180001730
nop
call fcn.1800a06ac
int3