Function at 0x18018d6c0
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov r15, rdx
mov r14, rcx
xor edi, edi
mov dword [rbp + 0x40], edi
mov rdx, rcx
lea rcx, [rbp + 0x50]
call fcn.180017f90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x18018d720
cmp eax, 0xffffffff
je 0x18018d720
lea rdx, [rbp + 0x40]
mov rcx, r15
call fcn.18018c7c0
mov edi, 1
mov rax, qword [rax]
cmp byte [rax], 0
jne 0x18018d720
movzx ebx, dil
jmp 0x18018d722
xor bl, bl
lea r12, [0x180660020]
test dil, 1
je 0x18018d751
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18018d751
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18018d751
call fcn.18011d9c0
test bl, bl
je 0x18018d96b
lea rdx, [0x1803abbd4]
lea rcx, [rbp + 0x40]
call fcn.18001d070
nop
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r8d, 2
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.18018c530
nop
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18018d7a8
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18018d7a8
call fcn.18011d9c0
mov rdi, qword [rbp - 0x10]
movsxd rax, dword [rbp - 4]
lea rsi, [rdi + rax*8]
lea r13, [0x180660030]
cmp rdi, rsi
je 0x18018d8af
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x5c
mov rcx, rdi
call fcn.18017c8f0
mov r8d, eax
mov rdx, qword [rdi]
test eax, eax
jns 0x18018d800
mov qword [rbp + 0x40], rdx
add rdx, 0xfffffffffffffff0
cmp rdx, r12
je 0x18018d836
lock inc dword [rdx]
jmp 0x18018d836
movzx ecx, byte [rdx]
test cl, cl
je 0x18018d832
inc rdx
test cl, cl
jns 0x18018d821
mov al, 0x40
test al, cl
je 0x18018d821
cmp al, 8
jbe 0x18018d821
inc rdx
shr al, 1
test cl, al
jne 0x18018d814
sub r8d, 1
jns 0x18018d800
lea rcx, [rbp + 0x40]
call fcn.18001d410
jmp 0x18018d836
mov qword [rbp + 0x40], r13
mov r8, qword [rbp + 0x40]
lea rdx, [rbp + 0x50]
mov rcx, r15
call fcn.18018cdd0
nop
mov rdx, rax
mov rcx, rdi
call fcn.18018db50
movzx ebx, al
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18018d878
mov edx, 0xffffffff
lock xadd dword [rcx], edx
dec edx
cmp edx, 0xffffffff
jne 0x18018d878
call fcn.18011d9c0
nop
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18018d89a
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18018d89a
call fcn.18011d9c0
test bl, bl
je 0x18018d959
add rdi, 8
cmp rdi, rsi
jne 0x18018d7d0
lea rcx, [rbp - 0x10]
call fcn.180009780
mov rcx, qword [rbp - 0x10]
call fcn.180124068
lea rdx, [0x1803abbd8]
lea rcx, [rbp + 0x40]
call fcn.18001d070
nop
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.18018c530
nop
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18018d910
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18018d910
call fcn.18011d9c0
mov rdi, qword [rbp - 0x10]
movsxd rax, dword [rbp - 4]
lea rsi, [rdi + rax*8]
cmp rdi, rsi
je 0x18018da37
nop word [rax + rax]
mov edx, 0x5c
mov rcx, rdi
call fcn.18017c8f0
mov r8d, eax
mov rdx, qword [rdi]
test eax, eax
jns 0x18018d985
mov qword [rbp + 0x40], rdx
add rdx, 0xfffffffffffffff0
cmp rdx, r12
je 0x18018d9c2
lock inc dword [rdx]
jmp 0x18018d9c2
lea rcx, [rbp - 0x10]
call fcn.180009780
mov rcx, qword [rbp - 0x10]
call fcn.180124068
xor al, al
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx ecx, byte [rdx]
test cl, cl
je 0x18018d9be
inc rdx
test cl, cl
jns 0x18018d9ad
mov al, 0x40
test al, cl
je 0x18018d9ad
nop dword [rax]
cmp al, 8
jbe 0x18018d9ad
inc rdx
shr al, 1
test cl, al
jne 0x18018d9a0
sub r8d, 1
jns 0x18018d985
lea rcx, [rbp + 0x40]
call fcn.18001d410
jmp 0x18018d9c2
mov qword [rbp + 0x40], r13
mov r8, qword [rbp + 0x40]
lea rdx, [rbp + 0x50]
mov rcx, r15
call fcn.18018cdd0
nop
mov rdx, rax
mov rcx, rdi
call fcn.18018d6c0
movzx ebx, al
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18018da04
mov edx, 0xffffffff
lock xadd dword [rcx], edx
dec edx
cmp edx, 0xffffffff
jne 0x18018da04
call fcn.18011d9c0
nop
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18018da26
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18018da26
call fcn.18011d9c0
test bl, bl
je 0x18018da50
add rdi, 8
cmp rdi, rsi
jne 0x18018d930
lea rcx, [rbp - 0x10]
call fcn.180009780
mov rcx, qword [rbp - 0x10]
call fcn.180124068
mov al, 1
jmp 0x18018d96d
jmp 0x18018d959