Function at 0x180150a10
Capabilities:
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov r14, rcx
lea rdx, [rbp + 0x58]
add rcx, 0x228
call fcn.18010c240
mov rdx, qword [rax]
mov qword [rbp + 0x50], rdx
mov edx, 0x5c
lea rcx, [rbp + 0x50]
call fcn.180019df0
test eax, eax
setns bl
mov rcx, qword [rbp + 0x58]
add rcx, 0xfffffffffffffff0
lea r12, [0x1802bccb0]
or edi, 0xffffffff
cmp rcx, r12
je 0x180150a7f
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, edi
jne 0x180150a7f
call fcn.1800a0c6c
test bl, bl
je 0x180150c57
lea rdx, [rbp - 0x38]
lea rcx, [r14 + 0x228]
call fcn.18010c240
nop
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
lea rcx, [r14 + 0x60]
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x40]
call fcn.1800e6340
nop
mov rcx, qword [rbp - 0x38]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x180150ad0
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180150ad0
call fcn.1800a0c6c
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 8]
call fcn.180016d90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x180150b57
cmp eax, 0xffffffff
je 0x180150b57
lea rcx, [r14 - 0xd0]
lea rdx, [rbp + 0x40]
call fcn.180151830
lea rcx, [r14 + 0x68]
call fcn.18000a800
xor esi, esi
cmp dword [r14 + 0x70], esi
je 0x180150b21
mov rcx, qword [r14 + 0x68]
call fcn.1800a09c8
mov qword [r14 + 0x68], rsi
mov dword [r14 + 0x70], esi
mov dword [r14 + 0x78], esi
test dword [r14 + 0x58], 0x100
jne 0x180150c51
lea rax, [0x1802bccc0]
mov qword [rbp - 0x30], rax
mov r8b, 1
lea rdx, [rbp - 0x30]
lea rcx, [r14 + 0x228]
call fcn.1801107f0
nop
jmp 0x180150c51
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x40]
call fcn.1800e6c30
nop
lea rcx, [r14 - 0xd0]
mov rdx, rax
call fcn.180151830
nop
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x180150b94
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180150b94
call fcn.1800a0c6c
lea rcx, [r14 + 0x68]
call fcn.18000a800
xor esi, esi
cmp dword [r14 + 0x70], esi
je 0x180150bb6
mov rcx, qword [r14 + 0x68]
call fcn.1800a09c8
mov qword [r14 + 0x68], rsi
mov dword [r14 + 0x70], esi
mov dword [r14 + 0x78], esi
lea ecx, [rsi + 1]
cmp ecx, dword [r14 + 0x70]
jle 0x180150bdb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [rcx + 8]
add edx, eax
and edx, 0xfffffff8
lea rcx, [r14 + 0x68]
call fcn.180007ec0
movsxd rcx, dword [r14 + 0x78]
lea eax, [rcx + 1]
mov dword [r14 + 0x78], eax
mov rax, qword [r14 + 0x68]
lea rdx, [rax + rcx*8]
test rdx, rdx
je 0x180150c10
mov rax, qword [rbp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x180150c10
mov eax, 1
lock xadd dword [rcx], eax
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x40]
call fcn.1800ec330
nop
mov r8b, 1
mov rdx, rax
lea rcx, [r14 + 0x228]
call fcn.1801107f0
nop
mov rcx, qword [rbp - 0x20]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x180150c51
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180150c51
call fcn.1800a0c6c
nop
mov rcx, qword [rbp + 0x40]
jmp 0x180150c7e
lea rcx, [r14 - 0xd0]
xor r8d, r8d
lea rdx, [rbp - 0x18]
call fcn.180151f80
nop
lea rcx, [r14 - 8]
mov r8, qword [rcx]
mov rdx, rax
call qword [r8 + reloc.OLEAUT32.dll_SafeArrayGetElement]
nop
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x180150c98
lock xadd dword [rcx], edi
lea eax, [rdi - 1]
cmp eax, 0xffffffff
jne 0x180150c98
call fcn.1800a0c6c
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret