Function at 0x140253ab0
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
mov r12, rdx
mov r14, rcx
xor esi, esi
mov dword [rbp + 0x77], esi
xor dil, dil
lea r13, [rcx + 0x120]
mov rdx, qword [rdx]
lea r15d, [rsi - 1]
cmp qword [r13], rdx
je 0x140253cf2
mov rcx, qword [r13]
call fcn.140018f90
test eax, eax
je 0x140253cf2
mov byte [rbp + 0x67], 1
mov rcx, qword [r14 + 0x148]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, qword [r12]
mov qword [rbp + 0x7f], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x140253b2c
lock inc dword [rcx - 0x10]
mov rbx, qword [rbp + 0x7f]
cmp byte [rbx], 0
jne 0x140253b72
lea rdx, [0x140370004]
lea rcx, [rbp - 0x19]
call fcn.140019ef0
mov rax, qword [rbp - 0x19]
mov qword [rbp + 0x7f], rax
lea rcx, [rbx - 0x10]
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140253b6e
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140253b6e
call fcn.1400daaa8
mov rbx, qword [rbp + 0x7f]
mov qword [rbp - 0x29], rsi
mov qword [rbp - 0x21], rsi
mov qword [rbp - 0x39], rsi
mov qword [rbp - 0x31], rsi
mov rax, qword [r14]
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x29]
mov rcx, r14
call qword [rax + 0x170]
mov esi, dword [rbp - 0x2d]
test esi, esi
jle 0x140253bc7
xor edi, edi
nop
movsxd rcx, edi
mov rax, qword [rbp - 0x39]
mov rdx, rbx
mov rcx, qword [rax + rcx*8]
call fcn.140018f90
test eax, eax
je 0x140253bbf
inc edi
cmp edi, esi
jl 0x140253ba0
jmp 0x140253bc7
test edi, edi
jns 0x140253ca5
lea rcx, [r14 + 0x158]
call fcn.140218c80
mov esi, eax
sub esi, 1
js 0x140253c5a
nop
mov edx, esi
lea rcx, [r14 + 0x158]
call fcn.140218d00
test rax, rax
je 0x140253c0b
mov rdi, qword [rax]
mov eax, dword [rdi - 0x10]
nop
test eax, 0x30000000
jne 0x140253c05
lock inc dword [rdi - 0x10]
mov rbx, qword [rbp + 0x7f]
jmp 0x140253c12
lea rdi, [0x140370a58]
cmp rdi, rbx
je 0x140253c2a
mov rdx, rbx
mov rcx, rdi
call fcn.140018f90
test eax, eax
je 0x140253c2a
xor bl, bl
jmp 0x140253c2c
mov bl, 1
lea rcx, [rdi - 0x10]
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140253c4d
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140253c4d
call fcn.1400daaa8
test bl, bl
mov rbx, qword [rbp + 0x7f]
jne 0x140253ca1
sub esi, 1
jns 0x140253be0
lea rcx, [r14 + 0x158]
call fcn.140218c80
lea edx, [rax + 2]
cmp byte [rbx], 0
je 0x140253ca1
test edx, edx
je 0x140253ca1
mov qword [rbp - 0x11], rbx
mov eax, dword [rbx - 0x10]
nop
test eax, 0x30000000
jne 0x140253c85
lock inc dword [rbx - 0x10]
lea rcx, [r14 + 0x298]
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rbp - 0x11]
call fcn.14021e7b0
mov rbx, qword [rbp + 0x7f]
mov r12, qword [rbp + 0x6f]
lea rcx, [rbp - 0x39]
call fcn.1400033c0
mov rcx, qword [rbp - 0x39]
call fcn.1400e1bf4
nop
lea rcx, [rbp - 0x29]
call fcn.1400033c0
mov rcx, qword [rbp - 0x29]
call fcn.1400e1bf4
nop
lea rcx, [rbx - 0x10]
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140253cec
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140253cec
call fcn.1400daaa8
movzx edi, byte [rbp + 0x67]
xor esi, esi
mov rax, qword [r12]
mov ecx, dword [rax - 0x10]
nop
test ecx, 0x30000000
jne 0x140253d06
lock inc dword [rax - 0x10]
mov rcx, qword [r12]
xchg qword [r13], rcx
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140253d2f
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140253d2f
call fcn.1400daaa8
mov r9b, 1
movzx r8d, r9b
mov rdx, r13
mov rcx, qword [r14 + 0x108]
call fcn.140254ee0
mov dword [rsp + 0x20], esi
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, qword [r14 + 0x148]
call fcn.1400dcefc
test rax, rax
je 0x140253d72
mov rcx, rax
call fcn.14024b7c0
mov rcx, qword [r13]
mov qword [rbp - 0x49], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x140253d89
lock inc dword [rcx - 0x10]
mov rbx, qword [rbp - 0x49]
cmp byte [rbx], 0
jne 0x140253dcb
lea rdx, [0x140370004]
lea rcx, [rbp - 9]
call fcn.140019ef0
mov rax, qword [rbp - 9]
mov qword [rbp - 0x49], rax
lea rcx, [rbx - 0x10]
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140253dcb
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140253dcb
call fcn.1400daaa8
lea rcx, [r14 + 0x158]
lea rdx, [rbp - 0x49]
call fcn.1402824f0
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.14017a620
nop
mov ebx, 1
mov dword [rbp + 0x77], ebx
mov rdx, rax
lea rcx, [rbp + 0xf]
call fcn.140014d10
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x140253e3d
cmp eax, 0xffffffff
je 0x140253e3d
lea rdx, [rbp - 1]
mov rcx, r13
call fcn.14017a620
nop
mov ebx, 3
mov dword [rbp + 0x77], ebx
mov rdx, qword [r13]
cmp qword [rax], rdx
je 0x140253e3d
mov rcx, qword [rax]
call fcn.140018f90
test eax, eax
je 0x140253e3d
mov dl, 1
jmp 0x140253e3f
xor edx, edx
mov rcx, qword [r14 + 0x880]
call fcn.140288c40
nop
test bl, 2
je 0x140253e7f
and ebx, 0xfffffffd
mov dword [rbp + 0x77], ebx
mov rcx, qword [rbp - 1]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140253e7c
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140253e7c
call fcn.1400daaa8
mov ebx, dword [rbp + 0x77]
test bl, 1
je 0x140253ea9
mov rcx, qword [rbp + 7]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140253ea9
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140253ea9
call fcn.1400daaa8
test dil, dil
je 0x140253f29
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.14009a8e0
nop
mov edi, dword [r14 + 0x144]
mov rbx, qword [rbp - 0x41]
test rbx, rbx
je 0x140253f08
cmp qword [rbx + 0x10], 0
je 0x140253f08
test edi, edi
jle 0x140253f08
mov eax, dword [r14 + 0x144]
dec edi
cmp edi, eax
jl 0x140253eef
lea edi, [rax - 1]
mov eax, edi
shr eax, 0x1f
xor al, 1
je 0x140253f08
movsxd rcx, edi
mov rax, qword [r14 + 0x138]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x20]
jmp 0x140253ec6
test rbx, rbx
je 0x140253f29
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140253f29
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp - 0x49]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140253f4e
lock xadd dword [rcx], r15d
dec r15d
cmp r15d, 0xffffffff
jne 0x140253f4e
call fcn.1400daaa8
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret