Function at 0x18023a8d0
Capabilities:
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov r15, rcx
mov rax, qword [rcx + 0x1e8]
cmp byte [rax + 0x88], 0
je 0x18023ad6c
mov byte [rax + 0x88], 0
mov edx, 0xa
lea rcx, [rbp - 0x40]
call fcn.1800ec100
nop
lea rdx, [rbp + 0x78]
mov rcx, rax
call fcn.1800e6c30
nop
mov rcx, qword [rbp - 0x40]
add rcx, 0xfffffffffffffff0
lea r13, [0x1802bccb0]
or r14d, 0xffffffff
cmp rcx, r13
je 0x18023a956
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, r14d
jne 0x18023a956
call fcn.1800a0c6c
mov r8d, 0x27e9
lea rdx, [rbp - 0x50]
lea rcx, [r15 + 0x1f0]
call fcn.18022e3f0
nop
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.1800e6340
nop
mov rcx, qword [rbp - 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023a9a6
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023a9a6
call fcn.1800a0c6c
mov rax, qword [rbp + 0x70]
cmp byte [rax], 0
je 0x18023a9cd
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x18]
call fcn.180016d90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x18023aa4d
mov r8d, 0x2fca
lea rdx, [rbp - 0x80]
lea rcx, [r15 + 0x1f0]
call fcn.18022e3f0
nop
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x78]
call fcn.1800e6340
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rax]
mov qword [rbp + 0x70], rdx
mov qword [rax], rcx
mov rcx, qword [rbp - 0x68]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023aa2d
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023aa2d
call fcn.1800a0c6c
nop
mov rcx, qword [rbp - 0x80]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023aa4d
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023aa4d
call fcn.1800a0c6c
lea rax, [0x1802bffc6]
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x70]
call fcn.18001a440
mov rax, qword [r15 + 0x190]
mov rcx, qword [rbp - 0x70]
mov qword [r15 + 0x190], rcx
lea rcx, [rax - 0x10]
cmp rcx, r13
je 0x18023aa93
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023aa93
call fcn.1800a0c6c
mov rax, qword [rbp + 0x70]
cmp byte [rax], 0
je 0x18023ad2f
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x20]
call fcn.180016d90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x18023ad2b
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x48], rax
lea rcx, [rax - 0x10]
cmp rcx, r13
je 0x18023aad8
mov eax, 1
lock xadd dword [rcx], eax
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x38]
mov rcx, qword [r15 + 0x1e8]
call fcn.1801f66b0
mov rcx, qword [r15 + 0x190]
mov rdx, qword [rax]
mov qword [r15 + 0x190], rdx
mov qword [rax], rcx
mov rcx, qword [rbp - 0x38]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023ab20
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023ab20
call fcn.1800a0c6c
mov rax, qword [r15 + 0x190]
cmp byte [rax], 0
je 0x18023ad2b
mov dword [rbp + 0x60], 0xc4d4f904
mov dword [rbp + 0x68], 0xf4f9ec95
lea rax, [0x1802dcef0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.18001a440
nop
lea rax, [rbp + 0x60]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x64]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp], xmm0
lea r8, [rbp]
lea rdx, [rbp - 0x78]
call fcn.18022e320
mov rsi, rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x6c]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x78]
call fcn.18022e320
mov rdi, rax
mov r8d, 0x677d
lea rdx, [rsp + 0x68]
lea rcx, [r15 + 0x1f0]
call fcn.18022e3f0
mov rbx, rax
mov r8d, 0x55da
lea rdx, [rbp - 0x10]
lea rcx, [r15 + 0x1f0]
call fcn.18022e3f0
lea r8, [rbp + 0x70]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1800eb420
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800eb420
nop
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rsi
mov r9, rdi
mov r8, rax
lea rdx, [rsp + 0x50]
mov ecx, 1
call fcn.1801e8570
movzx ebx, al
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023ac53
mov edx, r14d
lock xadd dword [rcx], edx
dec edx
cmp edx, 0xffffffff
jne 0x18023ac53
call fcn.1800a0c6c
nop
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023ac75
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023ac75
call fcn.1800a0c6c
nop
mov rcx, qword [rsp + 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023ac97
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023ac97
call fcn.1800a0c6c
nop
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023acb8
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023acb8
call fcn.1800a0c6c
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023acd9
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023acd9
call fcn.1800a0c6c
test bl, bl
je 0x18023ad2b
mov dl, 1
mov rcx, r15
call fcn.18023a700
nop
mov rcx, qword [rbp + 0x70]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023ad09
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023ad09
call fcn.1800a0c6c
nop
mov rcx, qword [rbp + 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023ad74
lock xadd dword [rcx], r14d
lea eax, [r14 - 1]
cmp eax, 0xffffffff
jne 0x18023ad74
call fcn.1800a0c6c
jmp 0x18023ad74
mov rax, qword [rbp + 0x70]
lea rcx, [rax - 0x10]
cmp rcx, r13
je 0x18023ad4c
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023ad4c
call fcn.1800a0c6c
nop
mov rcx, qword [rbp + 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x18023ad6c
lock xadd dword [rcx], r14d
lea eax, [r14 - 1]
cmp eax, 0xffffffff
jne 0x18023ad6c
call fcn.1800a0c6c
mov rcx, r15
call fcn.18023a3f0
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret