Function at 0x1802883c0
Capabilities:
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov r14, rcx
xor r15d, r15d
call fcn.1801f9310
mov rcx, qword [r14 + 0x30]
mov qword [r14 + 0x30], r15
mov edi, 0xffffffff
test rcx, rcx
je 0x180288407
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180288407
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [r14 + 0x38]
add rcx, 0xfffffffffffffff0
lea rax, [0x180660020]
cmp rcx, rax
je 0x18028842c
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, edi
jne 0x18028842c
call fcn.18011d9c0
lea rax, [0x180660030]
mov qword [r14 + 0x38], rax
lea rcx, [r14 - 0xe8]
mov edx, dword [rcx + 0x44]
mov eax, dword [rcx + 0x40]
mov qword [rbp - 0x48], r15
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x3c], edx
movaps xmm0, xmmword [rbp - 0x48]
movdqa xmmword [rbp - 0x48], xmm0
mov r8b, 1
lea rdx, [rbp - 0x48]
call fcn.1802a1ae0
lea rdx, [r14 + 0x28]
lea rcx, [rbp - 0x38]
call fcn.18018a650
nop
mov rax, qword [rbp - 0x18]
cmp byte [rax], 0
jne 0x18028878c
mov rax, qword [r14 + 0x28]
cmp byte [rax], 0
je 0x18028878c
lea rdx, [r14 + 0x28]
lea rcx, [rbp + 0x48]
call fcn.180017f90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
jne 0x18028878c
lea rcx, [rbp - 0x38]
call fcn.1801df160
mov r12, rax
test rax, rax
je 0x18028878c
mov rcx, qword [rax]
mov r9, qword [rcx + 0x20]
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x50]
mov rcx, rax
call r9
mov rdx, qword [r14 + 0x30]
mov rcx, qword [rax]
mov qword [r14 + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x180288501
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180288501
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, qword [r14 + 0x30]
test rax, rax
je 0x18028878c
mov r13d, dword [rax + 0x14]
mov eax, dword [rax + 0x18]
mov dword [rbp + 0x48], eax
mov edx, 0x5c
lea rcx, [r14 + 0x28]
call fcn.18017c8f0
mov r8d, eax
mov rdx, qword [r14 + 0x28]
test eax, eax
jns 0x180288550
mov qword [rbp + 0x50], rdx
add rdx, 0xfffffffffffffff0
lea rax, [0x180660020]
cmp rdx, rax
je 0x18028858d
lock inc dword [rdx]
jmp 0x18028858d
movzx ecx, byte [rdx]
test cl, cl
je 0x180288582
inc rdx
test cl, cl
jns 0x180288571
mov al, 0x40
test al, cl
je 0x180288571
cmp al, 8
jbe 0x180288571
inc rdx
shr al, 1
test cl, al
jne 0x180288564
sub r8d, 1
jns 0x180288550
lea rcx, [rbp + 0x50]
call fcn.18001d410
jmp 0x18028858d
lea rax, [0x180660030]
mov qword [rbp + 0x50], rax
lea rdx, [rbp + 0x50]
lea rcx, [r14 + 0x38]
call fcn.1801936e0
mov rbx, rax
lea r8, [0x1803b3c2d]
lea rdx, [0x1803b3c2c]
mov rcx, rax
call fcn.18017cea0
mov rcx, qword [r12]
mov r8, qword [rcx + 8]
lea rdx, [rbp + 0x60]
mov rcx, r12
call r8
nop
mov rdx, rax
mov rcx, rbx
call fcn.1801936e0
mov rbx, rax
lea r8, [0x1803b3c31]
lea rdx, [0x1803b3c30]
mov rcx, rax
call fcn.18017cea0
mov edx, r13d
mov rcx, rbx
call fcn.18017cb00
mov rbx, rax
lea r8, [0x1803b3c37]
lea rdx, [0x1803b3c34]
mov rcx, rax
call fcn.18017cea0
mov r12d, dword [rbp + 0x48]
mov edx, r12d
mov rcx, rbx
call fcn.18017cb00
mov rbx, rax
lea r8, [0x1803b3be0]
lea rdx, str._pixels_n
mov rcx, rax
call fcn.18017cea0
lea rcx, [r14 + 0x28]
call fcn.180160880
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.18018cba0
nop
mov rdx, rax
mov rcx, rbx
call fcn.1801936e0
nop
mov rcx, qword [rbp + 0x58]
add rcx, 0xfffffffffffffff0
lea rbx, [0x180660020]
cmp rcx, rbx
je 0x18028867f
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18028867f
call fcn.18011d9c0
nop
mov rcx, qword [rbp + 0x60]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x18028869f
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18028869f
call fcn.18011d9c0
nop
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x1802886be
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1802886be
call fcn.18011d9c0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [r14 - 0xa8]
mulss xmm0, dword [0x1805c9ddc]
cvtps2pd xmm0, xmm0
movsd xmm4, qword [0x1805ca2a0]
addsd xmm0, xmm4
movsd qword [rbp + 0x48], xmm0
mov eax, dword [r14 - 0xa4]
sub eax, 0x34
xorps xmm2, xmm2
cvtsi2sd xmm2, r12d
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, xmm2
xorps xmm1, xmm1
cvtsi2sd xmm1, r13d
xorps xmm3, xmm3
cvtsi2sd xmm3, dword [rbp + 0x48]
divsd xmm3, xmm1
movsd xmm5, qword [0x1805c9f40]
comisd xmm5, xmm3
jbe 0x18028872b
minsd xmm0, xmm3
jmp 0x18028872f
minsd xmm0, xmm5
mulsd xmm1, xmm0
addsd xmm1, xmm4
movsd qword [rbp + 0x50], xmm1
mulsd xmm2, xmm0
addsd xmm2, xmm4
movsd qword [rbp + 0x48], xmm2
mov r9d, dword [rbp + 0x48]
mov r8d, dword [rbp + 0x50]
lea rdx, [rbp + 0x50]
lea rcx, [r14 + 0x30]
call fcn.1801e1560
mov rdx, qword [r14 + 0x30]
mov rcx, qword [rax]
mov qword [r14 + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x18028878c
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18028878c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.juce::FileInputStream.0
mov qword [rbp - 0x38], rax
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff0
lea rsi, [0x180660020]
cmp rcx, rsi
je 0x1802887c7
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1802887c7
call fcn.18011d9c0
mov rcx, qword [rbp - 0x30]
add rcx, 0xfffffffffffffff0
cmp rcx, rsi
je 0x1802887e4
lock xadd dword [rcx], edi
dec edi
cmp edi, 0xffffffff
jne 0x1802887e4
call fcn.18011d9c0
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret