Function at 0x140145170
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, 0x80
mov r15, rdx
mov r14, rcx
xor edi, edi
mov dword [rbp + 0x40], edi
mov rdx, rcx
lea rcx, [rbp - 0x30]
call fcn.140016140
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x1401451d3
cmp eax, 0xffffffff
je 0x1401451d3
lea rdx, [rbp - 0x48]
mov rcx, r15
call fcn.1401440e0
mov edi, 1
mov rax, qword [rax]
cmp byte [rax], 0
jne 0x1401451d3
movzx ebx, dil
jmp 0x1401451d5
xor bl, bl
lea r12, [0x140592ec8]
test dil, 1
je 0x140145204
mov rcx, qword [rbp - 0x48]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x140145204
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140145204
call fcn.1400c9d7c
test bl, bl
je 0x14014541b
lea rdx, [0x1404f91d4]
lea rcx, [rbp + 0x58]
call fcn.140018a20
nop
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
mov r8d, 2
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.140144000
nop
mov rcx, qword [rbp + 0x58]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x14014525b
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14014525b
call fcn.1400c9d7c
mov rdi, qword [rbp - 0x28]
movsxd rax, dword [rbp - 0x1c]
lea rsi, [rdi + rax*8]
lea r13, [0x140592ed8]
cmp rdi, rsi
je 0x14014535f
nop word [rax + rax]
mov edx, 0x5c
mov rcx, rdi
call fcn.140134dd0
mov r8d, eax
mov rdx, qword [rdi]
test eax, eax
jns 0x1401452b0
mov qword [rbp + 0x40], rdx
add rdx, 0xfffffffffffffff0
cmp rdx, r12
je 0x1401452e6
lock inc dword [rdx]
jmp 0x1401452e6
movzx ecx, byte [rdx]
test cl, cl
je 0x1401452e2
inc rdx
test cl, cl
jns 0x1401452d1
mov al, 0x40
test al, cl
je 0x1401452d1
cmp al, 8
jbe 0x1401452d1
inc rdx
shr al, 1
test al, cl
jne 0x1401452c4
sub r8d, 1
jns 0x1401452b0
lea rcx, [rbp + 0x40]
call fcn.140018f60
jmp 0x1401452e6
mov qword [rbp + 0x40], r13
mov r8, qword [rbp + 0x40]
lea rdx, [rbp - 0x40]
mov rcx, r15
call fcn.1401446f0
nop
mov rdx, rax
mov rcx, rdi
call fcn.140145600
movzx ebx, al
mov rcx, qword [rbp - 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x140145328
mov edx, 0xffffffff
lock xadd dword [rcx], edx
dec edx
cmp edx, 0xffffffff
jne 0x140145328
call fcn.1400c9d7c
nop
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x14014534a
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14014534a
call fcn.1400c9d7c
test bl, bl
je 0x140145409
add rdi, 8
cmp rdi, rsi
jne 0x140145280
lea rcx, [rbp - 0x28]
call fcn.140003220
mov rcx, qword [rbp - 0x28]
call fcn.1400d4bdc
lea rdx, [0x1404f91d8]
lea rcx, [rbp - 0x50]
call fcn.140018a20
nop
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.140144000
nop
mov rcx, qword [rbp - 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x1401453c0
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1401453c0
call fcn.1400c9d7c
mov rdi, qword [rbp - 0x18]
movsxd rax, dword [rbp - 0xc]
lea rsi, [rdi + rax*8]
cmp rdi, rsi
je 0x1401454e7
nop word [rax + rax]
mov edx, 0x5c
mov rcx, rdi
call fcn.140134dd0
mov r8d, eax
mov rdx, qword [rdi]
test eax, eax
jns 0x140145438
mov qword [rbp + 0x50], rdx
add rdx, 0xfffffffffffffff0
cmp rdx, r12
je 0x140145472
lock inc dword [rdx]
jmp 0x140145472
lea rcx, [rbp - 0x28]
call fcn.140003220
mov rcx, qword [rbp - 0x28]
call fcn.1400d4bdc
xor al, al
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx ecx, byte [rdx]
test cl, cl
je 0x14014546e
inc rdx
test cl, cl
jns 0x14014545d
mov al, 0x40
test al, cl
je 0x14014545d
nop dword [rax]
cmp al, 8
jbe 0x14014545d
inc rdx
shr al, 1
test al, cl
jne 0x140145450
sub r8d, 1
jns 0x140145438
lea rcx, [rbp + 0x50]
call fcn.140018f60
jmp 0x140145472
mov qword [rbp + 0x50], r13
mov r8, qword [rbp + 0x50]
lea rdx, [rbp - 0x38]
mov rcx, r15
call fcn.1401446f0
nop
mov rdx, rax
mov rcx, rdi
call fcn.140145170
movzx ebx, al
mov rcx, qword [rbp - 0x38]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x1401454b4
mov edx, 0xffffffff
lock xadd dword [rcx], edx
dec edx
cmp edx, 0xffffffff
jne 0x1401454b4
call fcn.1400c9d7c
nop
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x1401454d6
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1401454d6
call fcn.1400c9d7c
test bl, bl
je 0x140145500
add rdi, 8
cmp rdi, rsi
jne 0x1401453e0
lea rcx, [rbp - 0x18]
call fcn.140003220
mov rcx, qword [rbp - 0x18]
call fcn.1400d4bdc
mov al, 1
jmp 0x14014541d
lea rcx, [rbp - 0x18]
call fcn.140003220
mov rcx, qword [rbp - 0x18]
jmp 0x140145416