Function at 0x1400902b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rbx, rcx
mov eax, dword [rcx + 4]
and eax, 3
cmp al, 3
sete byte [rbp + 0xd0]
mov eax, dword [rcx + 0x130]
mov dword [rbp + 0xd8], eax
lea rdx, [rcx + 0x70]
lea rcx, [rbp + 0x70]
call fcn.1401c0630
mov rdi, rax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
xor r15d, r15d
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
movdqa xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
mov dword [rbp - 0x60], r15d
mov byte [rbp - 0x5c], r15b
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], recv
mov byte [rbp - 0x58], r15b
mov byte [rbp - 0x38], 0xff
lea rcx, [rbp - 0x30]
call fcn.1400936f0
lea r12, vtable.boost::io::basic_altstringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x30], r12
mov qword [rbp + 0x38], r15
mov byte [rbp + 0x40], r15b
mov dword [rbp + 0x44], 3
mov byte [rbp + 0x50], r15b
mov qword [rsp + 0x58], recv
mov qword [rsp + 0x50], recv
movsd xmm0, qword [str._1___2___3___4_]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x140265c60]
mov dword [rsp + 0x48], eax
movzx eax, word [0x140265c64]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x140265c66]
mov byte [rsp + 0x4e], al
mov byte [rsp + 0x4f], r15b
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400938d0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1400903f5
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400903f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400907cc
call fcn.140188c8c
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], recv
mov byte [rsp + 0x40], 0
lea rax, [rbx + 8]
mov qword [rsp + 0x20], rax
lea r14, [fcn.1400913a0]
mov qword [rsp + 0x28], r14
lea rsi, [0x1400964d0]
mov qword [rsp + 0x30], rsi
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.140095690
lea rcx, [rbp + 0xd8]
mov qword [rsp + 0x20], rcx
lea rcx, [fcn.1400913a0]
mov qword [rsp + 0x28], rcx
lea rcx, [0x1400964f0]
mov qword [rsp + 0x30], rcx
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.140095690
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rsi
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.140095690
lea rcx, [rbp + 0xd0]
mov qword [rsp + 0x20], rcx
lea rcx, [fcn.1400913a0]
mov qword [rsp + 0x28], rcx
lea rcx, [0x140096500]
mov qword [rsp + 0x30], rcx
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.140095690
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.140093f50
lea r9, [rsp + 0x20]
mov r8, qword [rsp + 0x20]
mov r11, qword [rsp + 0x38]
cmp r11, 0x10
cmovae r9, r8
movabs rcx, 0xcbf29ce484222325
mov rdx, r15
mov r10, qword [rsp + 0x30]
test r10, r10
je 0x140090514
movabs rdi, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdx + r9]
xor rcx, rax
imul rcx, rdi
inc rdx
cmp rdx, r10
jb 0x140090500
mov qword [rbx + 0x68], rcx
cmp r11, 0x10
jb 0x140090550
lea rdx, [r11 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x140090547
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400907d2
mov rcx, r8
call fcn.140188c8c
nop
cmp byte [rbp + 0x50], 0
je 0x14009057c
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x140090578
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140090578
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov byte [rbp + 0x50], 0
mov qword [rbp - 0x30], r12
cmp byte [rbp + 0x40], 0
je 0x1400905e0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
test rcx, rcx
je 0x14009059e
mov rax, qword [rbp + 0x28]
movsxd rdx, dword [rax]
add rdx, rcx
jmp 0x1400905ac
mov rax, qword [rbp + 0x20]
movsxd rdx, dword [rax]
mov rax, qword [rbp + 8]
add rdx, qword [rax]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400905db
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400907d8
mov rcx, r8
call fcn.140188c8c
mov byte [rbp + 0x40], 0
mov rax, qword [rbp - 0x18]
mov qword [rax], r15
mov rax, qword [rbp + 8]
mov qword [rax], r15
mov rax, qword [rbp + 0x20]
mov dword [rax], r15d
mov rax, qword [rbp - 0x10]
mov qword [rax], r15
mov rax, qword [rbp + 0x10]
mov qword [rax], r15
mov rax, qword [rbp + 0x28]
mov dword [rax], r15d
mov qword [rbp + 0x38], r15
lea rax, vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x30], rax
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x140090655
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140090648
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140090648
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov edx, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.140188c8c
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x140090690
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009068b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400907d8
call fcn.140188c8c
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], recv
mov byte [rbp - 0x58], 0
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400906f4
mov rax, qword [rbp - 0x78]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400906e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400907d8
call fcn.140188c8c
mov qword [rsp + 0x78], r15
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x14009077a
mov rdi, qword [rsp + 0x68]
cmp rbx, rdi
je 0x140090721
mov rcx, rbx
call fcn.1400944d0
add rbx, 0x90
cmp rbx, rdi
jne 0x140090708
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
sub rax, rbx
sar rax, 4
movabs rcx, 0x8e38e38e38e38e39
imul rax, rcx
lea rdx, [rax + rax*8]
shl rdx, 4
mov rax, rbx
cmp rdx, 0x1000
jb 0x140090764
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400907d8
mov rcx, rbx
call fcn.140188c8c
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x1400907b4
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400907af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400907c6
call fcn.140188c8c
add rsp, 0x190
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401925bc
nop
call fcn.1401925bc
nop
call fcn.1401925bc
nop
call fcn.1401925bc
int3