Function at 0x14025d820
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, 0xf0
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 0x14025da10
lock inc dword [rcx + 8]
mov edi, 0xffffffff
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x14025d876
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 0x14025d888
lock inc dword [rax + 8]
mov rax, qword [rcx + 8]
mov qword [r14 + 8], rax
mov rax, qword [rsi + 8]
mov rcx, qword [rax]
test rcx, rcx
je 0x14025d96f
movd xmm4, dword [rcx]
cvtdq2pd xmm4, xmm4
movsd qword [rsp + 0x30], xmm4
movd xmm3, dword [rcx + 4]
cvtdq2pd xmm3, xmm3
movsd qword [rsp + 0x38], xmm3
xorps xmm4, xmmword [0x1403b6230]
xorps xmm3, xmmword [0x1403b6230]
mov r8, qword [rsi]
mov rax, qword [r8]
mov edx, ebx
test rax, rax
jne 0x14025d8e1
xorps xmm0, xmm0
mov ecx, ebx
mov eax, ebx
jmp 0x14025d8f9
mov qword [rsp + 0x30], rbx
mov ecx, dword [rax + 0x14]
mov dword [rsp + 0x38], ecx
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movd xmm2, edx
cvtdq2pd xmm2, xmm2
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
movd xmm5, ecx
cvtdq2pd xmm5, xmm5
movd xmm6, eax
cvtdq2pd xmm6, xmm6
movsd xmm0, qword [r8 + 8]
divsd xmm2, xmm0
divsd xmm1, xmm0
divsd xmm5, xmm0
divsd xmm6, xmm0
comisd xmm2, xmm4
ja 0x14025d943
addsd xmm2, xmm5
minsd xmm2, xmm4
comisd xmm1, xmm3
ja 0x14025d951
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 0x14025dfd3
mov rdx, qword [rsi]
mov rax, qword [rdx]
mov r8d, ebx
test rax, rax
jne 0x14025d986
xorps xmm0, xmm0
mov ecx, ebx
mov eax, ebx
jmp 0x14025d99e
mov qword [rsp + 0x30], rbx
mov ecx, dword [rax + 0x14]
mov dword [rsp + 0x38], ecx
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
movd xmm4, ebx
cvtdq2pd xmm4, xmm4
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movd xmm3, eax
cvtdq2pd xmm3, xmm3
movsd xmm0, qword [rdx + 8]
divsd xmm2, xmm0
divsd xmm4, xmm0
divsd xmm1, xmm0
divsd xmm3, xmm0
mulsd xmm1, qword [0x1403b5b80]
addsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
mulsd xmm3, qword [0x1403b5b80]
addsd xmm3, xmm4
movsd qword [rsp + 0x38], xmm3
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [r14 + 0x10], xmm0
jmp 0x14025dfd3
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 [0x1403b5c08]
movss dword [rsp + 0x20], xmm1
mov r9b, 1
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x11]
call fcn.140265f10
nop
mov r8d, 2
lea rdx, [rbp + 0x77]
mov rcx, rax
call fcn.1401d1760
nop
mov rcx, qword [rbp - 0x11]
mov edi, 0xffffffff
test rcx, rcx
je 0x14025da8c
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14025da8c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
movss xmm1, dword [0x1403b5a60]
lea rcx, [rbp + 0x77]
call fcn.1401d1090
mov rax, qword [rsi + 0x10]
mov r15, qword [rax]
mov r8, qword [rsi + 0x18]
mov r8, qword [r8]
test r15, r15
jne 0x14025dab6
mov qword [rbp + 0x67], r8
jmp 0x14025db12
mov rsi, r15
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x14025dace
mov rsi, rax
mov rax, qword [rax + 0x30]
test rax, rax
jne 0x14025dac2
mov rdx, rsi
lea rcx, [rbp + 0x67]
call fcn.14009d390
mov r9, qword [rax]
cmp rsi, r15
jne 0x14025dae8
mov qword [rbp + 0x67], r9
jmp 0x14025db12
mov r8, qword [r15 + 0x30]
cmp r8, rsi
jne 0x14025daf6
mov r8, r9
jmp 0x14025db06
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.14009d160
mov r8, qword [rax]
mov rdx, r15
lea rcx, [rbp + 0x67]
call fcn.14009d390
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 0x14025db42
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
mov ecx, ebx
mov edx, ebx
jmp 0x14025db5a
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 [rbp - 0x69], xmm7
movsd qword [rbp - 0x61], xmm6
movsd qword [rbp - 0x59], xmm1
movsd qword [rbp - 0x51], xmm2
movsd xmm0, qword [0x1403b5b80]
mulsd xmm2, xmm0
mulsd xmm1, xmm0
mulsd xmm6, xmm0
mulsd xmm7, xmm0
movsd qword [rbp - 0x69], xmm7
movsd qword [rbp - 0x61], xmm6
movsd qword [rbp - 0x59], xmm1
movsd qword [rbp - 0x51], xmm2
addsd xmm1, xmm7
comisd xmm7, xmm4
ja 0x14025dbd3
movaps xmm7, xmm1
minsd xmm7, xmm4
movaps xmm0, xmm6
addsd xmm0, xmm2
comisd xmm6, xmm3
ja 0x14025dbe7
movaps xmm6, xmm0
minsd xmm6, xmm3
test rax, rax
jne 0x14025dbf3
mov ecx, ebx
mov r9d, ebx
jmp 0x14025dbfa
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 - 0x49]
lea rcx, [rbp + 0x67]
call fcn.1401d2230
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14025dc50
mov rax, qword [rcx]
lea rdx, [rbp + 0x67]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r15, qword [rax]
mov qword [rax], rbx
mov rcx, qword [rbp + 0x67]
test rcx, rcx
je 0x14025dc53
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x14025dc53
mov r15, rbx
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x61], r15
mov byte [rbp - 0x59], 0
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x21], rbx
mov byte [rbp - 0x31], 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 - 0x41], xmm1
movss dword [rbp - 0x3d], xmm3
addss xmm3, dword [0x1403b5eac]
xorps xmm0, xmm0
addss xmm1, xmm0
unpcklps xmm1, xmm3
movsd qword [rbp - 0x39], xmm1
mov r8d, dword [0x140426198]
xorps xmm1, xmm1
lea rcx, [rbp - 0x41]
call fcn.1401e3f30
mov r8d, dword [0x140426198]
movsd xmm1, qword [0x1403b5b68]
lea rcx, [rbp - 0x41]
call fcn.1401e3f30
mov r8d, dword [0x140396da8]
movsd xmm1, qword [0x1403b5bc8]
lea rcx, [rbp - 0x41]
call fcn.1401e3f30
mov dword [rsp + 0x30], 0xff000000
mov ecx, 0x28
call fcn.1400da124
mov rsi, rax
mov qword [rbp + 0x67], rax
movss xmm0, dword [rbp - 0x41]
movss dword [rax], xmm0
movss xmm1, dword [rbp - 0x3d]
movss dword [rax + 4], xmm1
movsd xmm0, qword [rbp - 0x39]
movsd qword [rax + 8], xmm0
movzx ecx, byte [rbp - 0x31]
mov byte [rax + 0x10], cl
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbx
movsxd r13, dword [rbp - 0x1d]
test r13d, r13d
jle 0x14025dda3
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
lea r12d, [r13 + 8]
add r12d, eax
and r12d, 0xfffffff8
je 0x14025dd77
test r12d, r12d
jle 0x14025dd6c
movsxd rcx, r12d
shl rcx, 4
call fcn.1400e0cb8
mov qword [rsi + 0x18], rax
jmp 0x14025dd77
xor ecx, ecx
call fcn.1400e0818
mov qword [rsi + 0x18], rbx
mov dword [rsi + 0x20], r12d
lea r12, vtable.juce::NativeImageType.0
test r13d, r13d
jle 0x14025dda3
mov r8, r13
shl r8, 4
movsxd rcx, dword [rsi + 0x24]
shl rcx, 4
add rcx, qword [rsi + 0x18]
mov rdx, qword [rbp - 0x29]
call fcn.1402a26b0
add dword [rsi + 0x24], r13d
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
movdqa xmm0, xmmword [0x1403b5fb0]
movups xmmword [rsp + 0x48], xmm0
mov qword [rbp - 0x71], 0x3f800000
mov rax, qword [r15]
lea rdx, [rsp + 0x30]
mov rcx, r15
call qword [rax + 0x88]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14025ddf8
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14025ddf8
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14025de1b
mov dword [rsi + 0x24], ebx
mov rcx, qword [rsi + 0x18]
call fcn.1400e0818
mov edx, 0x28
mov rcx, rsi
call fcn.1400da0f0
mov rax, qword [r15]
lea rdx, [rbp - 0x11]
mov rcx, r15
call qword [rax + 0x58]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [r15]
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, r15
call qword [rax + 0xa8]
mov rax, qword [rbp + 0x77]
test rax, rax
jne 0x14025de54
mov ecx, ebx
mov r9d, ebx
jmp 0x14025de5b
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.1401d2230
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x14025deaa
mov rax, qword [rcx]
lea rdx, [rbp + 0x67]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rax]
mov qword [rax], rbx
mov rcx, qword [rbp + 0x67]
test rcx, rcx
je 0x14025dead
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x14025dead
mov rsi, rbx
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], rsi
mov byte [rbp - 1], 0
movdqa xmm0, xmmword [0x1403b5fb0]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0x3f800000
mov rax, qword [rsi]
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x49]
mov rcx, rsi
call qword [rax + 0x48]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x60]
movdqa xmm0, xmmword [0x1403b5fb0]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0x3f800000
cmp qword [rbp + 0x77], 0
je 0x14025df29
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x60]
test al, al
jne 0x14025df29
mov rax, qword [rsi]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x77]
mov rcx, rsi
call qword [rax + 0xc0]
mov rax, qword [rbp + 0x7f]
mov qword [r14], rax
test rax, rax
je 0x14025df39
lock inc dword [rax + 8]
movabs rax, 0x4000000000000000
mov qword [r14 + 8], rax
movsd qword [r14 + 0x10], xmm7
movsd qword [r14 + 0x18], xmm6
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
call qword [rax]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x14025df81
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14025df81
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp - 0x29]
call fcn.1400e0818
nop
mov rax, qword [r15]
mov edx, 1
mov rcx, r15
call qword [rax]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14025dfb9
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14025dfb9
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x14025dfd3
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x14025dfd3
mov rax, qword [rcx]
mov edx, edi
call qword [rax]
mov rax, r14
lea r11, [rsp + 0xf0]
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