Function at 0x18008a630
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r14, r9
mov esi, r8d
mov rbp, rdx
mov rbx, rcx
mov rdi, qword [rsp + 0xa0]
xor r13d, r13d
lea rdx, str.Native_Win32_FileChooser
lea rcx, [rsp + 0xa0]
call fcn.18001d070
nop
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.180174ef0
nop
mov rcx, qword [rsp + 0xa0]
add rcx, 0xfffffffffffffff0
lea r12, [0x180660020]
mov r15d, 0xffffffff
cmp rcx, r12
je 0x18008a6ba
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, r15d
jne 0x18008a6ba
call fcn.18011d9c0
lea rax, vtable.juce::Win32NativeFileChooser.0
mov qword [rbx], rax
mov qword [rbx + 0x210], r13
mov qword [rbx + 0x218], r13
lea rcx, [rbx + 0x220]
mov rdx, rbp
call fcn.180067e60
nop
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax]
mov qword [rbx + 0x228], rcx
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18008a700
lock inc dword [rcx]
lea r12, [rbx + 0x230]
mov r9d, 0x3b
mov r8d, 0x2c
mov rdx, r12
mov rcx, qword [rsp + 0xb0]
call fcn.18017b960
nop
mov qword [rbx + 0x238], r13
lea rbp, [0x180660030]
mov qword [rbx + 0x240], rbp
mov qword [rbx + 0x248], rbp
lea rcx, [rbx + 0x250]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov eax, esi
shr eax, 3
and al, 1
mov byte [rbx + 0x280], al
test sil, 2
je 0x18008a769
test al, al
jne 0x18008a769
mov al, 1
jmp 0x18008a76b
xor al, al
mov byte [rbx + 0x281], al
mov eax, esi
shr eax, 7
and al, 1
mov byte [rbx + 0x282], al
shr esi, 4
and sil, 1
mov byte [rbx + 0x283], sil
mov qword [rbx + 0x288], r13
mov qword [rbx + 0x290], r13
mov qword [rbx + 0x298], r13
mov byte [rbx + 0x2a0], 0
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.180190bc0
nop
mov rcx, qword [rbx + 0x288]
call fcn.180124068
mov edx, 2
mov ecx, 0x8001
call fcn.180124058
mov qword [rbx + 0x288], rax
mov rdx, rdi
lea rcx, [rsp + 0xa0]
call fcn.180017f90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x18008a7ff
cmp eax, 0xffffffff
jne 0x18008a8f0
mov rcx, rdi
call fcn.18018e470
test al, al
jne 0x18008a8f0
mov edx, 0x5c
mov rcx, rdi
call fcn.18017c8f0
mov r8d, eax
mov rdx, qword [rdi]
test eax, eax
jns 0x18008a843
mov qword [rsp + 0xa0], rdx
add rdx, 0xfffffffffffffff0
lea rax, [0x180660020]
cmp rdx, rax
je 0x18008a881
lock inc dword [rdx]
jmp 0x18008a881
movzx ecx, byte [rdx]
test cl, cl
je 0x18008a879
inc rdx
test cl, cl
jns 0x18008a864
mov al, 0x40
test al, cl
je 0x18008a864
cmp al, 8
jbe 0x18008a864
inc rdx
shr al, 1
test cl, al
jne 0x18008a857
sub r8d, 1
jns 0x18008a843
lea rcx, [rsp + 0xa0]
call fcn.18001d410
jmp 0x18008a881
mov qword [rsp + 0xa0], rbp
mov r8d, 0x10000
mov rdx, qword [rbx + 0x288]
lea rcx, [rsp + 0xa0]
call fcn.1801790c0
mov rcx, qword [rsp + 0xa0]
add rcx, 0xfffffffffffffff0
lea rdx, [0x180660020]
cmp rcx, rdx
je 0x18008a8cd
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18008a8cd
call fcn.18011d9c0
lea rdx, [0x180660020]
mov rax, qword [rsp + 0x30]
lea rcx, [rax - 0x10]
cmp rcx, rdx
je 0x18008a8e3
lock inc dword [rcx]
mov rax, qword [rsp + 0x30]
xchg qword [rbx + 0x240], rax
lea rcx, [rax - 0x10]
jmp 0x18008a914
mov rax, qword [rdi]
add rax, 0xfffffffffffffff0
lea rdx, [0x180660020]
cmp rax, rdx
je 0x18008a906
lock inc dword [rax]
mov rcx, qword [rdi]
xchg qword [rbx + 0x240], rcx
add rcx, 0xfffffffffffffff0
cmp rcx, rdx
je 0x18008a92c
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18008a92c
call fcn.18011d9c0
cmp byte [rbx + 0x280], 0
jne 0x18008abcf
test r14, r14
je 0x18008a9f5
mov ecx, 0xe8
call fcn.18011dae8
mov rdi, rax
mov qword [rsp + 0xa0], rax
mov rcx, rax
call fcn.1802d3f60
nop
lea rax, vtable.juce::Win32NativeFileChooser::CustomComponentHolder.0
mov qword [rdi], rax
mov dl, 1
mov rcx, rdi
call fcn.1802d39f0
mov dl, 1
mov rcx, rdi
call fcn.1802d2f70
mov rax, qword [r14]
mov dl, 1
mov rcx, r14
call qword [rax + 0x58]
mov r8d, r15d
mov rdx, r14
mov rcx, rdi
call fcn.1802a2890
mov eax, dword [r14 + 0x44]
mov r9d, dword [r14 + 0x40]
cmp r9d, 0x14
jge 0x18008a9ad
mov r9d, reloc.WS2_32.dll_sendto
jmp 0x18008a9b9
mov ecx, 0x320
cmp r9d, ecx
cmovg r9d, ecx
mov dword [rsp + 0x20], eax
mov r8d, dword [rdi + 0x3c]
mov edx, dword [rdi + 0x38]
mov rcx, rdi
call fcn.1802bd870
nop
mov rsi, qword [rbx + 0x238]
mov qword [rbx + 0x238], rdi
test rsi, rsi
je 0x18008a9f5
mov rcx, rsi
call fcn.1802d3c60
mov edx, 0xe8
mov rcx, rsi
call fcn.18011d9c0
mov rcx, qword [rbx + 0x290]
call fcn.180124068
mov edx, 2
mov ecx, 0x800
call fcn.180124058
mov rsi, rax
mov qword [rbx + 0x290], rax
mov rcx, qword [r12]
mov ebp, 0xffe
test rax, rax
jne 0x18008aa32
call fcn.18001ec10
jmp 0x18008ab43
mov rdi, rbp
mov r14d, 4
mov r9d, 0x2800
mov r10d, 0x3ff
mov r12d, 0x2400
nop dword [rax]
mov r11, rax
movzx r8d, byte [rcx]
inc rcx
mov edx, r8d
test r8b, r8b
jns 0x18008aad7
mov r9d, 0x7f
mov r8d, 0x40
mov r10d, r13d
test r8b, dl
je 0x18008aa8a
cmp r8d, 8
jbe 0x18008aa8a
shr r9d, 1
inc r10d
shr r8d, 1
test edx, r8d
jne 0x18008aa76
and edx, r9d
sub r10d, 1
js 0x18008aacb
nop dword [rax]
nop word [rax + rax]
movzx r9d, byte [rcx]
mov r8d, r9d
and r8b, 0xc0
cmp r8b, 0x80
jne 0x18008aacb
inc rcx
and r9d, 0x3f
mov r8d, edx
shl r8d, 6
mov edx, r9d
or edx, r8d
sub r10d, 1
jns 0x18008aaa0
mov r9d, 0x2800
mov r10d, 0x3ff
mov r8d, 2
cmp edx, 0x10000
cmovae r8, r14
sub rdi, r8
test edx, edx
je 0x18008ab34
test rdi, rdi
js 0x18008ab34
cmp edx, 0x10000
jb 0x18008ab28
lea r8d, [rdx - 0x10000]
mov edx, r8d
shr edx, 0xa
sub dx, r9w
mov word [rax], dx
lea r11, [rax + 2]
and r8w, r10w
sub r8w, r12w
mov word [r11], r8w
lea rax, [r11 + 2]
jmp 0x18008aa50
mov word [rax], dx
lea rax, [r11 + 2]
jmp 0x18008aa50
mov word [rax], r13w
sub eax, esi
cdqe
lea r12, [rbx + 0x230]
lea rcx, [rax + 2]
sub rbp, rcx
shr rcx, 1
mov rax, qword [rbx + 0x290]
lea rdx, [rax + rcx*2]
mov r8, rbp
mov rcx, r12
call fcn.1801790c0
mov rcx, r13
nop word [rax + rax]
mov rax, qword [rbx + 0x290]
cmp word [rcx + rax], 0x7c
jne 0x18008ab83
mov word [rcx + rax], r13w
mov rax, qword [rbx + 0x290]
cmp word [rcx + rax + 2], 0x7c
jne 0x18008ab98
mov word [rcx + rax + 2], r13w
mov rax, qword [rbx + 0x290]
cmp word [rcx + rax + 4], 0x7c
jne 0x18008abad
mov word [rcx + rax + 4], r13w
mov rax, qword [rbx + 0x290]
cmp word [rax + rcx + 6], 0x7c
jne 0x18008abc2
mov word [rax + rcx + 6], r13w
add rcx, 8
cmp rcx, 0x1000
jb 0x18008ab70
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff0
lea rax, [0x180660020]
cmp rcx, rax
je 0x18008abf8
lock xadd dword [rcx], r15d
dec r15d
cmp r15d, 0xffffffff
jne 0x18008abf8
call fcn.18011d9c0
nop
mov rax, rbx
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret