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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0xd0
cmp byte [rcx + 0x81], 0
mov r12d, r9d
mov r10, qword [0x1801197e8]
mov r14, rdx
mov ebp, dword [rcx + 0xc]
mov rdi, rcx
movaps xmmword [rax - 0x38], xmm6
mov rbx, r10
movaps xmmword [rax - 0x58], xmm8
movss xmm8, dword [rcx + 0x44]
movaps xmmword [rsp + 0x70], xmm11
movss xmm11, dword [rsp + 0x128]
movaps xmmword [rsp + 0x40], xmm14
movss xmm14, dword [rcx + 0x40]
movzx r15d, r8b
je 0x180015714
movss xmm6, dword [r10 + 0x159c]
movss dword [r10 + 0x159c], xmm8
test r8b, r8b
je 0x1800156da
cmp byte [r10 + 0x1bd6], 0
mov eax, listen
je 0x1800156df
mov eax, listen
movss xmm1, dword [0x1800fc128]
mov ecx, eax
call fcn.18000ed60
mov rdx, qword [r14 + 8]
mov r8d, eax
mov rcx, qword [r14]
mov r9b, 1
movss dword [rsp + 0x20], xmm14
call fcn.18000f820
movss dword [rbx + 0x159c], xmm6
jmp 0x180015cc0
mov qword [rsp + 0x108], rsi
movaps xmmword [rsp + 0xb0], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0x90], xmm9
movss xmm9, dword [0x1800fc128]
test bpl, bpl
js 0x180015863
mov ecx, ebp
mov eax, 4
and ecx, 0x1000000
movaps xmm1, xmm9
bts ecx, 0x19
shr ecx, 0x18
test ebp, 0x6000000
cmovne ecx, eax
call fcn.18000ed60
test byte [r10 + 0x1a98], 0x40
mov r9d, eax
je 0x1800157b9
movss xmm1, dword [r10 + 0x1af0]
ucomiss xmm1, xmm9
jp 0x180015786
je 0x1800157b9
comiss xmm7, xmm1
jbe 0x180015790
xorps xmm0, xmm0
jmp 0x180015798
movaps xmm0, xmm9
minss xmm0, xmm1
mulss xmm0, dword [0x1800fc264]
and eax, 0xffffff
addss xmm0, dword [0x1800fc0ec]
cvttss2si r9d, xmm0
shl r9d, 0x18
or r9d, eax
movss xmm2, dword [rdi + 0x10]
mov esi, ebp
movss xmm3, dword [rdi + 0x14]
movaps xmm0, xmm2
movaps xmm1, xmm3
addss xmm0, dword [rdi + 0x18]
addss xmm1, dword [rdi + 0x1c]
movss dword [rsp + 0x100], xmm0
movss dword [rsp + 0x104], xmm1
and esi, 1
je 0x1800157f1
xorps xmm1, xmm1
jmp 0x180015813
movss xmm0, dword [r10 + 0x1594]
movss xmm1, dword [r10 + 0x1914]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x2b0]
addss xmm1, xmm0
addss xmm2, xmm7
test esi, esi
addss xmm1, xmm3
mov eax, listen
mov ecx, reloc.WS2_32.dll_ntohs
lea r8, [rsp + 0x100]
cmovne eax, ecx
lea rdx, [rsp + 0x30]
mov rcx, qword [rdi + 0x2b8]
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x30], xmm2
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x20], xmm14
call fcn.1800293b0
mov r10, qword [0x1801197e8]
jmp 0x180015868
mov esi, ebp
and esi, 1
test esi, esi
jne 0x1800158a5
lea ecx, [r15 + 0xa]
movaps xmm1, xmm9
call fcn.18000ed60
mov rcx, qword [rdi + 0x2b8]
lea r8, [r14 + 8]
mov r9d, eax
mov dword [rsp + 0x28], 3
mov rdx, r14
movss dword [rsp + 0x20], xmm14
call fcn.1800293b0
mov r10, qword [0x1801197e8]
bt ebp, 0xa
jae 0x180015a6c
mov eax, dword [rdi + 0xc]
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm13
test al, 1
je 0x1800158d0
xorps xmm1, xmm1
jmp 0x1800158f2
movss xmm0, dword [r10 + 0x1594]
movss xmm1, dword [r10 + 0x1914]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x2b0]
addss xmm1, xmm0
movss xmm2, dword [rdi + 0x14]
addss xmm1, xmm2
bt eax, 0xa
jae 0x18001592d
movss xmm6, dword [r10 + 0x1914]
mulss xmm6, dword [rdi + 0x2b0]
movss xmm0, dword [r10 + 0x1594]
addss xmm0, xmm0
addss xmm6, dword [rdi + 0x150]
addss xmm6, xmm0
jmp 0x180015930
xorps xmm6, xmm6
movss xmm0, dword [rdi + 0x10]
movaps xmm3, xmm1
maxss xmm3, xmm2
movaps xmm13, xmm0
maxss xmm13, xmm0
movaps xmm10, xmm0
addss xmm6, xmm1
addss xmm0, dword [rdi + 0x18]
addss xmm2, dword [rdi + 0x1c]
addss xmm10, dword [rdi + 0x20]
minss xmm6, xmm2
minss xmm10, xmm0
test esi, esi
je 0x180015970
movaps xmm12, xmm14
jmp 0x180015974
xorps xmm12, xmm12
movaps xmm0, xmm10
addss xmm3, xmm7
subss xmm0, xmm8
movaps xmm1, xmm6
subss xmm1, xmm7
mov ecx, reloc.WS2_32.dll_listen
movss dword [rsp + 0x34], xmm3
movss dword [rsp + 0x100], xmm0
movaps xmm0, xmm13
addss xmm0, xmm8
movss dword [rsp + 0x104], xmm1
movaps xmm1, xmm9
movss dword [rsp + 0x30], xmm0
call fcn.18000ed60
mov rcx, qword [rdi + 0x2b8]
lea rdx, [rsp + 0x30]
mov r9d, eax
mov dword [rsp + 0x28], 3
lea r8, [rsp + 0x100]
movss dword [rsp + 0x20], xmm12
call fcn.1800293b0
movss xmm12, dword [rbx + 0x159c]
comiss xmm12, xmm7
jbe 0x180015a57
movss xmm0, dword [rdi + 0x1c]
addss xmm0, dword [rdi + 0x14]
comiss xmm0, xmm6
jbe 0x180015a57
movaps xmm0, xmm10
movss dword [rsp + 0x100], xmm13
unpcklps xmm0, xmm6
movaps xmm1, xmm9
mov ecx, 5
movsd qword [rsp + 0x38], xmm0
movss dword [rsp + 0x104], xmm6
call fcn.18000ed60
mov rcx, qword [rdi + 0x2b8]
lea rdx, [rsp + 0x100]
mov r9d, eax
movss dword [rsp + 0x20], xmm12
lea r8, [rsp + 0x38]
call fcn.180029140
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x50]
cmp byte [rdi + 0x7c], 0
je 0x180015a79
xor ecx, ecx
call fcn.180033760
cmp byte [rdi + 0x7d], 0
je 0x180015a89
mov ecx, 1
call fcn.180033760
test bpl, 2
jne 0x180015c9f
mov qword [rsp + 0x110], r13
xor r13d, r13d
mov r14d, r13d
test r12d, r12d
jle 0x180015c97
mov r15, qword [rsp + 0x120]
lea rsi, [0x18010f0e8]
movaps xmm9, xmm8
addss xmm9, xmm14
nop dword [rax]
nop word [rax + rax]
movss xmm0, dword [rdi + 0x10]
mov ebp, r14d
movss xmm1, dword [rdi + 0x14]
movaps xmm6, xmm0
mov rbx, qword [rdi + 0x2b8]
movaps xmm7, xmm1
addss xmm6, dword [rdi + 0x18]
addss xmm7, dword [rdi + 0x1c]
subss xmm6, xmm0
subss xmm7, xmm1
mulss xmm6, dword [rsi - 8]
mulss xmm7, dword [rsi - 4]
addss xmm6, xmm0
addss xmm7, xmm1
and ebp, 1
je 0x180015b1d
movaps xmm0, xmm8
movaps xmm1, xmm11
jmp 0x180015b25
movaps xmm0, xmm11
movaps xmm1, xmm8
mulss xmm0, dword [rsi]
sub rbx, 0xffffffffffffff80
mulss xmm1, dword [rsi + 4]
mov ecx, dword [rbx]
addss xmm0, xmm6
mov r8d, dword [rbx + 4]
addss xmm1, xmm7
movss dword [rsp + 0x100], xmm0
movss dword [rsp + 0x104], xmm1
cmp ecx, r8d
jne 0x180015b7f
inc ecx
test r8d, r8d
je 0x180015b6b
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180015b70
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.18001e950
movsxd rdx, dword [rbx]
mov rcx, qword [rbx + 8]
mov rax, qword [rsp + 0x100]
mov qword [rcx + rdx*8], rax
inc dword [rbx]
mov rbx, qword [rdi + 0x2b8]
test ebp, ebp
je 0x180015ba9
movaps xmm0, xmm11
movaps xmm1, xmm8
jmp 0x180015bb1
movaps xmm0, xmm8
movaps xmm1, xmm11
mulss xmm0, dword [rsi]
sub rbx, 0xffffffffffffff80
mulss xmm1, dword [rsi + 4]
mov ecx, dword [rbx]
addss xmm0, xmm6
mov r8d, dword [rbx + 4]
addss xmm1, xmm7
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
cmp ecx, r8d
jne 0x180015c05
inc ecx
test r8d, r8d
je 0x180015bf1
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180015bf6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.18001e950
movsxd rdx, dword [rbx]
movaps xmm0, xmm9
mov rcx, qword [rbx + 8]
movaps xmm1, xmm9
mov rax, qword [rsp + 0x30]
movaps xmm2, xmm14
mov qword [rcx + rdx*8], rax
lea rdx, [rsp + 0x38]
inc dword [rbx]
mulss xmm0, dword [rsi]
mov eax, dword [rsi + 0xc]
mulss xmm1, dword [rsi + 4]
mov r9d, dword [rsi + 8]
mov rcx, qword [rdi + 0x2b8]
addss xmm0, xmm6
mov dword [rsp + 0x20], eax
addss xmm1, xmm7
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm1
call fcn.180028a90
mov rbx, qword [rdi + 0x2b8]
mov r9d, dword [r15]
mov rcx, rbx
mov r8d, dword [rbx + 0x80]
mov rdx, qword [rbx + 0x88]
call fcn.180028430
inc r14d
mov dword [rbx + 0x80], r13d
add rsi, 0x18
add r15, 4
cmp r14d, r12d
jl 0x180015ad0
mov r13, qword [rsp + 0x110]
mov rcx, rdi
call fcn.180015210
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xb0]
mov rsi, qword [rsp + 0x108]
movaps xmm14, xmmword [rsp + 0x40]
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret