Function at 0x140037850
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 - 0x5f]
sub rsp, 0x100
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
mov rax, qword [0x140160880]
xor rax, rsp
mov qword [rbp - 0x41], rax
mov rdi, qword [0x1401a97b0]
mov r12, rdx
mov rbx, rcx
mov rsi, rdi
mov rax, qword [rdi + 0x40a0]
mov byte [rax + 0xcc], 1
mov r14, qword [rdi + 0x40a0]
cmp byte [r14 + 0xcf], 0
jne 0x140037ee4
movsxd rax, dword [r14 + 0x108]
xor edx, edx
mov r8, qword [r14 + 0x110]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140004eb0
mov rcx, qword [r14]
mov r15d, eax
cmp dword [rcx + 0x40f4], eax
jne 0x140037911
mov r8, rbx
mov edx, recv
mov ecx, eax
call fcn.14001e8c0
mov rdi, qword [0x1401a97b0]
mov dword [rbp - 0x49], r15d
mov rcx, rbx
cmp rbx, 0xffffffffffffffff
jae 0x14003793d
nop
movzx edx, byte [rcx]
test dl, dl
je 0x14003793d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140037934
cmp byte [rax], dl
je 0x14003793d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140037920
movss xmm9, dword [rdi + 0x3db8]
xor r13d, r13d
xorps xmm10, xmm10
cmp rbx, rcx
jne 0x140037958
xorps xmm11, xmm11
jmp 0x1400379b1
movss xmm0, dword [0x140149424]
lea rdx, [rbp - 0x79]
movss xmm3, dword [0x14014940c]
movaps xmm2, xmm9
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rcx
mov rcx, qword [rdi + 0x3db0]
mov qword [rsp + 0x28], rbx
movss dword [rsp + 0x20], xmm0
call fcn.14002feb0
movss xmm0, dword [rbp - 0x79]
addss xmm0, dword [0x140149210]
movss xmm9, dword [rbp - 0x75]
cvttss2si eax, xmm0
movd xmm11, eax
cvtdq2ps xmm11, xmm11
movss xmm8, dword [rsi + 0x3968]
lea rcx, [rbp - 0x79]
movss xmm2, dword [rsi + 0x3964]
movaps xmm3, xmm8
mov rdx, qword [r12]
addss xmm3, xmm8
movss xmm6, dword [r14 + 0x118]
addss xmm2, xmm2
movss xmm7, dword [r14 + 0x11c]
addss xmm3, xmm9
addss xmm2, xmm11
call fcn.140016bc0
movss xmm2, dword [rbp - 0x79]
lea rcx, [rbp - 0x79]
movss xmm0, dword [rbp - 0x75]
addss xmm2, xmm6
addss xmm0, xmm7
movss dword [rbp - 0x59], xmm6
movaps xmm1, xmm8
movss dword [rbp - 0x55], xmm7
movss dword [rbp - 0x51], xmm2
movss dword [rbp - 0x4d], xmm0
call fcn.1400167d0
mov edx, dword [rbp - 0x49]
lea rcx, [rbp - 0x59]
xor r8d, r8d
xor r9d, r9d
call fcn.140016560
test al, al
je 0x140037ee4
mov edx, dword [rbp - 0x49]
lea r9, [rbp - 0x44]
lea r8, [rbp - 0x45]
movaps xmmword [rsp + 0x90], xmm12
lea rcx, [rbp - 0x59]
mov dword [rsp + 0x20], r13d
call fcn.140036fc0
mov r8d, dword [rbp - 0x49]
movabs rcx, 0xcbf29ce484222325
movss xmm12, dword [0x140149218]
movabs r9, 0x100000001b3
movzx edx, r8b
movzx r15d, al
xor rdx, rcx
imul rdx, r9
cmp byte [rbp - 0x45], r13b
je 0x140037ba0
movzx ecx, byte [rbp - 0x48]
movzx eax, byte [rbp - 0x47]
xor rdx, rcx
imul rdx, r9
xor rdx, rax
movzx eax, byte [rbp - 0x46]
imul rdx, r9
xor rdx, rax
mov rax, qword [0x1401aba98]
imul rdx, r9
mov r9, qword [0x1401aba88]
and rdx, qword [0x1401abab0]
add rdx, rdx
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, r9
je 0x140037b01
mov rax, qword [rax + rdx*8]
cmp r8d, dword [rcx + 0x10]
je 0x140037b04
nop
cmp rcx, rax
je 0x140037b01
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x140037af0
jmp 0x140037b04
mov rcx, r13
test rcx, rcx
mov rax, r9
cmovne rax, rcx
cmp rax, r9
jne 0x140037b28
lea r8, [rbp - 0x49]
lea rdx, [rsp + 0x40]
call fcn.1400497d0
mov rcx, qword [rax]
mov dword [rcx + 0x14], r13d
movss xmm6, dword [rsi + 0x18]
lea r8, [rbp - 0x49]
movss xmm8, dword [0x1401492c4]
lea rdx, [rsp + 0x40]
mulss xmm6, xmm8
call fcn.1400497d0
lea r8, [rbp - 0x49]
lea rdx, [rsp + 0x40]
mov rcx, qword [rax]
addss xmm6, dword [rcx + 0x14]
movss dword [rcx + 0x14], xmm6
call fcn.1400497d0
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x14]
comiss xmm0, xmm12
jbe 0x140037c87
lea r8, [rbp - 0x49]
lea rdx, [rsp + 0x40]
call fcn.1400497d0
mov rcx, qword [rax]
mov dword [rcx + 0x14], 0x3f800000
jmp 0x140037c87
movzx eax, byte [rbp - 0x48]
xor rdx, rax
movzx eax, byte [rbp - 0x47]
imul rdx, r9
xor rdx, rax
movzx eax, byte [rbp - 0x46]
imul rdx, r9
xor rdx, rax
mov rax, qword [0x1401aba98]
imul rdx, r9
mov r9, qword [0x1401aba88]
and rdx, qword [0x1401abab0]
add rdx, rdx
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, r9
je 0x140037c01
mov rax, qword [rax + rdx*8]
cmp r8d, dword [rcx + 0x10]
je 0x140037c04
nop dword [rax]
cmp rcx, rax
je 0x140037c01
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x140037bf0
jmp 0x140037c04
mov rcx, r13
test rcx, rcx
mov rax, r9
cmovne rax, rcx
cmp rax, r9
jne 0x140037c28
lea r8, [rbp - 0x49]
lea rdx, [rsp + 0x40]
call fcn.1400497d0
mov rcx, qword [rax]
mov dword [rcx + 0x14], r13d
movss xmm6, dword [rsi + 0x18]
lea r8, [rbp - 0x49]
movss xmm8, dword [0x1401492c4]
lea rdx, [rsp + 0x40]
mulss xmm6, xmm8
call fcn.1400497d0
lea r8, [rbp - 0x49]
lea rdx, [rsp + 0x40]
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x14]
subss xmm0, xmm6
movss dword [rcx + 0x14], xmm0
call fcn.1400497d0
mov rcx, qword [rax]
comiss xmm10, dword [rcx + 0x14]
jbe 0x140037c87
lea r8, [rbp - 0x49]
lea rdx, [rsp + 0x40]
call fcn.1400497d0
mov rcx, qword [rax]
mov dword [rcx + 0x14], r13d
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x69]
call fcn.1400497d0
movss xmm7, dword [0x1401491dc]
xor r8d, r8d
movss xmm4, dword [rbp - 0x55]
movss xmm2, dword [rbp - 0x51]
mov rcx, qword [rax]
movaps xmm5, xmm2
movss xmm6, dword [rbp - 0x59]
movss xmm1, dword [rbp - 0x4d]
subss xmm5, xmm6
mov rax, qword [0x1401a97b0]
addss xmm6, xmm2
mov edx, dword [rbp - 0x49]
movaps xmm3, xmm1
subss xmm3, xmm4
mov qword [rbp - 0x79], 0x3f800000
addss xmm4, xmm1
mov dword [rbp - 0x71], r13d
mulss xmm5, xmm7
mulss xmm6, xmm7
mulss xmm5, dword [rcx + 0x14]
mulss xmm4, xmm7
movaps xmm2, xmm6
mulss xmm3, xmm7
addss xmm2, xmm5
movaps xmm0, xmm4
subss xmm6, xmm5
mulss xmm3, dword [rcx + 0x14]
lea rcx, [rbp - 0x59]
movss dword [rsp + 0x48], xmm2
movss dword [rsp + 0x40], xmm6
addss xmm0, xmm3
subss xmm4, xmm3
movss dword [rbp - 0x7d], xmm0
movss xmm0, dword [rax + 0x3928]
mulss xmm0, xmm7
movss dword [rsp + 0x44], xmm4
movss dword [rbp - 0x6d], xmm0
call fcn.1400071f0
mov rdx, qword [rbp - 0x51]
mov r9b, 1
mov rcx, qword [rbp - 0x59]
mov r8d, 0xff111111
movss dword [rsp + 0x20], xmm8
call fcn.140007040
lea rcx, [rbp - 0x79]
call fcn.140005520
mov rcx, qword [r14 + 0x2b8]
lea rdx, [rsp + 0x40]
mov r9d, eax
mov dword [rsp + 0x28], r13d
lea r8, [rsp + 0x48]
movss dword [rsp + 0x20], xmm8
call fcn.14002b060
mov rdi, qword [r14 + 0x2b8]
movaps xmm3, xmm8
movss xmm0, dword [rbp - 0x51]
mov rcx, rdi
mov dword [rsp + 0x20], 0xf0
test byte [rdi + 0x30], 1
je 0x140037def
movss xmm1, dword [rbp - 0x4d]
subss xmm0, xmm7
subss xmm1, xmm7
lea r8, [rbp - 0x79]
lea rdx, [rsp + 0x40]
movss dword [rbp - 0x79], xmm0
movss xmm0, dword [rbp - 0x59]
movss dword [rbp - 0x75], xmm1
addss xmm0, xmm7
movss xmm1, dword [rbp - 0x55]
addss xmm1, xmm7
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
jmp 0x140037e35
subss xmm0, dword [0x1401491d8]
movss xmm1, dword [rbp - 0x59]
lea r8, [rsp + 0x40]
addss xmm1, xmm7
lea rdx, [rbp - 0x79]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp - 0x4d]
subss xmm0, dword [0x1401491d8]
movss dword [rbp - 0x79], xmm1
movss dword [rsp + 0x44], xmm0
movss xmm0, dword [rbp - 0x55]
addss xmm0, xmm7
movss dword [rbp - 0x75], xmm0
call fcn.14002a8d0
mov r8d, dword [rdi + 0x50]
mov r9d, 0xff0000ff
mov rdx, qword [rdi + 0x58]
mov rcx, rdi
movss dword [rsp + 0x28], xmm12
mov dword [rsp + 0x20], 1
call fcn.140028af0
movaps xmm12, xmmword [rsp + 0x90]
mov dword [rdi + 0x50], r13d
movss xmm1, dword [rbp - 0x51]
subss xmm1, dword [rbp - 0x59]
movss xmm2, dword [rbp - 0x4d]
subss xmm2, dword [rbp - 0x55]
subss xmm1, xmm11
subss xmm2, xmm9
mulss xmm1, xmm7
mulss xmm2, xmm7
addss xmm1, dword [rbp - 0x59]
addss xmm2, dword [rbp - 0x55]
cmp byte [rsi + 0x6170], r13b
je 0x140037ec8
mov rax, qword [0x1401a97b0]
lea rcx, [0x140143f84]
mov qword [rax + 0x6190], rcx
lea rcx, [0x140143f80]
mov qword [rax + 0x6198], rcx
unpcklps xmm1, xmm2
mov r9b, 1
movq rcx, xmm1
xor r8d, r8d
mov rdx, rbx
call fcn.140005e00
movzx eax, r15b
jmp 0x140037ee6
xor al, al
mov rcx, qword [rbp - 0x41]
xor rcx, rsp
call fcn.1401263f0
lea r11, [rsp + 0x100]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret