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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov r12, rdx
mov r14, rcx
xor r13d, r13d
mov dword [rbp + 0x7f], r13d
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov r15d, setsockopt
cmp byte [r15 + rdi], r13b
jne 0x1337c0e845a0
call fcn.1337c102ac48
mov esi, 0x148
cmp qword [rsi + rdi], r13
jne 0x1337c0e8467c
cmp byte [r15 + rdi], r13b
jne 0x1337c0e845ba
call fcn.1337c102ac48
mov esi, 0x138
mov rsi, qword [rsi + rdi]
mov rcx, qword [rsi + 0x90]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1337c0e84608
xor r9d, r9d
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f32b20
mov rbx, rax
test rax, rax
jne 0x1337c0e84612
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f319a0
mov rbx, rax
test rax, rax
jne 0x1337c0e84612
jmp 0x1337c0e8465a
inc dword [rcx + 0x18]
mov rax, qword [rbx]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
movups xmmword [rbx + 0x18], xmm0
movups xmmword [rbx + 0x28], xmm0
movups xmmword [rbx + 0x38], xmm0
movups xmmword [rbx + 0x48], xmm0
movups xmmword [rbx + 0x58], xmm0
movups xmmword [rbx + 0x68], xmm0
movups xmmword [rbx + 0x78], xmm0
mov qword [rbx], r13
lea rcx, [rbx + 8]
mov dword [rbp + 0x7f], r13d
lea rdx, [rbp + 0x7f]
call fcn.1337c0e55a40
lea rcx, [rbx + 0x48]
mov dword [rbp + 0x7f], r13d
lea rdx, [rbp + 0x7f]
call fcn.1337c0e8c230
cmp byte [r15 + rdi], r13b
jne 0x1337c0e84665
call fcn.1337c102ac48
mov esi, 0x148
mov rdx, qword [rsi + rdi]
mov qword [rsi + rdi], rbx
test rdx, rdx
je 0x1337c0e8467c
call fcn.1337c0e89ef0
cmp byte [r15 + rdi], r13b
jne 0x1337c0e84687
call fcn.1337c102ac48
mov rsi, qword [rsi + rdi]
mov qword [rbp - 0x49], rsi
mov r15, qword [rsi]
test r15, r15
jne 0x1337c0e846d5
mov edx, 5
lea rcx, [rbp + 0x7f]
call fcn.1337c0e85220
mov rdx, qword [rax]
mov qword [rax], r13
mov rcx, qword [rsi]
mov qword [rsi], rdx
test rcx, rcx
je 0x1337c0e846bb
call fcn.1337c0f010e0
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1337c0e846c9
call fcn.1337c0f010e0
mov r15, qword [rsi]
test r15, r15
je 0x1337c0e84e74
movabs rax, 0xcbf29ce484222325
mov qword [rbp - 0x59], rax
movabs rax, 0x100000001b3
mov qword [rbp - 0x51], rax
mov rdx, qword [r15 + 0x50]
mov r8, rdx
shr r8, 0x38
mov r9, rdx
shr r9, 0x30
mov r10, rdx
shr r10, 0x28
mov r11, rdx
shr r11, 0x20
mov rbx, rdx
shr rbx, 0x18
mov rdi, rdx
shr rdi, 0x10
mov rax, rdx
shr rax, 8
test rdx, rdx
je 0x1337c0e84e5f
movzx ecx, dl
xor rcx, qword [rbp - 0x59]
imul rcx, qword [rbp - 0x51]
movzx eax, al
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
movzx eax, dil
xor rcx, rax
movabs rdi, 0x100000001b3
imul rcx, rdi
movzx eax, bl
xor rcx, rax
imul rcx, rdi
movzx eax, r11b
xor rcx, rax
imul rcx, rdi
movzx eax, r10b
xor rcx, rax
imul rcx, rdi
movzx eax, r9b
xor rcx, rax
imul rcx, rdi
xor rcx, r8
imul rcx, rdi
mov r8, qword [rsi + 0x78]
and r8, rcx
add r8, r8
mov rcx, qword [rsi + 0x60]
mov rax, qword [rcx + r8*8 + 8]
mov r9, qword [rsi + 0x50]
cmp rax, r9
je 0x1337c0e847d1
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x1337c0e847d3
nop dword [rax]
cmp rax, rcx
je 0x1337c0e847d1
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x1337c0e847c0
jmp 0x1337c0e847d3
xor eax, eax
mov rbx, r9
test rax, rax
cmovne rbx, rax
cmp rbx, r9
jne 0x1337c0e84df3
lea rcx, [rbp - 0x41]
call fcn.1337c0e885a0
nop
movzx eax, byte [rbp - 0x21]
test al, al
je 0x1337c0e84de0
mov r9d, 0xbf41bdf
xor r8d, r8d
mov r10, qword [rbp - 0x31]
test r10, r10
je 0x1337c0e8485a
xor ecx, ecx
mov r11, qword [rbp - 0x29]
mov rbx, qword [rbp - 0x41]
nop dword [rax + rax]
lea rax, [rbp - 0x41]
cmp r11, 7
cmova rax, rbx
movzx edx, word [rax + rcx*2]
lea eax, [rdx - 0x41]
movzx ecx, dx
or cx, 0x20
cmp ax, 0x19
cmova cx, dx
movzx eax, cx
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov ecx, r8d
cmp rcx, r10
jb 0x1337c0e84820
lea r11, [rsi + 8]
mov qword [rbp - 0x61], r11
mov r14d, r10d
shl r14, 0x20
mov eax, r9d
or r14, rax
movzx r8d, r14b
movabs rax, 0xcbf29ce484222325
xor r8, rax
imul r8, rdi
mov rax, r14
shr rax, 8
movzx ecx, al
xor r8, rcx
imul r8, rdi
mov rax, r14
shr rax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, rdi
mov rax, r14
shr rax, 0x18
movzx ecx, al
xor r8, rcx
imul r8, rdi
movzx eax, r10b
xor r8, rax
imul r8, rdi
mov rax, r14
shr rax, 0x28
movzx ecx, al
xor r8, rcx
imul r8, rdi
mov rax, r14
shr rax, 0x30
movzx ecx, al
xor r8, rcx
imul r8, rdi
mov rax, r14
shr rax, 0x38
xor r8, rax
imul r8, rdi
mov rax, qword [rsi + 0x38]
and rax, r8
add rax, rax
mov rdx, qword [rsi + 0x20]
mov rbx, qword [rdx + rax*8 + 8]
mov rcx, qword [rsi + 0x10]
cmp rbx, rcx
je 0x1337c0e84929
mov rax, qword [rdx + rax*8]
cmp r14, qword [rbx + 0x10]
je 0x1337c0e8492b
cmp rbx, rax
je 0x1337c0e84929
mov rbx, qword [rbx + 8]
cmp r14, qword [rbx + 0x10]
jne 0x1337c0e84918
jmp 0x1337c0e8492b
xor ebx, ebx
test rbx, rbx
je 0x1337c0e8493e
mov rsi, rbx
cmp rbx, rcx
jne 0x1337c0e84cee
jmp 0x1337c0e84941
mov rsi, rcx
lea rdx, [rbp - 0x41]
lea rcx, [rsp + 0x48]
call fcn.1337c0e97110
nop
mov rbx, rsi
lea rcx, [rsp + 0x48]
call fcn.1337c0e96c20
test al, al
je 0x1337c0e84c6a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
mov eax, 0x10b
cmp word [rcx + 0x18], ax
jne 0x1337c0e84984
mov eax, dword [rcx + 0x98]
jmp 0x1337c0e8498a
mov eax, dword [rcx + 0xa8]
test eax, eax
je 0x1337c0e84b4c
mov ecx, eax
cmp rcx, qword [rsp + 0x50]
jae 0x1337c0e84b4c
add rcx, qword [rsp + 0x48]
je 0x1337c0e84b4c
mov edx, dword [rcx]
cmp edx, 8
jbe 0x1337c0e84b4c
movzx eax, word [rcx + 4]
mov r8d, 0x100
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
jne 0x1337c0e84b4c
cmp word [rcx + 6], 2
jne 0x1337c0e84b4c
add edx, 0xfffffff8
add rcx, 8
call fcn.1337c0f78380
mov rbx, rax
test rax, rax
je 0x1337c0e84b4c
xor edx, edx
mov rcx, rax
call fcn.1337c0f7c560
mov qword [rsp + 0x40], rax
mov rcx, rbx
call fcn.1337c0f78940
cmp qword [rsp + 0x40], 0
je 0x1337c0e84b4c
lea rax, [rsp + 0x40]
mov qword [rbp + 0x7f], rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x7f]
call fcn.1337c0e96cf0
mov rcx, qword [rsp + 0x40]
call fcn.1337c0f7a630
mov byte [rbp - 0x69], 0
movzx r8d, byte [rsp + 0x38]
test r8b, r8b
je 0x1337c0e84a82
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x28]
xor edi, edi
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0x20]
xor ebx, ebx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x79], rcx
mov qword [rbp - 0x71], rdx
mov byte [rbp - 0x69], 1
jmp 0x1337c0e84a8c
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
or r13d, 1
test r8b, r8b
je 0x1337c0e84b54
test rbx, rbx
je 0x1337c0e84b54
cmp rbx, rdi
je 0x1337c0e84abd
mov rcx, rbx
call fcn.1337c0e55c30
add rbx, 0x20
cmp rbx, rdi
jne 0x1337c0e84aa7
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1337c0e84b54
dec rbx
and rbx, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [rbx + 0x100]
cmp rcx, rax
sete cl
mov r9, qword [rsp + 0x20]
mov rax, r9
sub rax, rbx
shr rax, 0x10
lea rdx, [rax + rax*4]
shl rdx, 4
add rdx, 0x108
add rdx, rbx
mov eax, dword [rdx + 4]
sub rdx, rax
test cl, cl
je 0x1337c0e84b3f
cmp byte [rdx + 0xe], 0
jne 0x1337c0e84b32
mov rax, qword [rdx + 0x20]
mov qword [r9], rax
mov qword [rdx + 0x20], r9
add dword [rdx + 0x18], 0xffffffff
jne 0x1337c0e84b54
mov rcx, rdx
call fcn.1337c0f323f0
jmp 0x1337c0e84b54
mov r8b, 1
mov rcx, rbx
call fcn.1337c0f31500
jmp 0x1337c0e84b54
xor r8d, r8d
mov rcx, rbx
call fcn.1337c0f31500
jmp 0x1337c0e84b54
mov byte [rbp - 0x69], 0
or r13d, 1
mov rbx, rsi
cmp byte [rbp - 0x69], 0
je 0x1337c0e84c59
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
xor r11d, r11d
mov qword [rsp + 0x30], r11
mov rdi, qword [rbp - 0x79]
mov rbx, qword [rsp + 0x58]
cmp rbx, rdi
je 0x1337c0e84c30
mov r9, qword [rsp + 0x28]
nop dword [rax]
mov ecx, 0xbf41bdf
mov r8, qword [rbx + 0x10]
xor edx, edx
test r8, r8
je 0x1337c0e84be5
xor eax, eax
cmp qword [rbx + 0x18], 0xf
jbe 0x1337c0e84bd0
mov r10, qword [rbx]
nop dword [rax]
movsx eax, byte [r10 + rax]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edx
mov eax, edx
cmp rax, r8
jb 0x1337c0e84bb0
jmp 0x1337c0e84be5
movsx eax, byte [rax + rbx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edx
mov eax, edx
cmp rax, r8
jb 0x1337c0e84bd0
mov edx, dword [rbx + 0x10]
shl rdx, 0x20
mov eax, ecx
or rdx, rax
mov qword [rbp + 0x7f], rdx
cmp r9, r11
je 0x1337c0e84c08
mov qword [r9], rdx
add r9, 8
mov qword [rsp + 0x28], r9
jmp 0x1337c0e84c23
lea r8, [rbp + 0x7f]
mov rdx, r9
lea rcx, [rsp + 0x20]
call fcn.1337c0e8c780
mov r11, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
add rbx, 0x20
cmp rbx, rdi
jne 0x1337c0e84b90
mov qword [rbp + 0x7f], r14
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x7f]
lea rdx, [rbp - 0x19]
mov rcx, qword [rbp - 0x61]
call fcn.1337c0e8a4b0
mov rbx, qword [rbp - 0x19]
lea rcx, [rsp + 0x20]
call fcn.1337c0e55850
nop
cmp byte [rbp - 0x69], 0
je 0x1337c0e84c6a
lea rcx, [rsp + 0x58]
call fcn.1337c0e89e10
nop
cmp qword [rsp + 0x48], 0
je 0x1337c0e84cea
call fcn.1337c0e7b840
mov rdx, qword [rax + 0x30]
movabs rcx, 0x93008e169fe2dfe0
and rdx, rcx
add rdx, rdx
mov r8, qword [rax + 0x18]
mov rcx, qword [r8 + rdx*8 + 8]
mov r9, qword [rax + 8]
cmp rcx, r9
je 0x1337c0e84cc4
mov rax, qword [r8 + rdx*8]
cmp dword [rcx + 0x10], 0x246b2b97
je 0x1337c0e84cc6
nop word [rax + rax]
cmp rcx, rax
je 0x1337c0e84cc4
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], 0x246b2b97
jne 0x1337c0e84cb0
jmp 0x1337c0e84cc6
xor ecx, ecx
test rcx, rcx
je 0x1337c0e84cea
cmp rcx, r9
je 0x1337c0e84cea
mov ecx, dword [rcx + 0x14]
call fcn.1337c0f3bce0
mov rdx, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
call fcn.1337c0f3bcf0
nop
mov r11, qword [rbp - 0x61]
mov rsi, qword [rbp - 0x49]
cmp rbx, qword [rsi + 0x10]
jne 0x1337c0e84db2
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov qword [rbp + 0x7f], r14
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x7f]
lea rdx, [rbp - 9]
mov rcx, r11
call fcn.1337c0e8a4b0
nop
mov r10, qword [rsp + 0x20]
test r10, r10
je 0x1337c0e84dae
dec r10
and r10, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [r10 + 0x100]
cmp rcx, rax
sete cl
mov r9, qword [rsp + 0x20]
mov rax, r9
sub rax, r10
shr rax, 0x10
lea rax, [rax + rax*4]
shl rax, 4
lea rdx, [r10 + 0x108]
add rdx, rax
mov eax, dword [rdx + 4]
sub rdx, rax
test cl, cl
je 0x1337c0e84da3
cmp byte [rdx + 0xe], 0
jne 0x1337c0e84d9e
mov rax, qword [rdx + 0x20]
mov qword [r9], rax
mov qword [rdx + 0x20], r9
add dword [rdx + 0x18], 0xffffffff
jne 0x1337c0e84dae
mov rcx, rdx
call fcn.1337c0f323f0
jmp 0x1337c0e84dae
mov r8b, 1
jmp 0x1337c0e84da6
xor r8d, r8d
mov rcx, r10
call fcn.1337c0f31500
mov rbx, qword [rbp - 9]
add rbx, 0x18
mov qword [rbp + 0x7f], rbx
lea r9, [rbp + 0x7f]
lea rdi, [r15 + 0x50]
mov r8, rdi
lea rdx, [rbp + 7]
lea rcx, [rsi + 0x48]
call fcn.1337c0e8a800
mov rbx, qword [rbp + 7]
movzx eax, byte [rbp - 0x21]
mov r14, qword [rbp + 0x67]
jmp 0x1337c0e84de4
lea rdi, [r15 + 0x50]
test al, al
je 0x1337c0e84df7
lea rcx, [rbp - 0x41]
call fcn.1337c0e6b270
jmp 0x1337c0e84df7
lea rdi, [r15 + 0x50]
cmp rbx, qword [rsi + 0x50]
jne 0x1337c0e84e1b
mov qword [rbp + 0x7f], 0
lea r9, [rbp + 0x7f]
mov r8, rdi
lea rdx, [rbp + 0x17]
lea rcx, [rsi + 0x48]
call fcn.1337c0e8a800
jmp 0x1337c0e84e5f
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1337c0e84e5f
mov rbx, qword [rdi]
mov rdi, qword [rdi + 8]
cmp rbx, rdi
je 0x1337c0e84e5f
mov ecx, dword [r14 + 4]
shl rcx, 0x20
mov eax, dword [r14]
or rcx, rax
cmp qword [rbx], rcx
jne 0x1337c0e84e56
test r12, r12
je 0x1337c0e84e6e
mov rdx, r15
mov rcx, qword [rbp + 0x77]
call r12
test al, al
jne 0x1337c0e84e6e
add rbx, 8
cmp rbx, rdi
jne 0x1337c0e84e30
mov eax, dword [r15]
test eax, eax
je 0x1337c0e84e74
add r15, rax
jmp 0x1337c0e846f1
mov rax, qword [r15 + 0x50]
jmp 0x1337c0e84e76
xor eax, eax
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret