Function at 0x1402498a0
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 r13, rcx
xor esi, esi
call fcn.14018a070
mov rcx, qword [r13 + 0x20]
mov qword [r13 + 0x20], rsi
mov edi, 0xffffffff
test rcx, rcx
je 0x1402498e6
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1402498e6
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [r13 + 0x28]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140249909
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, edi
jne 0x140249909
call fcn.1400da0f0
lea rax, [0x140379908]
mov qword [r13 + 0x28], rax
lea rcx, [r13 - 0xd8]
mov edx, dword [rcx + 0x44]
mov eax, dword [rcx + 0x40]
mov qword [rbp - 0x48], rsi
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.140266a70
lea rdx, [r13 + 0x18]
lea rcx, [rbp - 0x38]
call fcn.140175e20
nop
mov rax, qword [rbp - 0x18]
cmp byte [rax], 0
jne 0x140249ce7
mov rax, qword [r13 + 0x18]
cmp byte [rax], 0
je 0x140249ce7
lea rdx, [r13 + 0x18]
lea rcx, [rbp + 0x48]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
jne 0x140249ce7
mov rax, qword [rbp - 0x38]
mov rdx, qword [rax + 0xa8]
lea rax, [method.juce::FileInputStream.virtual_168]
cmp rdx, rax
jne 0x1402499a4
mov rsi, qword [rbp - 0x20]
jmp 0x1402499ad
lea rcx, [rbp - 0x38]
call rdx
mov rsi, rax
call fcn.1400259b0
mov rbx, rax
mov rcx, qword [rax]
test rcx, rcx
je 0x140249ce7
mov r8, rcx
mov r8, qword [r8]
lea rdx, [rbp - 0x38]
call qword [r8 + reloc.OLEAUT32.dll_SafeArrayGetDim]
movzx r14d, al
mov rcx, qword [rbp - 0x38]
mov r8, qword [rcx + 0xb0]
lea rax, [fcn.140175cf0]
mov rdx, rsi
lea rcx, [rbp - 0x38]
cmp r8, rax
jne 0x1402499f8
call fcn.140175cf0
jmp 0x1402499fb
call r8
test r14b, r14b
jne 0x140249a14
add rbx, 8
mov rcx, qword [rbx]
mov r8, rcx
test rcx, rcx
jne 0x1402499c4
jmp 0x140249ce7
mov rbx, qword [rbx]
test rbx, rbx
je 0x140249ce7
mov rax, qword [rbx]
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x50]
mov rcx, rbx
call qword [rax + 0x20]
mov rdx, qword [r13 + 0x20]
mov rcx, qword [rax]
mov qword [r13 + 0x20], rcx
mov qword [rax], rdx
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x140249a5e
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140249a5e
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x140249ce7
mov esi, dword [rax + 0x14]
mov r14d, dword [rax + 0x18]
lea rcx, [r13 + 0x18]
call fcn.14014d140
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.140177be0
mov qword [rbp + 0x58], rax
mov r8, qword [rbx]
lea rdx, [rbp + 0x60]
mov rcx, rbx
call qword [rreloc.WS2_32.dll_htonl + 8]
mov qword [rbp + 0x50], rax
mov edx, 0x5c
lea rcx, [r13 + 0x18]
call fcn.140168d50
mov r8d, eax
mov rdx, qword [r13 + 0x18]
test eax, eax
jns 0x140249ad0
mov qword [rbp + 0x48], rdx
mov eax, dword [rdx - 0x10]
nop
test eax, 0x30000000
jne 0x140249b0d
lock inc dword [rdx - 0x10]
jmp 0x140249b0d
movzx ecx, byte [rdx]
test cl, cl
je 0x140249b02
inc rdx
test cl, cl
jns 0x140249af1
mov al, 0x40
test al, cl
je 0x140249af1
cmp al, 8
jbe 0x140249af1
inc rdx
shr al, 1
test cl, al
jne 0x140249ae4
sub r8d, 1
jns 0x140249ad0
lea rcx, [rbp + 0x48]
call fcn.14001a340
jmp 0x140249b0d
lea rax, [0x140379908]
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x48]
lea rcx, [r13 + 0x28]
call fcn.14017f700
mov rbx, rax
lea r8, [0x14037fe0d]
lea rdx, [0x14037fe0c]
mov rcx, rax
call fcn.1401691c0
mov rdx, qword [rbp + 0x50]
mov rcx, rbx
call fcn.14017f700
mov rbx, rax
lea r8, [0x14037fe11]
lea rdx, reloc.WS2_32.dll_ioctlsocket
mov rcx, rax
call fcn.1401691c0
mov edx, esi
mov rcx, rbx
call fcn.140168e90
mov rbx, rax
lea r8, [0x14037fccb]
lea rdx, [0x14037fcc8]
mov rcx, rax
call fcn.1401691c0
mov edx, r14d
mov rcx, rbx
call fcn.140168e90
mov rbx, rax
lea r8, [0x14037fcd8]
lea rdx, str._pixels_n
mov rcx, rax
call fcn.1401691c0
mov rdx, qword [rbp + 0x58]
mov rcx, rbx
call fcn.14017f700
nop
mov rcx, qword [rbp + 0x48]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140249bd1
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140249bd1
call fcn.1400da0f0
nop
mov rcx, qword [rbp + 0x60]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140249bf6
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140249bf6
call fcn.1400da0f0
nop
mov rcx, qword [rbp - 0x48]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140249c1a
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140249c1a
call fcn.1400da0f0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [r13 - 0x98]
mulss xmm0, dword [0x1403b5adc]
cvtps2pd xmm0, xmm0
movsd xmm4, qword [0x1403b5e08]
addsd xmm0, xmm4
movsd qword [rbp + 0x48], xmm0
mov eax, dword [r13 - 0x94]
sub eax, 0x34
xorps xmm2, xmm2
cvtsi2sd xmm2, r14d
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, xmm2
xorps xmm1, xmm1
cvtsi2sd xmm1, esi
xorps xmm3, xmm3
cvtsi2sd xmm3, dword [rbp + 0x48]
divsd xmm3, xmm1
movsd xmm5, qword [0x1403b5bc8]
comisd xmm5, xmm3
jbe 0x140249c86
minsd xmm0, xmm3
jmp 0x140249c8a
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, [r13 + 0x20]
call fcn.1401d1cc0
mov r8, qword [r13 + 0x20]
mov rcx, qword [rax]
mov qword [r13 + 0x20], rcx
mov qword [rax], r8
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x140249ce7
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140249ce7
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
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140249d20
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140249d20
call fcn.1400da0f0
mov rcx, qword [rbp - 0x30]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140249d42
lock xadd dword [rcx], edi
dec edi
cmp edi, 0xffffffff
jne 0x140249d42
call fcn.1400da0f0
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret