Function at 0x18028eb20
Capabilities:
Get file attributes

Disassembly:
mov rcx, qword [rcx + 8]
jmp 0x18028eb20
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x20
mov r14, rcx
xor r12d, r12d
lea rdx, [rbp + 0x40]
add rcx, 0x368
call fcn.18023ccc0
mov edx, 0x5c
mov rcx, qword [rax]
call fcn.18001c630
mov ebx, eax
shr ebx, 0x1f
xor bl, 1
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
lea r15, [0x180660020]
mov esi, 0xffffffff
cmp rcx, r15
je 0x18028eb87
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, esi
jne 0x18028eb87
call fcn.18011d9c0
test bl, bl
je 0x18028eda5
lea rdx, [rbp + 0x50]
lea rcx, [r14 + 0x368]
call fcn.18023ccc0
nop
mov r8, qword [rax]
lea rdx, [rbp + 0x40]
lea rcx, [r14 + 0x140]
call fcn.18018cdd0
nop
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x18028ebd4
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18028ebd4
call fcn.18011d9c0
nop
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x48]
call fcn.180017f90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x18028ec62
cmp eax, 0xffffffff
je 0x18028ec62
lea rdx, [rbp + 0x40]
mov rcx, r14
call fcn.1802900e0
lea rcx, [r14 + 0x148]
call fcn.180009780
cmp dword [r14 + 0x150], 0
je 0x18028ec29
mov rcx, qword [r14 + 0x148]
call fcn.180124068
mov qword [r14 + 0x148], r12
mov dword [r14 + 0x150], r12d
test dword [r14 + 0x138], 0x100
jne 0x18028eda3
lea rax, [r15 + 0x10]
mov qword [rbp + 0x48], rax
mov r8b, 1
lea rdx, [rbp + 0x48]
lea rcx, [r14 + 0x368]
call fcn.180243320
nop
jmp 0x18028ed83
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x40]
call fcn.180190bc0
nop
mov rdx, rax
mov rcx, r14
call fcn.1802900e0
nop
mov rcx, qword [rbp + 0x48]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x18028ec9b
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18028ec9b
call fcn.18011d9c0
lea rbx, [r14 + 0x148]
mov rcx, rbx
call fcn.180009780
cmp dword [rbx + 8], 0
je 0x18028ecbb
mov rcx, qword [rbx]
call fcn.180124068
mov qword [rbx], r12
mov dword [rbx + 8], r12d
mov ecx, dword [rbx + 0xc]
inc ecx
test ecx, ecx
jle 0x18028ecdf
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [rcx + 8]
add edx, eax
and edx, 0xfffffff8
mov rcx, rbx
call fcn.18000c670
movsxd rcx, dword [rbx + 0xc]
lea eax, [rcx + 1]
mov dword [rbx + 0xc], eax
mov rax, qword [rbx]
lea r8, [rax + rcx*8]
mov rax, qword [rbp + 0x40]
mov qword [r8], rax
add rax, 0xfffffffffffffff0
cmp rax, r15
je 0x18028ed03
lock inc dword [rax]
mov edx, 0x5c
lea rcx, [rbp + 0x40]
call fcn.18017c8f0
mov r8d, eax
test eax, eax
jns 0x18028ed2e
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x48], rax
add rax, 0xfffffffffffffff0
cmp rax, r15
je 0x18028ed6f
lock inc dword [rax]
jmp 0x18028ed6f
mov rdx, qword [rbp + 0x40]
movzx ecx, byte [rdx]
test cl, cl
je 0x18028ed64
inc rdx
test cl, cl
jns 0x18028ed53
mov al, 0x40
test al, cl
je 0x18028ed53
cmp al, 8
jbe 0x18028ed53
inc rdx
shr al, 1
test cl, al
jne 0x18028ed46
sub r8d, 1
jns 0x18028ed32
lea rcx, [rbp + 0x48]
call fcn.18001d410
jmp 0x18028ed6f
lea rax, [0x180660030]
mov qword [rbp + 0x48], rax
mov r8b, 1
lea rdx, [rbp + 0x48]
lea rcx, [r14 + 0x368]
call fcn.180243320
nop
mov rcx, qword [rbp + 0x48]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x18028eda3
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18028eda3
call fcn.18011d9c0
nop
jmp 0x18028edcd
mov rax, qword [r14 + 0xe8]
mov rbx, qword [rax + 0x18]
xor r8d, r8d
lea rdx, [rbp + 0x40]
mov rcx, r14
call fcn.180290770
nop
mov rdx, rax
lea rcx, [r14 + 0xe8]
call rbx
nop
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x18028edea
lock xadd dword [rcx], esi
dec esi
cmp esi, 0xffffffff
jne 0x18028edea
call fcn.18011d9c0
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret