Function at 0x140175f10
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x48
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
mov dword [rbp - 0x28], 0
mov rdx, qword [rcx]
cmp qword [r8], rdx
je 0x1401763e8
mov rcx, qword [r8]
call fcn.140019450
test eax, eax
je 0x1401763e8
mov rcx, qword [rbx]
mov qword [rbp - 0x20], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x140175f6f
lock inc dword [rcx - 0x10]
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
mov r14, qword [rbp - 0x20]
cmp byte [r14], 0
je 0x140176061
mov rax, rsi
inc rax
cmp byte [r14 + rax], 0
jne 0x140175f91
add rax, r14
xor edx, edx
dec rax
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x140175fb5
inc edx
cmp edx, 4
jl 0x140175fa0
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x60]
call fcn.14000e5c0
cmp eax, 0x5c
jne 0x140176061
mov rax, r14
xor edx, edx
movzx ecx, byte [rax]
inc rax
test cl, cl
jns 0x140176003
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x140176007
nop word [rax + rax]
inc rax
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
je 0x140175ff0
inc rdx
jmp 0x140175fd0
test ecx, ecx
je 0x14017600c
inc rdx
jmp 0x140175fd0
lea eax, [rdx - 1]
xor ecx, ecx
test eax, eax
cmovg ecx, eax
movsxd r8, ecx
mov rdx, r14
lea rcx, [rbp + 0x58]
call fcn.14016a7f0
or dword [rbp - 0x28], 4
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x58], r14
lea rcx, [r14 - 0x10]
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140175f80
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, esi
jne 0x140175f80
call fcn.1400da0f0
jmp 0x140175f80
mov rax, qword [rdi]
cmp byte [rax], 0
je 0x14017609d
mov rdx, rdi
lea rcx, [rbp + 0x58]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
jne 0x14017609d
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.1401786f0
mov rdi, rax
mov ebx, dword [rbp - 0x28]
or ebx, 2
mov dword [rbp - 0x28], ebx
jmp 0x1401760a0
mov ebx, dword [rbp - 0x28]
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.14017e080
nop
test bl, 2
je 0x1401760da
mov rcx, qword [rbp - 0x10]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1401760d6
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1401760d6
call fcn.1400da0f0
mov r14, qword [rbp - 0x20]
xor eax, eax
mov dword [rbp + 0x60], eax
mov r15, qword [rbp - 0x18]
mov rbx, r15
xor r9d, r9d
mov dword [rbp + 0x58], r9d
mov rdi, r14
mov rsi, r15
movzx eax, byte [rdi]
inc rdi
mov r13d, eax
test al, al
jns 0x140176152
mov ecx, 0x7f
mov eax, 0x40
xor edx, edx
test al, r13b
je 0x140176121
cmp eax, 8
jbe 0x140176121
shr ecx, 1
inc edx
shr eax, 1
test r13d, eax
jne 0x140176111
and r13d, ecx
sub edx, 1
js 0x140176152
nop dword [rax]
movzx ecx, byte [rdi]
mov eax, ecx
and al, 0xc0
cmp al, 0x80
jne 0x140176152
inc rdi
and ecx, 0x3f
mov eax, r13d
shl eax, 6
mov r13d, ecx
or r13d, eax
sub edx, 1
jns 0x140176130
movzx eax, byte [rsi]
inc rsi
mov edx, eax
test al, al
jns 0x1401761b0
mov ecx, 0x7f
mov eax, 0x40
xor r8d, r8d
test al, dl
je 0x140176180
nop
cmp eax, 8
jbe 0x140176180
shr ecx, 1
inc r8d
shr eax, 1
test edx, eax
jne 0x140176170
and edx, ecx
sub r8d, 1
js 0x1401761b0
nop dword [rax + rax]
movzx ecx, byte [rsi]
mov eax, ecx
and al, 0xc0
cmp al, 0x80
jne 0x1401761b0
inc rsi
and ecx, 0x3f
mov eax, edx
shl eax, 6
mov edx, ecx
or edx, eax
sub r8d, 1
jns 0x140176190
cmp r13d, edx
je 0x1401761d4
movzx ecx, dx
call fcn.1400ea060
movzx r12d, ax
movzx ecx, r13w
call fcn.1400ea060
cmp ax, r12w
jne 0x1401761f9
mov r9d, dword [rbp + 0x58]
test r13d, r13d
je 0x1401761f9
inc r9d
mov dword [rbp + 0x58], r9d
cmp r13d, 0x5c
jne 0x1401760f3
mov r14, rdi
mov rbx, rsi
mov dword [rbp + 0x60], r9d
jmp 0x1401760f3
mov eax, dword [rbp + 0x60]
test eax, eax
je 0x140176374
cmp eax, 1
jne 0x14017621d
mov edx, eax
lea rcx, [rbp - 0x20]
call fcn.14000e780
cmp eax, 0x5c
je 0x140176374
xor r9d, r9d
movzx eax, byte [rbx]
inc rbx
mov ecx, eax
test al, al
jns 0x140176280
mov edx, 0x7f
mov eax, 0x40
xor r8d, r8d
test al, cl
je 0x140176250
nop dword [rax]
cmp eax, 8
jbe 0x140176250
shr edx, 1
inc r8d
shr eax, 1
test ecx, eax
jne 0x140176240
and ecx, edx
sub r8d, 1
js 0x140176280
nop dword [rax + rax]
movzx edx, byte [rbx]
mov eax, edx
and al, 0xc0
cmp al, 0x80
jne 0x140176280
inc rbx
and edx, 0x3f
mov eax, ecx
shl eax, 6
mov ecx, edx
or ecx, eax
sub r8d, 1
jns 0x140176260
test ecx, ecx
je 0x14017628e
cmp ecx, 0x5c
jne 0x140176220
inc r9d
jmp 0x140176220
test r9d, r9d
jne 0x1401762ac
mov rdx, r14
mov rdi, qword [rbp + 0x50]
mov rcx, rdi
call fcn.14001a340
nop
lea rcx, [r15 - 0x10]
jmp 0x140176399
mov r8d, r9d
lea rdx, [0x1403780d8]
lea rcx, [rbp + 0x48]
call fcn.1401685b0
nop
mov r15, 0xffffffffffffffff
mov rax, r15
nop word [rax + rax]
inc rax
cmp byte [r14 + rax], 0
jne 0x1401762d0
test eax, eax
jle 0x14017631c
mov rcx, qword [rbp + 0x48]
mov rbx, r15
inc rbx
cmp byte [rcx + rbx], 0
jne 0x1401762e5
movsxd rsi, eax
lea rdx, [rsi + rbx]
lea rcx, [rbp + 0x48]
call fcn.14016a9f0
movsxd rdi, ebx
mov rbx, qword [rbp + 0x48]
add rdi, rbx
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call fcn.1402a26b0
mov byte [rsi + rdi], 0
jmp 0x140176320
mov rbx, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x50]
mov qword [rdi], rbx
mov eax, dword [0x1403798f8]
nop
test eax, 0x30000000
jne 0x140176354
mov eax, r15d
lock xadd dword [0x1403798f8], eax
dec eax
cmp eax, 0xffffffff
jne 0x140176354
lea rcx, [0x1403798f8]
call fcn.1400da0f0
nop
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1401763be
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jmp 0x1401763b6
mov rcx, qword [rbp + 0x48]
mov rcx, qword [rcx]
mov rdi, qword [rbp + 0x50]
mov qword [rdi], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x140176391
lock inc dword [rcx - 0x10]
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
test eax, 0x30000000
mov r15, 0xffffffffffffffff
nop
jne 0x1401763be
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, r15d
jne 0x1401763be
call fcn.1400da0f0
nop
mov rcx, qword [rbp - 0x20]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1401763e3
lock xadd dword [rcx], r15d
dec r15d
cmp r15d, 0xffffffff
jne 0x1401763e3
call fcn.1400da0f0
mov rax, rdi
jmp 0x1401763fa
lea rdx, [0x1403780f8]
mov rcx, rsi
call fcn.140019df0
mov rax, rsi
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret