Function at 0x180256ff0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov r14, rdx
mov rsi, rcx
xor ebx, ebx
mov rax, qword [rcx]
mov rcx, qword [rax]
test rcx, rcx
je 0x180257225
lock inc dword [rcx + 8]
mov edi, 0xffffffff
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x180257046
mov rax, qword [rcx]
mov edx, edi
call qword [rax]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov qword [r14], rax
test rax, rax
je 0x180257058
lock inc dword [rax + 8]
mov rax, qword [rcx + 8]
mov qword [r14 + 8], rax
mov rax, qword [rsi + 8]
mov r8, qword [rax]
mov rcx, qword [rsi]
mov rax, qword [rcx]
test r8, r8
je 0x180257172
mov r9d, ebx
test rax, rax
jne 0x180257087
xorps xmm0, xmm0
mov edx, ebx
mov eax, ebx
jmp 0x18025709f
mov qword [rsp + 0x30], rbx
mov edx, dword [rax + 0x14]
mov dword [rsp + 0x38], edx
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movd xmm2, r9d
cvtdq2pd xmm2, xmm2
movsd qword [rsp + 0x30], xmm2
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
movsd qword [rsp + 0x38], xmm1
movd xmm4, edx
cvtdq2pd xmm4, xmm4
movsd qword [rsp + 0x40], xmm4
movd xmm6, eax
cvtdq2pd xmm6, xmm6
movsd qword [rsp + 0x48], xmm6
movsd xmm0, qword [rcx + 8]
divsd xmm2, xmm0
divsd xmm1, xmm0
divsd xmm4, xmm0
divsd xmm6, xmm0
movsd qword [rsp + 0x30], xmm2
movsd qword [rsp + 0x38], xmm1
movsd qword [rsp + 0x40], xmm4
movsd qword [rsp + 0x48], xmm6
movd xmm5, dword [r8]
cvtdq2pd xmm5, xmm5
movsd qword [rsp + 0x30], xmm5
movd xmm3, dword [r8 + 4]
cvtdq2pd xmm3, xmm3
movsd qword [rsp + 0x38], xmm3
xorps xmm5, xmmword [0x1805cab60]
xorps xmm3, xmmword [0x1805cab60]
comisd xmm2, xmm5
ja 0x180257146
addsd xmm2, xmm4
minsd xmm2, xmm5
comisd xmm1, xmm3
ja 0x180257154
addsd xmm1, xmm6
minsd xmm1, xmm3
movsd qword [rsp + 0x30], xmm2
movsd qword [rsp + 0x38], xmm1
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [r14 + 0x10], xmm0
jmp 0x1802577bb
mov r8d, ebx
test rax, rax
jne 0x180257183
xorps xmm0, xmm0
mov edx, ebx
mov eax, ebx
jmp 0x18025719b
mov qword [rsp + 0x30], rbx
mov edx, dword [rax + 0x14]
mov dword [rsp + 0x38], edx
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movd xmm2, r8d
cvtdq2pd xmm2, xmm2
movsd qword [rsp + 0x30], xmm2
movd xmm4, ebx
cvtdq2pd xmm4, xmm4
movsd qword [rsp + 0x38], xmm4
movd xmm1, edx
cvtdq2pd xmm1, xmm1
movsd qword [rsp + 0x40], xmm1
movd xmm3, eax
cvtdq2pd xmm3, xmm3
movsd qword [rsp + 0x48], xmm3
movsd xmm0, qword [rcx + 8]
divsd xmm2, xmm0
divsd xmm4, xmm0
divsd xmm1, xmm0
divsd xmm3, xmm0
mulsd xmm1, qword [0x1805c9ed0]
addsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
mulsd xmm3, qword [0x1805c9ed0]
addsd xmm3, xmm4
movsd qword [rsp + 0x38], xmm3
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [r14 + 0x10], xmm0
jmp 0x1802577bb
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov edx, dword [rcx + 0x44]
mov eax, dword [rcx + 0x40]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], edx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movss xmm1, dword [0x1805c9fb8]
movss dword [rsp + 0x20], xmm1
mov r9b, 1
lea r8, [rsp + 0x30]
lea rdx, [rbp - 9]
call fcn.1802a1020
nop
mov r8d, 2
lea rdx, [rbp + 0x77]
mov rcx, rax
call fcn.1801e1080
nop
mov rcx, qword [rbp - 9]
mov edi, 0xffffffff
test rcx, rcx
je 0x1802572a1
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1802572a1
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
movss xmm1, dword [0x1805c9d34]
lea rcx, [rbp + 0x77]
call fcn.1801e09e0
mov rax, qword [rsi + 0x10]
mov r15, qword [rax]
mov r8, qword [rsi + 0x18]
mov r8, qword [r8]
test r15, r15
jne 0x1802572cb
mov qword [rbp + 0x67], r8
jmp 0x180257330
mov rsi, r15
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x1802572ec
nop word [rax + rax]
mov rsi, rax
mov rax, qword [rax + 0x30]
test rax, rax
jne 0x1802572e0
mov rdx, rsi
lea rcx, [rbp + 0x67]
call fcn.1800cc270
mov r9, qword [rax]
cmp rsi, r15
jne 0x180257306
mov qword [rbp + 0x67], r9
jmp 0x180257330
mov r8, qword [r15 + 0x30]
cmp r8, rsi
jne 0x180257314
mov r8, r9
jmp 0x180257324
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.1800cbfe0
mov r8, qword [rax]
mov rdx, r15
lea rcx, [rbp + 0x67]
call fcn.1800cc270
movd xmm3, dword [rbp + 0x6b]
cvtdq2pd xmm3, xmm3
movd xmm4, dword [rbp + 0x67]
cvtdq2pd xmm4, xmm4
mov rax, qword [rbp + 0x77]
mov r8d, ebx
mov r9d, ebx
test rax, rax
jne 0x180257360
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
mov ecx, ebx
mov edx, ebx
jmp 0x180257378
mov ecx, dword [rax + 0x18]
mov edx, dword [rax + 0x14]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], ecx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
movd xmm1, edx
cvtdq2pd xmm1, xmm1
movd xmm6, r8d
cvtdq2pd xmm6, xmm6
movd xmm7, r9d
cvtdq2pd xmm7, xmm7
movsd qword [rsp + 0x30], xmm7
movsd qword [rsp + 0x38], xmm6
movsd qword [rsp + 0x40], xmm1
movsd qword [rsp + 0x48], xmm2
movsd xmm0, qword [0x1805c9ed0]
mulsd xmm2, xmm0
mulsd xmm1, xmm0
mulsd xmm6, xmm0
mulsd xmm7, xmm0
movsd qword [rsp + 0x30], xmm7
movsd qword [rsp + 0x38], xmm6
movsd qword [rsp + 0x40], xmm1
movsd qword [rsp + 0x48], xmm2
movaps xmm0, xmm7
addsd xmm0, xmm1
comisd xmm7, xmm4
ja 0x1802573fc
movaps xmm7, xmm0
minsd xmm7, xmm4
movaps xmm0, xmm6
addsd xmm0, xmm2
comisd xmm6, xmm3
ja 0x180257410
movaps xmm6, xmm0
minsd xmm6, xmm3
test rax, rax
jne 0x18025741c
mov ecx, ebx
mov r9d, ebx
jmp 0x180257423
mov ecx, dword [rax + 0x18]
mov r9d, dword [rax + 0x14]
lea r12, vtable.juce::NativeImageType.0
mov qword [rbp + 0x67], r12
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ecx
mov r8d, 3
lea rdx, [rbp - 0x79]
lea rcx, [rbp + 0x67]
call fcn.1801e1ca0
nop
mov rcx, qword [rbp - 0x79]
test rcx, rcx
je 0x180257464
mov rax, qword [rcx]
lea rdx, [rbp - 0x71]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rbp - 0x71]
jmp 0x18025746b
mov rax, rbx
mov qword [rbp - 0x71], rbx
mov qword [rbp - 0x69], rax
mov byte [rbp - 0x61], 0
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x19], rbx
mov byte [rbp - 0x29], 1
cvtpd2ps xmm0, xmm6
cvtpd2ps xmm2, xmm7
movss dword [rbp + 0x67], xmm2
cvtps2pd xmm1, xmm0
addsd xmm1, xmm1
cvtpd2ps xmm3, xmm1
cvtps2pd xmm0, xmm2
addsd xmm0, xmm0
cvtpd2ps xmm1, xmm0
movss dword [rbp - 0x39], xmm1
movss dword [rbp - 0x35], xmm3
addss xmm3, dword [0x1805ca358]
xorps xmm0, xmm0
addss xmm1, xmm0
unpcklps xmm1, xmm3
movsd qword [rbp - 0x31], xmm1
mov r8d, dword [0x1806605d8]
xorps xmm1, xmm1
lea rcx, [rbp - 0x39]
call fcn.1801f20a0
mov r8d, dword [0x1806605d8]
movsd xmm1, qword [0x1805c9eb8]
lea rcx, [rbp - 0x39]
call fcn.1801f20a0
mov r8d, dword [0x18059f3f0]
movsd xmm1, qword [0x1805c9f40]
lea rcx, [rbp - 0x39]
call fcn.1801f20a0
mov dword [rsp + 0x30], 0xff000000
mov ecx, 0x28
call fcn.18011dae8
mov r13, rax
mov qword [rbp + 0x67], rax
movss xmm0, dword [rbp - 0x39]
movss dword [rax], xmm0
movss xmm1, dword [rbp - 0x35]
movss dword [rax + 4], xmm1
movsd xmm0, qword [rbp - 0x31]
movsd qword [rax + 8], xmm0
movzx ecx, byte [rbp - 0x29]
mov byte [rax + 0x10], cl
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbx
movsxd r15, dword [rbp - 0x15]
mov eax, ebx
test r15d, r15d
jle 0x180257594
mov eax, r15d
cdq
sub eax, edx
sar eax, 1
lea edx, [r15 + 8]
add edx, eax
and edx, 0xfffffff8
lea rcx, [r13 + 0x18]
call fcn.18001bf60
mov eax, dword [r13 + 0x24]
test r15d, r15d
jle 0x180257594
mov r8, r15
shl r8, 4
movsxd rcx, eax
shl rcx, 4
add rcx, qword [r13 + 0x18]
mov rdx, qword [rbp - 0x21]
call fcn.18037edb0
add dword [r13 + 0x24], r15d
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], rbx
movdqa xmm0, xmmword [0x1805ca530]
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], 0x3f800000
cmp byte [rbp - 0x61], 0
je 0x1802575cc
mov byte [rbp - 0x61], 0
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
call qword [rax + 0x68]
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0x88]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1802575ff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1802575ff
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x180257622
mov dword [rsi + 0x24], ebx
mov rcx, qword [rsi + 0x18]
call fcn.180124068
mov edx, 0x28
mov rcx, rsi
call fcn.18011d9c0
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
call qword [rax + 0xa0]
mov rax, qword [rbp + 0x77]
test rax, rax
jne 0x18025763f
mov ecx, ebx
mov r9d, ebx
jmp 0x180257646
mov ecx, dword [rax + 0x18]
mov r9d, dword [rax + 0x14]
mov qword [rbp + 0x67], r12
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ecx
mov r8d, 2
lea rdx, [rbp + 0x7f]
lea rcx, [rbp + 0x67]
call fcn.1801e1ca0
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x180257680
mov rax, qword [rcx]
lea rdx, [rbp - 0x59]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rbp - 0x59]
jmp 0x180257684
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], rbx
mov byte [rbp - 0x49], 0
movdqa xmm0, xmmword [0x1805ca530]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0x3f800000
mov rax, qword [rbx]
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x79]
mov rcx, rbx
call qword [rax + 0x48]
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + 0x60]
movdqa xmm0, xmmword [0x1805ca530]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0x3f800000
cmp qword [rbp + 0x77], 0
je 0x1802576ff
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + 0x60]
test al, al
jne 0x1802576ff
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x77]
call qword [rax + 0xc8]
mov rcx, qword [rbp + 0x7f]
mov qword [r14], rcx
test rcx, rcx
je 0x180257713
lock inc dword [rcx + 8]
mov rcx, qword [rbp + 0x7f]
movabs rax, 0x4000000000000000
mov qword [r14 + 8], rax
movsd qword [r14 + 0x10], xmm7
movsd qword [r14 + 0x18], xmm6
mov r8, qword [rbp - 0x59]
test r8, r8
je 0x180257747
mov rax, qword [r8]
mov edx, 1
mov rcx, r8
call qword [rax]
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x180257763
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180257763
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp - 0x21]
call fcn.180124068
nop
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x180257781
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp - 0x79]
test rcx, rcx
je 0x1802577a1
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1802577a1
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x1802577bb
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x1802577bb
mov rax, qword [rcx]
mov edx, edi
call qword [rax]
mov rax, r14
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret