Function at 0x140226c40
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 r15, rdx
mov r12, rcx
mov dword [rbp + 0x77], 0
xor r13b, r13b
lea rsi, [rcx + 0x140]
mov rdx, qword [rdx]
mov r14d, 0xffffffff
cmp qword [rsi], rdx
je 0x140226ec5
mov rcx, qword [rsi]
call fcn.140017f20
test eax, eax
je 0x140226ec5
mov r13b, 1
mov byte [rbp + 0x67], r13b
mov rcx, qword [r12 + 0x178]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rbx, qword [r15]
mov qword [rbp + 0x7f], rbx
lea rdi, [rbx - 0x10]
lea rsi, [0x140592ec8]
cmp rdi, rsi
je 0x140226cc9
lock inc dword [rdi]
mov rbx, qword [rbp + 0x7f]
cmp byte [rbx], 0
jne 0x140226d05
lea rdx, [0x1404fa3cc]
lea rcx, [rbp - 0x21]
call fcn.140018f60
mov rbx, qword [rbp - 0x21]
mov qword [rbp + 0x7f], rbx
cmp rdi, rsi
je 0x140226d05
mov eax, r14d
lock xadd dword [rdi], eax
dec eax
cmp eax, 0xffffffff
jne 0x140226d01
mov rcx, rdi
call fcn.1400c9d7c
mov rbx, qword [rbp + 0x7f]
xor edi, edi
mov qword [rbp - 0x31], rdi
mov qword [rbp - 0x29], rdi
mov qword [rbp - 0x41], rdi
mov qword [rbp - 0x39], rdi
mov rax, qword [r12]
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x31]
mov rcx, r12
call qword [rax + 0x178]
mov esi, dword [rbp - 0x35]
test esi, esi
jle 0x140226d67
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edi
mov rax, qword [rbp - 0x41]
mov rdx, rbx
mov rcx, qword [rax + rcx*8]
call fcn.140017f20
test eax, eax
je 0x140226d5f
inc edi
cmp edi, esi
jl 0x140226d40
jmp 0x140226d67
test edi, edi
jns 0x140226e74
lea rcx, [r12 + 0x188]
call fcn.1401e78c0
mov r15d, eax
sub r15d, 1
js 0x140226e1c
nop dword [rax]
nop word [rax + rax]
mov edx, r15d
lea rcx, [r12 + 0x188]
call fcn.1401e7940
test rax, rax
je 0x140226dc1
mov rdi, qword [rax]
lea rax, [rdi - 0x10]
lea rcx, [0x140592ec8]
cmp rax, rcx
je 0x140226dc8
lock inc dword [rax]
mov rbx, qword [rbp + 0x7f]
jmp 0x140226dc8
lea rdi, [0x140592ed8]
cmp rdi, rbx
je 0x140226de1
mov rdx, rbx
mov rcx, rdi
call fcn.140017f20
test eax, eax
je 0x140226de1
xor sil, sil
jmp 0x140226de4
mov sil, 1
lea rcx, [rdi - 0x10]
lea rdi, [0x140592ec8]
cmp rcx, rdi
je 0x140226e0b
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140226e07
call fcn.1400c9d7c
mov rbx, qword [rbp + 0x7f]
test sil, sil
jne 0x140226e6b
sub r15d, 1
jns 0x140226d90
jmp 0x140226e23
lea rdi, [0x140592ec8]
lea rcx, [r12 + 0x188]
call fcn.1401e78c0
add eax, 2
cmp byte [rbx], 0
je 0x140226e6b
test eax, eax
je 0x140226e6b
lea rcx, [r12 + 0x2d8]
mov qword [rbp - 0x19], rbx
lea rdx, [rbx - 0x10]
cmp rdx, rdi
je 0x140226e58
lock inc dword [rdx]
mov rbx, qword [rbp + 0x7f]
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rbp - 0x19]
mov edx, eax
call fcn.1401f3080
movzx r13d, byte [rbp + 0x67]
mov r15, qword [rbp + 0x6f]
lea rcx, [rbp - 0x41]
call fcn.140003220
mov rcx, qword [rbp - 0x41]
call fcn.1400d4bdc
nop
lea rcx, [rbp - 0x31]
call fcn.140003220
mov rcx, qword [rbp - 0x31]
call fcn.1400d4bdc
nop
lea rcx, [rbx - 0x10]
lea rax, [0x140592ec8]
cmp rcx, rax
je 0x140226ebd
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140226ebd
call fcn.1400c9d7c
lea rsi, [r12 + 0x140]
mov rax, qword [r15]
add rax, 0xfffffffffffffff0
lea rcx, [0x140592ec8]
cmp rax, rcx
je 0x140226edb
lock inc dword [rax]
mov rcx, qword [r15]
xchg qword [rsi], rcx
add rcx, 0xfffffffffffffff0
lea r15, [0x140592ec8]
cmp rcx, r15
je 0x140226f04
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140226f04
call fcn.1400c9d7c
mov rdx, rsi
mov rcx, qword [r12 + 0x128]
call fcn.140228c90
mov dword [rsp + 0x20], 0
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, qword [r12 + 0x178]
call fcn.1400cc570
test rax, rax
je 0x140226f4e
mov rcx, qword [rax + 0x170]
mov rcx, qword [rcx + 0x28]
call fcn.140228a00
mov rax, qword [rsi]
mov qword [rbp + 0x67], rax
lea rbx, [rax - 0x10]
cmp rbx, r15
je 0x140226f65
lock inc dword [rbx]
mov rax, qword [rbp + 0x67]
cmp byte [rax], 0
jne 0x140226f9d
lea rdx, [0x1404fa3cc]
lea rcx, [rbp - 0x11]
call fcn.140018f60
mov rax, qword [rbp - 0x11]
mov qword [rbp + 0x67], rax
cmp rbx, r15
je 0x140226f9d
mov eax, r14d
lock xadd dword [rbx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140226f9d
mov rcx, rbx
call fcn.1400c9d7c
lea rcx, [r12 + 0x188]
lea rdx, [rbp + 0x67]
call fcn.1401e6cd0
mov rdi, qword [r12 + 0x968]
lea rdx, [rbp - 1]
mov rcx, rsi
call fcn.140144ff0
nop
mov ebx, 1
mov dword [rbp + 0x77], ebx
mov rdx, rax
lea rcx, [rbp + 0xf]
call fcn.140016140
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x140227017
cmp eax, 0xffffffff
je 0x140227017
lea rdx, [rbp - 9]
mov rcx, rsi
call fcn.140144ff0
nop
mov ebx, 3
mov dword [rbp + 0x77], ebx
mov rdx, qword [rsi]
cmp qword [rax], rdx
je 0x140227017
mov rcx, qword [rax]
call fcn.140017f20
test eax, eax
je 0x140227017
mov dl, 1
jmp 0x140227019
xor edx, edx
mov rcx, rdi
call fcn.14024fd10
nop
test bl, 2
je 0x140227050
and ebx, 0xfffffffd
mov dword [rbp + 0x77], ebx
mov rcx, qword [rbp - 9]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x140227050
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14022704d
call fcn.1400c9d7c
mov ebx, dword [rbp + 0x77]
test bl, 1
je 0x140227075
mov rcx, qword [rbp - 1]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x140227075
mov eax, r14d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140227075
call fcn.1400c9d7c
test r13b, r13b
je 0x1402270c6
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.1400a5460
nop
lea rcx, [r12 + 0x158]
mov qword [rbp + 7], r12
lea r9, [rbp + 7]
lea r8, [rbp - 0x49]
call fcn.1400b18f0
nop
mov rax, qword [rbp - 0x49]
test rax, rax
je 0x1402270c6
mov ecx, r14d
lock xadd dword [rax + 8], ecx
cmp ecx, 1
jne 0x1402270c6
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp + 0x67]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1402270e6
lock xadd dword [rcx], r14d
dec r14d
cmp r14d, 0xffffffff
jne 0x1402270e6
call fcn.1400c9d7c
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret