Function at 0x18014b400
Capabilities:
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov qword [rbp - 0x11], 0xfffffffffffffffe
mov rbx, rcx
call fcn.1800bed20
lea r14, [rbx + 0x28]
mov rcx, qword [r14]
xor r12d, r12d
mov qword [r14], r12
or r15d, 0xffffffff
test rcx, rcx
je 0x18014b44f
lock dec dword [rcx + 8]
jne 0x18014b44f
mov rax, qword [rcx]
lea edx, [r12 + 1]
call qword [rax]
lea rdi, [rbx + 0x30]
mov qword [rsp + 0x38], rdi
mov rax, qword [rdi]
mov qword [rbp - 1], rax
lea rcx, [rax - 0x10]
lea rax, [0x1802bccb0]
cmp rcx, rax
je 0x18014b482
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18014b482
call fcn.1800a0c6c
lea rax, [0x1802bccc0]
mov qword [rdi], rax
lea rdi, [rbx - 0xc8]
mov qword [rbp - 0x59], rdi
lea rdx, [rbp + 7]
mov rcx, rdi
call fcn.180173f30
mov r8b, 1
mov rdx, rax
mov rcx, rdi
call fcn.18016cd80
lea rsi, [rbx + 0x20]
mov qword [rbp + 0x7f], rsi
mov rcx, rsi
call fcn.1800e4720
mov rbx, rax
mov qword [rbp - 0x39], rax
test rax, rax
je 0x18014b74f
lea rdx, [rax + 8]
mov rax, qword [rdx]
cmp byte [rax], 0
je 0x18014b74f
lea rcx, [rbp - 9]
call fcn.180016d90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x18014b74f
mov rcx, rbx
call fcn.1801d9cd0
mov rdi, rax
test rax, rax
je 0x18014b74f
mov r9, qword [rax]
mov r8, rbx
lea rdx, [rbp + 0x77]
mov rcx, rax
call qword [r9 + 0x20]
mov rdx, qword [r14]
mov rcx, qword [rax]
mov qword [r14], rcx
mov qword [rax], rdx
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x18014b545
lock dec dword [rcx + 8]
jne 0x18014b545
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
cmp qword [r14], 0
je 0x18014b74f
mov rax, qword [r14]
test rax, rax
jne 0x18014b560
mov r13d, r12d
mov dword [rbp + 0x6f], r12d
jmp 0x18014b568
mov r13d, dword [rax + 0x14]
mov dword [rbp + 0x6f], r13d
test rax, rax
je 0x18014b571
mov r12d, dword [rax + 0x18]
mov dword [rbp + 0x67], r12d
mov rcx, rsi
call fcn.1800c3450
mov rdx, rax
lea rcx, [rbp - 0x69]
call fcn.1800e6150
mov rsi, rax
mov r8, qword [rdi]
lea rdx, [rbp - 0x79]
mov rcx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov rdi, rax
lea rdx, [rsp + 0x30]
mov rcx, qword [rbp + 0x7f]
call fcn.1800ec330
nop
mov rdx, rax
mov rcx, qword [rsp + 0x38]
call fcn.1800ebee0
mov rbx, rax
lea rax, [0x1802c1975]
mov qword [rbp - 0x29], rax
lea rax, [0x1802c1974]
mov qword [rbp - 0x71], rax
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x71]
mov rcx, rbx
call fcn.1800d9070
mov rdx, rdi
mov rcx, rbx
call fcn.1800ebee0
mov rbx, rax
lea rax, [0x1802c18fd]
mov qword [rbp - 0x31], rax
lea rax, [0x1802c18fc]
mov qword [rbp - 0x61], rax
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x61]
mov rcx, rbx
call fcn.1800d9070
mov edx, r13d
mov rcx, rbx
call fcn.1800d8c80
mov rbx, rax
lea rax, [0x1802c1927]
mov qword [rbp - 0x19], rax
lea rax, [0x1802c1924]
mov qword [rbp - 0x51], rax
lea r8, [rbp - 0x19]
lea rdx, [rbp - 0x51]
mov rcx, rbx
call fcn.1800d9070
mov edx, r12d
mov rcx, rbx
call fcn.1800d8c80
mov rbx, rax
lea rax, [0x1802c1b88]
mov qword [rbp - 0x21], rax
lea rax, str._pixels_n
mov qword [rbp - 0x41], rax
lea r8, [rbp - 0x21]
lea rdx, [rbp - 0x41]
mov rcx, rbx
call fcn.1800d9070
mov rdx, rsi
mov rcx, rbx
call fcn.1800ebee0
nop
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff0
lea rbx, [0x1802bccb0]
cmp rcx, rbx
je 0x18014b6b3
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18014b6b3
call fcn.1800a0c6c
nop
mov rcx, qword [rbp - 0x79]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x18014b6d4
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18014b6d4
call fcn.1800a0c6c
nop
mov rcx, qword [rbp - 0x69]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x18014b6f4
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18014b6f4
call fcn.1800a0c6c
lea r8, [rbp + 0x67]
lea rdx, [rbp + 0x6f]
mov rcx, qword [rbp - 0x59]
call fcn.18014b830
mov dword [rsp + 0x20], 1
mov r9d, dword [rbp + 0x67]
mov r8d, dword [rbp + 0x6f]
lea rdx, [rbp - 0x49]
mov rcx, r14
call fcn.1801d4680
mov rdx, qword [r14]
mov rcx, qword [rax]
mov qword [r14], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x18014b74f
lock xadd dword [rcx + 8], r15d
lea eax, [r15 - 1]
test eax, eax
jne 0x18014b74f
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rbx, qword [rbp - 0x39]
test rbx, rbx
je 0x18014b765
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret