Function at 0x14002ab60
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140132100]
xor rax, rsp
mov qword [rbp - 0x60], rax
mov rbx, rdx
mov r15, rcx
mov r13, qword [0x14017fb30]
mov rax, qword [r13 + 0x1ba0]
mov byte [rax + 0x91], 1
mov r12, qword [r13 + 0x1ba0]
cmp byte [r12 + 0x94], 0
jne 0x14002b46e
mov rdx, rcx
mov rcx, r12
call fcn.1400063e0
mov esi, eax
mov dword [rsp + 0x60], esi
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r15
xorps xmm9, xmm9
movss dword [rsp + 0x20], xmm9
movss xmm3, dword [0x14011bee4]
mov rcx, qword [0x14017fcd8]
movss xmm2, dword [rcx + 0x14]
lea rdx, [rsp + 0x78]
call fcn.140026f30
movss xmm6, dword [r12 + 0xd8]
movss xmm7, dword [r12 + 0xdc]
movss xmm8, dword [r13 + 0x15bc]
movss xmm2, dword [r13 + 0x15b8]
movaps xmm3, xmm8
addss xmm3, xmm8
addss xmm3, dword [rsp + 0x7c]
addss xmm2, xmm2
addss xmm2, dword [rsp + 0x78]
mov rdx, qword [rbx]
lea rcx, [rsp + 0x58]
call fcn.14000fb50
movss xmm2, dword [rsp + 0x5c]
addss xmm2, xmm7
movss xmm0, dword [rsp + 0x58]
addss xmm0, xmm6
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm7
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm2
movaps xmm1, xmm8
lea rcx, [rsp + 0x58]
call fcn.14000f730
mov edx, esi
lea rcx, [rbp - 0x70]
call fcn.14000f880
test al, al
je 0x14002b46e
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x52]
lea r8, [rsp + 0x51]
mov edx, esi
lea rcx, [rbp - 0x70]
call fcn.14002a370
mov byte [rsp + 0x50], al
mov r14d, 4
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx]
movss xmm6, dword [0x14011bddc]
mov ecx, dword [r14 + rbx]
cmp dword [0x140180168], ecx
jle 0x14002ade3
lea rcx, [0x140180168]
call fcn.1400b6088
cmp dword [0x140180168], 0xffffffff
jne 0x14002ade3
xorps xmm0, xmm0
movups xmmword [0x140180120], xmm0
movups xmmword [0x140180130], xmm0
movups xmmword [0x140180140], xmm0
movups xmmword [0x140180150], xmm0
mov dword [0x140180120], edi
mov qword [0x140180128], rdi
mov qword [0x140180130], rdi
lea ecx, [rdi + 0x18]
call fcn.1400b6248
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140180128], rax
mov qword [0x140180138], rdi
xorps xmm0, xmm0
movdqa xmmword [0x140180140], xmm0
mov qword [0x140180150], 7
mov qword [0x140180158], 8
mov dword [0x140180120], 0x3f800000
mov r8, rax
lea edx, [rdi + 0x10]
lea rcx, [0x140180138]
call fcn.14002dfe0
nop
lea rcx, [0x1400ea750]
call fcn.1400b64ac
nop
lea rcx, [0x140180168]
call fcn.1400b601c
mov eax, dword [r14 + rbx]
cmp dword [0x14018016c], eax
jle 0x14002aec0
lea rcx, [0x14018016c]
call fcn.1400b6088
cmp dword [0x14018016c], 0xffffffff
jne 0x14002aec0
xorps xmm0, xmm0
movups xmmword [0x140180010], xmm0
movups xmmword [0x140180020], xmm0
movups xmmword [0x140180030], xmm0
movups xmmword [0x140180040], xmm0
mov dword [0x140180010], 0
mov qword [0x140180018], rdi
mov qword [0x140180020], rdi
mov ecx, Ordinal_27
call fcn.1400b6248
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140180018], rax
mov qword [0x140180028], rdi
xorps xmm0, xmm0
movdqa xmmword [0x140180030], xmm0
mov qword [0x140180040], 7
mov qword [0x140180048], 8
mov dword [0x140180010], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x140180028]
call fcn.14002dfe0
nop
lea rcx, [0x1400ea740]
call fcn.1400b64ac
nop
lea rcx, [0x14018016c]
call fcn.1400b601c
nop dword [rax + rax]
movzx r14d, sil
movabs rax, 0xcbf29ce484222325
xor r14, rax
movabs rcx, 0x100000001b3
imul r14, rcx
movzx eax, byte [rsp + 0x61]
xor r14, rax
imul r14, rcx
movzx eax, byte [rsp + 0x62]
xor r14, rax
imul r14, rcx
movzx eax, byte [rsp + 0x63]
xor r14, rax
imul r14, rcx
mov rcx, r14
and rcx, qword [0x140180150]
add rcx, rcx
mov rdx, qword [0x140180138]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [0x140180128]
cmp rax, r9
je 0x14002af41
mov rcx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x14002af44
cmp rax, rcx
je 0x14002af41
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14002af31
jmp 0x14002af44
mov rax, rdi
mov rbx, r9
test rax, rax
cmovne rbx, rax
mov rcx, r14
and rcx, qword [0x140180040]
add rcx, rcx
mov rdx, qword [0x140180028]
mov rax, qword [rdx + rcx*8 + 8]
mov r8, qword [0x140180018]
cmp rax, r8
je 0x14002af90
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x14002af93
nop dword [rax]
cmp rax, rdx
je 0x14002af90
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14002af80
jmp 0x14002af93
mov rax, rdi
mov rdi, r8
test rax, rax
cmovne rdi, rax
cmp rbx, r9
jne 0x14002b011
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], 0x3f800000
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [0x140180120]
call fcn.14002e120
mov rcx, r14
and rcx, qword [0x140180150]
add rcx, rcx
mov rdx, qword [0x140180138]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x140180128]
cmp rax, rbx
je 0x14002b001
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x14002b003
cmp rax, rdx
je 0x14002b001
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14002aff1
jmp 0x14002b003
xor eax, eax
test rax, rax
cmovne rbx, rax
mov r8, qword [0x140180018]
cmp rdi, r8
jne 0x14002b07b
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], 0
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [0x140180010]
call fcn.14002e120
and r14, qword [0x140180040]
add r14, r14
mov rcx, qword [0x140180028]
mov rax, qword [rcx + r14*8 + 8]
mov rdi, qword [0x140180018]
cmp rax, rdi
je 0x14002b072
mov rcx, qword [rcx + r14*8]
cmp esi, dword [rax + 0x10]
je 0x14002b074
cmp rax, rcx
je 0x14002b072
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x14002b062
jmp 0x14002b074
xor eax, eax
test rax, rax
cmovne rdi, rax
movzx esi, byte [rsp + 0x50]
test sil, sil
je 0x14002b08b
movaps xmm0, xmm9
jmp 0x14002b0a3
movss xmm0, dword [r13 + 0x18]
mulss xmm0, dword [0x14011bdf4]
addss xmm0, dword [rbx + 0x14]
movss dword [rbx + 0x14], xmm0
movss dword [rbx + 0x14], xmm0
comiss xmm9, xmm0
jbe 0x14002b0b4
movaps xmm1, xmm9
jmp 0x14002b0bb
movaps xmm1, xmm6
minss xmm1, xmm0
movss dword [rbx + 0x14], xmm1
movaps xmm8, xmm6
subss xmm8, xmm1
movss xmm2, dword [0x14011be08]
mulss xmm8, xmm2
movss xmm0, dword [r13 + 0x18]
movzx eax, byte [rsp + 0x51]
test al, al
jne 0x14002b0ec
xorps xmm0, xmmword [0x14011c0e0]
mulss xmm0, xmm2
addss xmm0, dword [rdi + 0x14]
comiss xmm9, xmm0
jbe 0x14002b101
movaps xmm6, xmm9
jmp 0x14002b105
minss xmm6, xmm0
movss dword [rdi + 0x14], xmm6
movups xmm4, xmmword [r13 + 0x17ec]
movups xmm3, xmmword [r13 + 0x17fc]
cmp byte [rsp + 0x52], 0
je 0x14002b14c
test al, al
je 0x14002b14c
mov rax, qword [0x14017fb30]
movups xmm0, xmmword [rax + 0x180c]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x74], xmm0
jmp 0x14002b1b7
movaps xmm2, xmm3
subss xmm2, xmm4
mulss xmm2, xmm6
addss xmm2, xmm4
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x55
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
subss xmm1, xmm0
mulss xmm1, xmm6
addss xmm1, xmm0
shufps xmm3, xmm3, 0xaa
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
subss xmm3, xmm0
mulss xmm3, xmm6
addss xmm3, xmm0
movss dword [rsp + 0x68], xmm2
movss dword [rsp + 0x6c], xmm1
movss dword [rsp + 0x70], xmm3
shufps xmm4, xmm4, 0xff
mov rax, qword [0x14017fb30]
mulss xmm4, dword [rax + 0x1570]
movss dword [rsp + 0x74], xmm4
lea rcx, [rsp + 0x68]
call fcn.140004af0
mov ebx, eax
mov rcx, qword [r12 + 0x268]
mov rax, qword [rcx + 0x38]
movss xmm1, dword [rax + 0x28]
movss xmm2, dword [rax + 0x20]
xor r9d, r9d
movss xmm0, dword [rax + 0x24]
unpcklps xmm0, xmm1
movq r8, xmm0
movss xmm1, dword [rax + 0x1c]
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.14001e910
mov qword [rsp + 0x58], 0
mov rax, qword [0x14017fb30]
movups xmm0, xmmword [rax + 0x17ec]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rbp - 0x74], xmm0
movss xmm12, dword [rbp - 0x68]
subss xmm12, xmm8
movss dword [rsp + 0x60], xmm12
movss xmm13, dword [rbp - 0x64]
subss xmm13, xmm8
movss dword [rsp + 0x64], xmm13
movaps xmm14, xmm8
movss xmm10, dword [rbp - 0x70]
addss xmm14, xmm10
movss dword [rsp + 0x68], xmm14
movaps xmm15, xmm8
movss xmm11, dword [rbp - 0x6c]
addss xmm15, xmm11
movss dword [rsp + 0x6c], xmm15
movss xmm6, dword [r13 + 0x15c0]
addss xmm6, xmm6
movss xmm7, dword [rdi + 0x14]
mulss xmm7, dword [0x14011be64]
addss xmm7, dword [0x14011be50]
lea rcx, [rbp - 0x80]
call fcn.140004af0
mov r9d, eax
movss dword [rsp + 0x38], xmm6
xor edi, edi
mov dword [rsp + 0x30], edi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x68]
mov rcx, qword [r12 + 0x268]
call fcn.140021150
mov rcx, qword [r12 + 0x268]
mov eax, dword [rcx + 0x58]
sub eax, 1
mov dword [rcx + 0x58], eax
jne 0x14002b2f5
mov rax, qword [rcx + 0x38]
add rax, 0x1c
jmp 0x14002b301
dec eax
cdqe
shl rax, 4
add rax, qword [rcx + 0x60]
movups xmm0, xmmword [rax]
movups xmmword [rcx + 0x88], xmm0
call fcn.14001e7c0
movss dword [rsp + 0x68], xmm12
movss dword [rsp + 0x6c], xmm13
movss dword [rsp + 0x58], xmm14
movss dword [rsp + 0x5c], xmm15
mov dword [rsp + 0x28], edi
movss xmm0, dword [r13 + 0x15c0]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x58]
mov rcx, qword [r12 + 0x268]
call fcn.140020bc0
mov r10, qword [r12 + 0x268]
mov rax, qword [0x14017fb30]
movups xmm0, xmmword [rax + 0x164c]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rbp - 0x74], xmm0
lea rcx, [rbp - 0x80]
call fcn.140004af0
mov r9d, eax
addss xmm10, dword [rbp - 0x68]
movss xmm0, dword [0x14011bda8]
mulss xmm10, xmm0
movss xmm1, dword [rsp + 0x78]
mulss xmm1, xmm0
subss xmm10, xmm1
addss xmm11, dword [rbp - 0x64]
mulss xmm11, xmm0
movss xmm1, dword [rsp + 0x7c]
mulss xmm1, xmm0
subss xmm11, xmm1
mulss xmm8, dword [0x14011bd88]
mov rcx, qword [0x14017fcd8]
movss xmm2, dword [rcx + 0x14]
subss xmm2, xmm8
test eax, 0xff000000
je 0x14002b468
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], dil
jne 0x14002b3f4
add r8, r15
cmp r15, r8
je 0x14002b468
test rcx, rcx
jne 0x14002b412
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm9
jp 0x14002b423
jne 0x14002b423
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], dil
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r15
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movaps xmm0, xmm10
unpcklps xmm0, xmm11
movq r9, xmm0
mov rdx, r10
call fcn.140027150
movzx eax, sil
jmp 0x14002b470
xor al, al
mov rcx, qword [rbp - 0x60]
xor rcx, rsp
call fcn.1400b5fc0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret