Function at 0x180024ff0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x1800ff400]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rsi, rcx
xor edi, edi
mov rbx, qword [rcx + 0x20]
mov r14, qword [rcx + 0x28]
sub r14, rbx
cmp r14, 0x18
jb 0x180025a41
xor eax, eax
mov qword [rsp + 0x54], rax
mov qword [rsp + 0x5c], rax
mov dword [rsp + 0x64], eax
movzx r8d, byte [rbx + 1]
shl r8d, 0x10
movzx edx, byte [rbx + 2]
shl edx, 8
movzx eax, byte [rbx + 3]
movzx ecx, byte [rbx]
shl ecx, 0x18
or ecx, eax
or ecx, edx
or ecx, r8d
mov dword [rsp + 0x50], ecx
lea rdx, [rbx + 4]
mov r8d, ntohs
lea rcx, [rsp + 0x54]
call fcn.18009f510
mov dword [rsp + 0x60], edi
movzx eax, byte [rbx + 0x10]
shl eax, 0x18
mov dword [rsp + 0x60], eax
movzx ecx, byte [rbx + 0x11]
shl ecx, 0x10
or ecx, eax
mov dword [rsp + 0x60], ecx
movzx edx, byte [rbx + 0x12]
shl edx, 8
or edx, ecx
mov dword [rsp + 0x60], edx
movzx eax, byte [rbx + 0x13]
or edx, eax
mov dword [rsp + 0x60], edx
cmp r14, 0x18
jb 0x1800255ca
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x50], 0xe9beb4d9
jne 0x1800255ca
mov rcx, qword [rsi + 0x28]
sub rcx, qword [rsi + 0x20]
lea rax, [rdx + 0x18]
cmp rcx, rax
jb 0x180025a41
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rdi
movabs rcx, 0xcbf29ce484222325
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x54]
movabs r9, 0x100000001b3
movzx eax, byte [rdx]
test al, al
je 0x18002513d
xor rcx, rax
imul rcx, r9
inc rdx
cmp rdx, r8
jne 0x180025127
movabs rax, 0xbb62c62c9808ea37
cmp rcx, rax
ja 0x18002588d
je 0x1800255d1
movabs rax, 0x3a9f1f51625857f
cmp rcx, rax
je 0x18002548d
movabs rax, 0x2b9ffd192bd4c4d8
cmp rcx, rax
je 0x180025345
movabs rax, 0x8c1eda0da8870097
cmp rcx, rax
je 0x180025a13
movabs rax, 0x8dfeaf9950df0ffa
cmp rcx, rax
jne 0x1800258be
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
mov dword [rbp - 0x80], edi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 1
mov qword [rbp - 0x68], rdi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x60], xmm0
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x28]
call fcn.180018e80
test al, al
je 0x180025303
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x28]
call fcn.180018e80
test al, al
je 0x180025303
mov r8, qword [rsp + 0x38]
lea rax, [r8 + 4]
cmp qword [rsp + 0x30], rax
jb 0x180025303
mov rcx, qword [rsp + 0x28]
movzx edx, byte [rcx + r8]
shl edx, 8
movzx eax, byte [rcx + r8 + 1]
or edx, eax
shl edx, 8
movzx eax, byte [rcx + r8 + 2]
or edx, eax
shl edx, 8
lea rax, [r8 + 4]
mov qword [rsp + 0x38], rax
movzx eax, byte [rcx + r8 + 3]
or eax, edx
mov dword [rbp - 0x80], eax
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x78]
call fcn.18001e700
test al, al
je 0x180025303
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x70]
call fcn.18001e700
test al, al
je 0x180025303
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
sub rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.18001f680
mov r8, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
sub r8, rcx
lea rax, [rdi + r8]
cmp qword [rsp + 0x30], rax
jb 0x180025307
mov rdx, qword [rsp + 0x28]
add rdx, rdi
call fcn.18009f510
mov rcx, qword [rsi + 0x118]
test rcx, rcx
je 0x1800252c0
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x180025a13
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800252f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a76
call fcn.1800732d8
jmp 0x180025a13
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1800255ca
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800255c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a76
jmp 0x1800255c5
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
mov qword [rsp + 0x40], rdi
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.18001e700
test al, al
je 0x180025446
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x180025387
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1800217b0
mov rbx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
cmp rbx, r12
je 0x1800253e1
mov r15, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
add rdi, r15
mov r14d, 0x20
sub r14, r15
mov r13, qword [rsp + 0x30]
lea r8, [r14 + rdi]
cmp r13, r8
jb 0x180025446
sub r8, rdi
add r8, r15
mov rdx, rdi
mov rcx, rbx
call fcn.18009f510
add rdi, 0x20
add rbx, 0x20
cmp rbx, r12
jne 0x1800253b1
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsi + 0x158]
test rcx, rcx
je 0x180025400
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_recv]
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x180025a13
mov rdx, qword [rbp - 0x80]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x180025439
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a7c
mov rcx, rbx
call fcn.1800732d8
jmp 0x180025a13
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1800255ca
mov rdx, qword [rbp - 0x80]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800255c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a7c
jmp 0x1800255c5
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
mov qword [rsp + 0x40], rdi
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.18001e700
test al, al
je 0x18002558c
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.180025b50
mov rbx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
cmp rbx, r12
je 0x180025523
mov r15, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
add rdi, r15
mov r14d, 0x20
sub r14, r15
mov r13, qword [rsp + 0x30]
nop
lea rax, [rdi + r14]
cmp r13, rax
jb 0x180025588
mov r8, r15
sub r8, rdi
add r8, rax
mov rdx, rdi
mov rcx, rbx
call fcn.18009f510
add rdi, 0x20
add rbx, 0x20
cmp rbx, r12
jne 0x1800254f0
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsi + 0xd8]
test rcx, rcx
je 0x180025542
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_recv]
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x180025a13
mov rdx, qword [rbp - 0x80]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x18002557b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a8e
mov rcx, rbx
call fcn.1800732d8
jmp 0x180025a13
mov rdi, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1800255ca
sub rdi, rcx
and rdi, 0xffffffffffffffe0
mov rax, rcx
cmp rdi, 0x1000
jb 0x1800255c2
add rdi, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a8e
mov rdx, rdi
call fcn.1800732d8
xor al, al
jmp 0x180025a43
mov dword [rbp - 0x50], edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x20], di
mov qword [rbp - 0x18], rdi
movups xmmword [rbp - 0x10], xmm0
mov word [rbp], di
mov qword [rbp + 8], rdi
movdqa xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x20], xmm1
movdqa xmmword [rbp + 0x30], xmm0
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x50]
call fcn.180024b70
test al, al
jne 0x1800256b6
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x18002566d
mov rdx, qword [rbp + 0x38]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002565c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a88
call fcn.1800732d8
mov qword [rbp + 0x28], rdi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x30], xmm0
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x1800255ca
mov rdx, qword [rbp + 0x20]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800255c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a88
call fcn.1800732d8
xor al, al
jmp 0x180025a43
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov r12, qword [rbp + 0x10]
mov r15, qword [rbp + 0x18]
mov r14d, reloc.WS2_32.dll_ntohs
cmp r12, r15
jne 0x1800256db
mov byte [rsp + 0x70], 0
jmp 0x1800257ba
sub r15, r12
mov qword [rbp - 0x78], r14
movabs rax, 0x7fffffffffffffff
cmp r15, rax
ja 0x180025a94
cmp r15, r14
jbe 0x180025791
mov r14, r15
or r14, 0xf
cmp r14, rax
jbe 0x180025746
mov r14, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.18007329c
mov rcx, rax
test rax, rax
je 0x180025a9a
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x78], r14
jmp 0x180025796
mov eax, reloc.WS2_32.dll_shutdown
cmp r14, rax
cmovb r14, rax
lea rcx, [r14 + 1]
test rcx, rcx
jne 0x180025769
mov rax, rdi
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x78], r14
jmp 0x180025796
cmp rcx, 0x1000
jb 0x180025781
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180025a82
jmp 0x18002571b
call fcn.18007329c
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x78], r14
jmp 0x180025796
mov rax, qword [rsp + 0x70]
lea rbx, [rsp + 0x70]
cmp r14, 0xf
cmova rbx, rax
mov r8, r15
mov rdx, r12
mov rcx, rbx
call fcn.18009f510
mov byte [rbx + r15], 0
mov r14, qword [rbp - 0x78]
cmp r14, 0xf
jbe 0x1800257f3
lea rdx, [r14 + 1]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800257ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a9a
call fcn.1800732d8
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.180022bb0
nop
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x18002584b
mov rdx, qword [rbp + 0x38]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002583a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a88
call fcn.1800732d8
mov qword [rbp + 0x28], rdi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x30], xmm0
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x180025a13
mov rdx, qword [rbp + 0x20]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800259ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a88
jmp 0x1800259ff
movabs rax, 0xbf30e00dc53307a9
cmp rcx, rax
je 0x180025a06
movabs rax, 0xc9e2a983d2171292
cmp rcx, rax
je 0x180025900
movabs rax, 0xe8d4cb47a0f940ff
cmp rcx, rax
je 0x1800258cb
mov rcx, rsi
call fcn.180036e40
jmp 0x180025a13
mov byte [rsp + 0x20], dil
mov byte [rsi + 0x40], 1
call fcn.180024cf0
mov qword [rsi + 0x48], rax
mov rcx, qword [rsi + 0x98]
test rcx, rcx
je 0x180025a13
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x180025a13
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x70]
call fcn.180024920
test al, al
jne 0x18002598c
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x1800255ca
mov rcx, qword [rbp - 0x80]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, r8
cmp rdx, 0x1000
jb 0x18002597d
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a70
mov rcx, r8
call fcn.1800732d8
xor al, al
jmp 0x180025a43
mov rcx, qword [rsi + 0x198]
test rcx, rcx
je 0x1800259a7
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x180025a13
mov rcx, qword [rbp - 0x80]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, r8
cmp rdx, 0x1000
jb 0x1800259fc
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180025a70
mov rcx, r8
call fcn.1800732d8
jmp 0x180025a13
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1800228e0
mov rdi, qword [rsi + 0x20]
mov edx, dword [rsp + 0x60]
add rdx, 0x18
add rdx, rdi
cmp rdi, rdx
je 0x180025a41
mov rbx, qword [rsi + 0x28]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call fcn.18009f510
lea rax, [rbx + rdi]
mov qword [rsi + 0x28], rax
mov al, 1
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1800737c0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180081934
int3
call fcn.180081934
int3
call fcn.180081934
nop
call fcn.1800040c0
nop
call fcn.180081934
int3
call fcn.180081934
nop
call fcn.180004120
int3
call fcn.180081934
int3