Function at 0x1402503a0
Capabilities:
Get file attributes

Disassembly:
mov rcx, qword [rcx + 8]
jmp 0x1402503a0
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x20
mov rsi, rcx
xor r15d, r15d
lea rdx, [rbp + 0x30]
add rcx, 0x308
call fcn.14027e4e0
mov edx, 0x5c
mov rcx, qword [rax]
call fcn.140019580
mov edi, eax
shr edi, 0x1f
xor dil, 1
mov rcx, qword [rbp + 0x30]
add rcx, 0xfffffffffffffff0
mov edx, dword [rcx]
nop
mov ebx, 0xffffffff
test edx, 0x30000000
jne 0x140250408
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, ebx
jne 0x140250408
call fcn.1400da0f0
test dil, dil
je 0x140250644
lea rdx, [rbp + 0x40]
lea rcx, [rsi + 0x308]
call fcn.14027e4e0
nop
lea rcx, [rsi + 0x120]
mov r8, qword [rax]
lea rdx, [rbp + 0x30]
call fcn.140177e00
nop
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14025045b
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14025045b
call fcn.1400da0f0
nop
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x38]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x1402504ea
cmp eax, 0xffffffff
je 0x1402504ea
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.140251a90
lea rcx, [rsi + 0x128]
call fcn.1400033c0
cmp dword [rsi + 0x130], 0
je 0x1402504af
mov rcx, qword [rsi + 0x128]
call fcn.1400e0818
mov qword [rsi + 0x128], r15
mov dword [rsi + 0x130], r15d
test dword [rsi + 0x118], 0x100
jne 0x140250642
lea rax, [0x140379908]
mov qword [rbp + 0x38], rax
mov r8b, 1
lea rdx, [rbp + 0x38]
lea rcx, [rsi + 0x308]
call fcn.14027e100
nop
jmp 0x14025061d
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x30]
call fcn.1401786f0
nop
mov rdx, rax
mov rcx, rsi
call fcn.140251a90
nop
mov rcx, qword [rbp + 0x38]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140250528
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140250528
call fcn.1400da0f0
lea rdi, [rsi + 0x128]
mov rcx, rdi
call fcn.1400033c0
cmp dword [rdi + 8], 0
je 0x140250548
mov rcx, qword [rdi]
call fcn.1400e0818
mov qword [rdi], r15
mov dword [rdi + 8], r15d
mov ecx, dword [rdi + 0xc]
inc ecx
test ecx, ecx
jle 0x14025056c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [rcx + 8]
add edx, eax
and edx, 0xfffffff8
mov rcx, rdi
call fcn.1400042c0
movsxd rcx, dword [rdi + 0xc]
lea eax, [rcx + 1]
mov dword [rdi + 0xc], eax
mov rax, qword [rdi]
lea r8, [rax + rcx*8]
mov rax, qword [rbp + 0x30]
mov qword [r8], rax
mov ecx, dword [rax - 0x10]
nop
test ecx, 0x30000000
jne 0x140250594
lock inc dword [rax - 0x10]
mov edx, 0x5c
lea rcx, [rbp + 0x30]
call fcn.140168d50
mov r8d, eax
test eax, eax
jns 0x1402505c3
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x38], rax
mov ecx, dword [rax - 0x10]
nop
test ecx, 0x30000000
jne 0x140250609
lock inc dword [rax - 0x10]
jmp 0x140250609
mov rdx, qword [rbp + 0x30]
movzx ecx, byte [rdx]
test cl, cl
je 0x1402505fe
inc rdx
test cl, cl
jns 0x1402505ed
mov al, 0x40
test al, cl
je 0x1402505ed
nop dword [rax + rax]
cmp al, 8
jbe 0x1402505ed
inc rdx
shr al, 1
test cl, al
jne 0x1402505e0
sub r8d, 1
jns 0x1402505c7
lea rcx, [rbp + 0x38]
call fcn.14001a340
jmp 0x140250609
lea rax, [0x140379908]
mov qword [rbp + 0x38], rax
lea rcx, [rsi + 0x308]
mov r8b, 1
lea rdx, [rbp + 0x38]
call fcn.14027e100
nop
mov rcx, qword [rbp + 0x38]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
test eax, 0x30000000
nop
jne 0x140250642
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140250642
call fcn.1400da0f0
nop
jmp 0x140250666
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.14027f0f0
nop
lea rcx, [rsi + 0xd8]
mov r8, qword [rcx]
mov rdx, rax
call qword [r8 + reloc.OLEAUT32.dll_SafeArrayGetElement]
nop
mov rcx, qword [rbp + 0x30]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
test eax, 0x30000000
nop
jne 0x140250688
lock xadd dword [rcx], ebx
dec ebx
cmp ebx, 0xffffffff
jne 0x140250688
call fcn.1400da0f0
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret