Function at 0x140066900
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x130
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0x88], xmm10
vmovaps xmmword [rax - 0x98], xmm11
vmovaps xmmword [rax - 0xa8], xmm12
vmovaps xmmword [rax - 0xb8], xmm13
vmovaps xmmword [rax - 0xc8], xmm14
vmovaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140127840]
xor rax, rsp
mov qword [rbp - 0x80], rax
mov r15, rdx
mov rsi, rcx
mov rbx, qword [0x1401420d8]
mov rax, qword [rbx + 0x3ec8]
mov byte [rax + 0xb8], 1
mov r14, qword [rbx + 0x3ec8]
cmp byte [r14 + 0xbb], 0
je 0x1400669a2
xor al, al
jmp 0x1400670a7
lea r12, [rbx + 0x37f4]
mov qword [rsp + 0x48], r12
movsxd r8, dword [r14 + 0xf0]
mov rax, qword [r14 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.140034f10
mov edi, eax
mov dword [rsp + 0x58], edi
mov rcx, qword [r14]
cmp dword [rcx + 0x3f10], eax
jne 0x1400669ef
mov r8, rsi
mov edx, ntohs
mov ecx, edi
call fcn.14004cac0
mov rbx, qword [0x1401420d8]
mov rcx, rsi
cmp rsi, 0xffffffffffffffff
jae 0x140066a15
movzx edx, byte [rcx]
test dl, dl
je 0x140066a15
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140066a0c
cmp byte [rax], dl
je 0x140066a15
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1400669f8
vmovss xmm14, dword [rbx + 0x3c28]
vxorps xmm13, xmm13, xmm13
cmp rsi, rcx
jne 0x140066a2e
vxorps xmm15, xmm15, xmm15
jmp 0x140066a7d
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
vmovss xmm0, dword [0x14010e868]
vmovss dword [rsp + 0x20], xmm0
vmovaps xmm2, xmm14
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x3c20]
call fcn.14005cd30
vmovss xmm0, dword [rsp + 0x50]
vaddss xmm1, xmm0, dword [0x14010e674]
vcvttss2si eax, xmm1
vxorps xmm15, xmm15, xmm15
vcvtsi2ss xmm15, xmm15, eax
vmovss xmm14, dword [rsp + 0x54]
vmovss xmm5, dword [r14 + 0x100]
vmovss xmm3, dword [r14 + 0x104]
vaddss xmm4, xmm3, dword [0x14010e794]
vaddss xmm1, xmm5, dword [0x14010e794]
vmovss dword [rsp + 0x60], xmm5
vmovss dword [rsp + 0x64], xmm3
vmovss dword [rsp + 0x68], xmm1
vmovss dword [rsp + 0x6c], xmm4
vaddss xmm1, xmm15, dword [r12 + 0x54]
vaddss xmm0, xmm5, dword [0x14010e79c]
vaddss xmm2, xmm1, xmm0
vmovss dword [rsp + 0x70], xmm5
vmovss dword [rsp + 0x74], xmm3
vmovss dword [rsp + 0x78], xmm2
vmovss dword [rsp + 0x7c], xmm4
xor r9d, r9d
lea r8, [rsp + 0x60]
mov edx, edi
lea rcx, [rsp + 0x70]
call fcn.1400448c0
vmovss xmm0, dword [rsp + 0x7c]
vsubss xmm4, xmm0, dword [rsp + 0x74]
vmovss xmm2, dword [rsp + 0x78]
vsubss xmm3, xmm2, dword [rsp + 0x70]
vmovss dword [rsp + 0x50], xmm3
vmovss dword [rsp + 0x54], xmm4
vmovss xmm1, dword [r12 + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140044750
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x41]
mov edx, edi
lea rcx, [rsp + 0x70]
call fcn.140064d20
mov byte [rsp + 0x40], al
test al, al
je 0x140066b7d
cmp byte [r15], bl
sete cl
mov byte [r15], cl
mov rcx, qword [0x1401420d8]
mov edx, dword [rcx + 0x3f28]
cmp edx, edi
je 0x140066b6d
test edx, edx
jne 0x140066b76
mov word [rcx + 0x3f38], 0x101
or dword [rcx + 0x476c], 4
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
vmovss xmm6, dword [0x14010e67c]
mov eax, dword [rcx + rax]
cmp dword [0x1401438d0], eax
jle 0x140066c62
lea rcx, [0x1401438d0]
call fcn.1400e7668
cmp dword [0x1401438d0], 0xffffffff
jne 0x140066c62
vpxor xmm0, xmm0, xmm0
vmovups ymmword [0x140143920], ymm0
vmovups ymmword [0x140143940], ymm0
vmovss dword [0x140143920], xmm13
mov qword [0x140143928], rbx
mov qword [0x140143930], rbx
mov ecx, Ordinal_27
vzeroupper
call fcn.1400e76e0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140143928], rax
mov qword [0x140143938], rbx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [0x140143940], xmm0
mov qword [0x140143950], 7
mov qword [0x140143958], 8
vmovss dword [0x140143920], xmm6
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x140143938]
call fcn.14001ae40
nop
lea rcx, [0x1400f0250]
call fcn.1400e7a14
nop
lea rcx, [0x1401438d0]
call fcn.1400e75fc
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx r12d, byte [rsp + 0x59]
xor rcx, r12
imul rcx, rdx
movzx r13d, byte [rsp + 0x5a]
xor rcx, r13
imul rcx, rdx
movzx eax, byte [rsp + 0x5b]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x140143950]
add rcx, rcx
mov rdx, qword [0x140143938]
mov rax, qword [rdx + rcx*8 + 8]
mov r8, qword [0x140143928]
cmp rax, r8
je 0x140066ce2
mov rdx, qword [rdx + rcx*8]
cmp edi, dword [rax + 0x10]
je 0x140066ce5
cmp rax, rdx
je 0x140066ce2
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x140066cd2
jmp 0x140066ce5
mov rax, rbx
mov rbx, r8
test rax, rax
cmovne rbx, rax
cmp rbx, r8
jne 0x140066daa
mov dword [rsp + 0x50], edi
vmovss dword [rsp + 0x54], xmm13
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea rcx, [0x140143920]
call fcn.140032c80
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, r12
imul rcx, rdx
xor rcx, r13
imul rcx, rdx
movzx eax, byte [rsp + 0x5b]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x140143950]
add rcx, rcx
mov rdx, qword [0x140143938]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x140143928]
cmp rax, rbx
jne 0x140066d82
xor r13d, r13d
mov eax, r13d
test rax, rax
cmovne rbx, rax
jmp 0x140066dad
mov rdx, qword [rdx + rcx*8]
cmp edi, dword [rax + 0x10]
je 0x140066d9e
nop dword [rax + rax]
cmp rax, rdx
je 0x140066d73
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x140066d90
xor r13d, r13d
test rax, rax
cmovne rbx, rax
jmp 0x140066dad
xor r13d, r13d
vmovss xmm3, dword [rbx + 0x14]
vmovd xmm1, r13d
movzx eax, byte [r15]
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm6, xmm13, xmm2
vsubss xmm1, xmm0, xmm3
vfmadd231ss xmm3, xmm1, dword [0x14010e5fc]
vmovss dword [rbx + 0x14], xmm3
lea rcx, [rsp + 0x70]
cmp byte [rsp + 0x41], 0
je 0x140066df1
vmovdqu xmm0, xmmword [0x14010eb30]
jmp 0x140066df9
vmovdqu xmm0, xmmword [0x14010eb00]
vmovups xmmword [rsp + 0x70], xmm0
vmovss xmm10, dword [rsp + 0x68]
vmovss dword [rsp + 0x50], xmm10
vmovss xmm7, dword [rsp + 0x6c]
vmovss dword [rsp + 0x54], xmm7
vmovss xmm11, dword [rsp + 0x60]
vmovss dword [rsp + 0x58], xmm11
vmovss xmm8, dword [rsp + 0x64]
vmovss dword [rsp + 0x5c], xmm8
mov rax, qword [0x1401420d8]
mov r10, qword [rax + 0x3ec8]
call fcn.1400354a0
mov r9d, eax
mov dword [rsp + 0x28], r13d
vmovss xmm12, dword [0x14010e6f0]
vmovss dword [rsp + 0x20], xmm12
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, qword [r10 + 0x2a0]
call fcn.140058160
mov rdi, qword [r14 + 0x2a0]
vmovss dword [rsp + 0x60], xmm6
vmovss dword [rsp + 0x64], xmm6
vmovss dword [rsp + 0x68], xmm6
mov r12, qword [rsp + 0x48]
vmovss xmm0, dword [r12]
vmulss xmm0, xmm0, dword [0x14010e5f0]
vmovss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.1400354a0
mov r15d, eax
vmovss xmm9, dword [0x14010e63c]
test eax, 0xff000000
je 0x140066f48
mov dword [rsp + 0x20], r13d
vmovaps xmm3, xmm12
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, rdi
test byte [rdi + 0x30], 1
je 0x140066ee9
vsubss xmm0, xmm10, xmm9
vsubss xmm1, xmm7, xmm9
jmp 0x140066ef9
vsubss xmm0, xmm10, dword [0x14010e638]
vsubss xmm1, xmm7, dword [0x14010e638]
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm1
vaddss xmm0, xmm11, xmm9
vaddss xmm1, xmm8, xmm9
vmovss dword [rsp + 0x58], xmm0
vmovss dword [rsp + 0x5c], xmm1
call fcn.140057ab0
vmovss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 1
mov r9d, r15d
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140055d10
mov dword [rdi + 0x78], r13d
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [0x14013e558]
vmovss xmm3, dword [0x14010e5c0]
vmulss xmm0, xmm0, xmm3
vmovss dword [rsp + 0x60], xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [0x14013e55c]
vmulss xmm2, xmm1, xmm3
vmovss dword [rsp + 0x64], xmm2
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [0x14013e560]
vmulss xmm1, xmm0, xmm3
vmovss dword [rsp + 0x68], xmm1
vmovss xmm2, dword [r12]
vmulss xmm0, xmm2, dword [rbx + 0x14]
vmovss dword [rsp + 0x6c], xmm0
vmovss dword [rsp + 0x50], xmm10
vmovss dword [rsp + 0x54], xmm7
vmovss dword [rsp + 0x58], xmm11
vmovss dword [rsp + 0x5c], xmm8
mov rax, qword [0x1401420d8]
mov r10, qword [rax + 0x3ec8]
lea rcx, [rsp + 0x60]
call fcn.1400354a0
mov r9d, eax
mov dword [rsp + 0x28], r13d
vmovss dword [rsp + 0x20], xmm12
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, qword [r10 + 0x2a0]
call fcn.140058160
mov rax, qword [0x1401420d8]
vmovups xmm2, xmmword [rax + 0x39f0]
vmovups xmmword [rsp + 0x60], xmm2
vmovss xmm0, dword [rax + 0x37f4]
vmulss xmm1, xmm0, dword [rbx + 0x14]
vshufps xmm2, xmm2, xmm2, 0xff
vmulss xmm0, xmm2, xmm1
vmovss dword [rsp + 0x6c], xmm0
vaddss xmm1, xmm8, xmm7
vmulss xmm8, xmm1, xmm9
vaddss xmm0, xmm11, xmm10
vmovaps xmm7, xmm9
vfmsub213ss xmm7, xmm0, dword [0x14010e734]
vsubss xmm6, xmm8, dword [0x14010e734]
lea rcx, [rsp + 0x60]
call fcn.1400354a0
mov r8d, eax
vunpcklps xmm0, xmm7, xmm6
vmovq rdx, xmm0
mov rcx, qword [r14 + 0x2a0]
call fcn.14005da60
vaddss xmm0, xmm10, dword [r12 + 0x54]
vaddss xmm2, xmm0, xmm12
vmovaps xmm1, xmm8
vfnmadd231ss xmm1, xmm14, xmm9
vcomiss xmm15, xmm13
jbe 0x1400670a2
mov r9b, 1
xor r8d, r8d
mov rdx, rsi
vunpcklps xmm0, xmm2, xmm1
vmovq rcx, xmm0
call fcn.140035e30
movzx eax, byte [rsp + 0x40]
mov rcx, qword [rbp - 0x80]
xor rcx, rsp
call fcn.1400e75a0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x50]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm13, xmmword [r11 - 0x80]
vmovaps xmm14, xmmword [r11 - 0x90]
vmovaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret