Function at 0x180015230
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 [0x180136a98]
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 0x1800152f4
movss xmm6, dword [r10 + 0x159c]
movss dword [r10 + 0x159c], xmm8
test r8b, r8b
je 0x1800152ba
cmp byte [r10 + 0x1bd6], 0
mov eax, ntohs
je 0x1800152bf
mov eax, ntohs
movss xmm1, dword [0x180119268]
mov ecx, eax
call fcn.18000e940
mov rdx, qword [r14 + 8]
mov r8d, eax
mov rcx, qword [r14]
mov r9b, 1
movss dword [rsp + 0x20], xmm14
call fcn.18000f400
movss dword [rbx + 0x159c], xmm6
jmp 0x1800158a0
mov qword [rsp + 0x108], rsi
movaps xmmword [rsp + 0xb0], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0x90], xmm9
movss xmm9, dword [0x180119268]
test bpl, bpl
js 0x180015443
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.18000e940
test byte [r10 + 0x1a98], 0x40
mov r9d, eax
je 0x180015399
movss xmm1, dword [r10 + 0x1af0]
ucomiss xmm1, xmm9
jp 0x180015366
je 0x180015399
comiss xmm7, xmm1
jbe 0x180015370
xorps xmm0, xmm0
jmp 0x180015378
movaps xmm0, xmm9
minss xmm0, xmm1
mulss xmm0, dword [0x1801193a4]
and eax, 0xffffff
addss xmm0, dword [0x18011922c]
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 0x1800153d1
xorps xmm1, xmm1
jmp 0x1800153f3
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, ntohs
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.180028f90
mov r10, qword [0x180136a98]
jmp 0x180015448
mov esi, ebp
and esi, 1
test esi, esi
jne 0x180015485
lea ecx, [r15 + 0xa]
movaps xmm1, xmm9
call fcn.18000e940
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.180028f90
mov r10, qword [0x180136a98]
bt ebp, 0xa
jae 0x18001564c
mov eax, dword [rdi + 0xc]
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm13
test al, 1
je 0x1800154b0
xorps xmm1, xmm1
jmp 0x1800154d2
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 0x18001550d
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 0x180015510
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 0x180015550
movaps xmm12, xmm14
jmp 0x180015554
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.18000e940
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.180028f90
movss xmm12, dword [rbx + 0x159c]
comiss xmm12, xmm7
jbe 0x180015637
movss xmm0, dword [rdi + 0x1c]
addss xmm0, dword [rdi + 0x14]
comiss xmm0, xmm6
jbe 0x180015637
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.18000e940
mov rcx, qword [rdi + 0x2b8]
lea rdx, [rsp + 0x100]
mov r9d, eax
movss dword [rsp + 0x20], xmm12
lea r8, [rsp + 0x38]
call fcn.180028d20
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x50]
cmp byte [rdi + 0x7c], 0
je 0x180015659
xor ecx, ecx
call fcn.180033340
cmp byte [rdi + 0x7d], 0
je 0x180015669
mov ecx, 1
call fcn.180033340
test bpl, 2
jne 0x18001587f
mov qword [rsp + 0x110], r13
xor r13d, r13d
mov r14d, r13d
test r12d, r12d
jle 0x180015877
mov r15, qword [rsp + 0x120]
lea rsi, [0x18012c378]
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 0x1800156fd
movaps xmm0, xmm8
movaps xmm1, xmm11
jmp 0x180015705
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 0x18001575f
inc ecx
test r8d, r8d
je 0x18001574b
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180015750
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.18001e530
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 0x180015789
movaps xmm0, xmm11
movaps xmm1, xmm8
jmp 0x180015791
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 0x1800157e5
inc ecx
test r8d, r8d
je 0x1800157d1
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x1800157d6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.18001e530
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.180028670
mov rbx, qword [rdi + 0x2b8]
mov r9d, dword [r15]
mov rcx, rbx
mov r8d, dword [rbx + 0x80]
mov rdx, qword [rbx + 0x88]
call fcn.180028010
inc r14d
mov dword [rbx + 0x80], r13d
add rsi, 0x18
add r15, 4
cmp r14d, r12d
jl 0x1800156b0
mov r13, qword [rsp + 0x110]
mov rcx, rdi
call fcn.180014df0
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