Function at 0x1400b75a0
Capabilities:
Get file system object information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x2a0]
sub rsp, 0x3a0
mov rbx, rdx
mov rsi, rcx
xor edx, edx
xor r8d, r8d
lea ecx, [rdx + 6]
call fcn.140012600
test al, al
je 0x1400b7991
mov rcx, qword [rsi + 0xef0]
mov edi, dword [rsi + 0x13a4]
mov r14d, dword [rsi + 0x13a8]
mov rax, qword [rcx]
call qword [rax + 0x28]
test al, al
je 0x1400b7610
mov rcx, qword [rsi + 0xef0]
add rcx, 0x720
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov edi, eax
mov rcx, qword [rsi + 0xef8]
mov rdx, qword [rcx]
call qword [rdx + 0x28]
test al, al
je 0x1400b7638
mov rcx, qword [rsi + 0xef8]
add rcx, 0x720
mov rdx, qword [rcx]
call qword [rdx + InitCommonControls]
mov r14d, eax
cmp edi, 0xffffffff
je 0x1400b7991
cmp r14d, 0xffffffff
je 0x1400b7991
call fcn.14008f210
mov rcx, rax
mov edx, edi
call fcn.1400a5e40
mov rcx, qword [rax]
test rcx, rcx
je 0x1400b7991
movsxd rdx, r14d
add rcx, 0x88
call fcn.140084040
mov r12, rax
mov rcx, qword [rax]
test rcx, rcx
je 0x1400b7991
cmp dword [rcx + 8], 0
je 0x1400b76ca
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d7018]
xor r14d, r14d
lea rcx, [rbp - 0x60]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], r14w
lea r8d, [r14 + 0xa]
call fcn.140003280
lea rcx, [rsi - 0x350]
lea rdx, [rbp - 0x60]
call fcn.1400ce070
mov al, 1
jmp 0x1400b7993
mov edi, dword [rbx + 4]
lea rcx, [rbp - 0x20]
xor edx, edx
mov r8d, 0x2b8
add rdi, rbx
call sub.msvcrt.dll_memset
cmp dword [rbx], 0
jle 0x1400b7991
mov edx, dword [rbx + 8]
mov rcx, rdi
add rdx, rbx
call qword [sym.imp.SHELL32.dll_ILCombine]
mov r9d, 0x2b8
mov dword [rsp + 0x20], 0x4a08
mov rcx, rax
lea r8, [rbp - 0x20]
xor edx, edx
mov r15, rax
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
cmp dword [rbp - 0x18], 0
je 0x1400b7991
mov ecx, dword [rbp - 0x14]
test cl, 4
je 0x1400b7991
test ecx, 0x20000004
je 0x1400b7991
mov ecx, 0x170
call fcn.14017b770
xor r14d, r14d
test rax, rax
je 0x1400b7757
mov rcx, rax
call fcn.140083d70
jmp 0x1400b775a
mov rax, r14
movzx r8d, byte [rbp + 0x2e0]
lea rcx, [rsp + 0x30]
xorps xmm0, xmm0
mov rdx, rax
movdqu xmmword [rsp + 0x30], xmm0
call fcn.1400838c0
mov rax, qword [rsp + 0x30]
mov rdi, 0xffffffffffffffff
mov r8, rdi
mov dword [rax + 0x1c], 7
lea rax, [rbp - 0x10]
inc r8
cmp word [rax + r8*2], r14w
jne 0x1400b7792
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x10]
add rcx, 0x20
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
lea rax, [rbp - 0x10]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r14w
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], r14w
jne 0x1400b77d0
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140003280
mov rbx, qword [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140089710
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140001620
mov rdx, rax
lea rcx, [rbx + 0x40]
call fcn.1400129c0
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400b7856
mov rcx, qword [rsp + 0x60]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b7851
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b7a69
call fcn.14017b7ac
mov rdx, qword [rbp - 0x68]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rsp + 0x60], r14w
movdqu xmmword [rsp + 0x70], xmm0
cmp rdx, 8
jb 0x1400b78aa
mov rcx, qword [rbp - 0x80]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b78a5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b7a69
call fcn.14017b7ac
mov rdx, qword [rsp + 0x58]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rbp - 0x80], r14w
movdqu xmmword [rbp - 0x70], xmm0
cmp rdx, 8
jb 0x1400b78fe
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b78f9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b7a69
call fcn.14017b7ac
mov rcx, r15
call qword [sym.imp.SHELL32.dll_ILGetSize]
mov rdx, qword [rsp + 0x30]
mov r8, r15
mov r9d, eax
movzx eax, byte [rbp + 0x2e0]
add r9, r15
mov byte [rsp + 0x20], al
lea rcx, [rdx + 0x80]
mov rdx, qword [rdx + 0x88]
call fcn.14009c3f0
mov rcx, r15
call qword [sym.imp.SHELL32.dll_ILFree]
cmp qword [rsp + 0x30], r14
je 0x1400b7a2b
call fcn.14008f210
mov rcx, rax
lea r8, [rsp + 0x30]
mov rdx, r12
call fcn.1400843f0
test al, al
jne 0x1400b79af
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400b7991
mov eax, edi
lock xadd dword [rbx + 8], eax
sub eax, 1
jne 0x1400b7991
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400b7991
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
xor al, al
lea r11, [rsp + 0x3a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x40]
call fcn.1400894e0
mov rbx, rax
call fcn.14008f190
mov r8d, dword [rbp - 0x18]
mov rcx, rax
mov rdx, rbx
call fcn.14007c000
mov rdx, qword [rbp - 0x28]
test al, al
sete bl
cmp rdx, 8
jb 0x1400b7a15
mov rcx, qword [rbp - 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b7a10
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b7a63
call fcn.14017b7ac
test bl, bl
jne 0x1400b7960
lea rcx, [rsi - 0x350]
xor edx, edx
call fcn.1400c3510
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400b7a5c
mov eax, edi
lock xadd dword [rbx + 8], eax
sub eax, 1
jne 0x1400b7a5c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400b7a5c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov al, 1
jmp 0x1400b7993
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3