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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov r15, rdx
mov r12, rcx
xor r13d, r13d
mov dword [rbp + 0x7f], r13d
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov r14d, setsockopt
cmp byte [r14 + rdi], r13b
jne 0x1337c0e8553b
call fcn.1337c102dde0
mov esi, 0x148
cmp qword [rsi + rdi], r13
jne 0x1337c0e85617
cmp byte [r14 + rdi], r13b
jne 0x1337c0e85555
call fcn.1337c102dde0
mov esi, 0x138
mov rsi, qword [rsi + rdi]
mov rcx, qword [rsi + 0x90]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1337c0e855a3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f358e0
mov rbx, rax
test rax, rax
jne 0x1337c0e855ad
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f34760
mov rbx, rax
test rax, rax
jne 0x1337c0e855ad
jmp 0x1337c0e855f5
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.1337c0e55a50
lea rcx, [rbx + 0x48]
mov dword [rbp + 0x7f], r13d
lea rdx, [rbp + 0x7f]
call fcn.1337c0e8e260
cmp byte [r14 + rdi], r13b
jne 0x1337c0e85600
call fcn.1337c102dde0
mov esi, 0x148
mov rdx, qword [rsi + rdi]
mov qword [rsi + rdi], rbx
test rdx, rdx
je 0x1337c0e85617
call fcn.1337c0e8c050
cmp byte [r14 + rdi], r13b
jne 0x1337c0e85622
call fcn.1337c102dde0
mov rsi, qword [rsi + rdi]
mov qword [rsp + 0x20], rsi
mov r14, qword [rsi]
test r14, r14
jne 0x1337c0e85671
mov edx, 5
lea rcx, [rbp + 0x7f]
call fcn.1337c0e860a0
mov rdx, qword [rax]
mov qword [rax], r13
mov rcx, qword [rsi]
mov qword [rsi], rdx
test rcx, rcx
je 0x1337c0e85657
call fcn.1337c0f03f60
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1337c0e85665
call fcn.1337c0f03f60
mov r14, qword [rsi]
test r14, r14
je 0x1337c0e85cf6
mov rdx, qword [r14 + 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 0x1337c0e85ce1
movzx ecx, dl
movabs rsi, 0xcbf29ce484222325
xor rcx, rsi
movabs rsi, 0x100000001b3
imul rcx, rsi
movzx eax, al
xor rcx, rax
imul rcx, rsi
movzx eax, dil
xor rcx, rax
imul rcx, rsi
movzx eax, bl
xor rcx, rax
imul rcx, rsi
movzx eax, r11b
xor rcx, rax
imul rcx, rsi
movzx eax, r10b
xor rcx, rax
imul rcx, rsi
movzx eax, r9b
xor rcx, rax
imul rcx, rsi
xor rcx, r8
imul rcx, rsi
mov rdi, qword [rsp + 0x20]
mov r8, qword [rdi + 0x78]
and r8, rcx
add r8, r8
mov rcx, qword [rdi + 0x60]
mov rax, qword [rcx + r8*8 + 8]
mov r9, qword [rdi + 0x50]
cmp rax, r9
je 0x1337c0e85751
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x1337c0e85753
nop
cmp rax, rcx
je 0x1337c0e85751
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x1337c0e85740
jmp 0x1337c0e85753
xor eax, eax
mov rbx, r9
test rax, rax
cmovne rbx, rax
cmp rbx, r9
jne 0x1337c0e85c67
lea rcx, [rbp - 0x41]
call fcn.1337c0e89eb0
nop
movzx eax, byte [rbp - 0x21]
test al, al
je 0x1337c0e85c54
mov r9d, 0xbf41bdf
xor r8d, r8d
mov r10, qword [rbp - 0x31]
test r10, r10
je 0x1337c0e857da
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 0x1337c0e857a0
lea r11, [rdi + 8]
mov qword [rbp + 0x7f], r11
mov esi, r10d
shl rsi, 0x20
mov eax, r9d
or rsi, rax
movzx r8d, sil
movabs rax, 0xcbf29ce484222325
xor r8, rax
movabs r9, 0x100000001b3
imul r8, r9
mov rax, rsi
shr rax, 8
movzx ecx, al
xor r8, rcx
imul r8, r9
mov rax, rsi
shr rax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, r9
mov rax, rsi
shr rax, 0x18
movzx ecx, al
xor r8, rcx
imul r8, r9
movzx eax, r10b
xor r8, rax
imul r8, r9
mov rax, rsi
shr rax, 0x28
movzx ecx, al
xor r8, rcx
imul r8, r9
mov rax, rsi
shr rax, 0x30
movzx ecx, al
xor r8, rcx
imul r8, r9
mov rax, rsi
shr rax, 0x38
xor r8, rax
imul r8, r9
mov rax, qword [rdi + 0x38]
and rax, r8
add rax, rax
mov rdx, qword [rdi + 0x20]
mov rbx, qword [rdx + rax*8 + 8]
mov rcx, qword [rdi + 0x10]
cmp rbx, rcx
je 0x1337c0e858b3
mov rax, qword [rdx + rax*8]
cmp rsi, qword [rbx + 0x10]
je 0x1337c0e858b5
cmp rbx, rax
je 0x1337c0e858b3
mov rbx, qword [rbx + 8]
cmp rsi, qword [rbx + 0x10]
jne 0x1337c0e858a2
jmp 0x1337c0e858b5
xor ebx, ebx
test rbx, rbx
je 0x1337c0e858c5
cmp rbx, rcx
jne 0x1337c0e85b6e
jmp 0x1337c0e858c8
mov rbx, rcx
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x71]
call fcn.1337c0e9a050
nop
lea rcx, [rbp - 0x71]
call fcn.1337c0e99b60
test al, al
je 0x1337c0e85af2
mov rax, qword [rbp - 0x71]
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
mov eax, 0x10b
cmp word [rcx + 0x18], ax
jne 0x1337c0e85905
mov eax, dword [rcx + 0x98]
jmp 0x1337c0e8590b
mov eax, dword [rcx + 0xa8]
test eax, eax
je 0x1337c0e859d5
mov ecx, eax
cmp rcx, qword [rbp - 0x69]
jae 0x1337c0e859d5
add rcx, qword [rbp - 0x71]
je 0x1337c0e859d5
mov edx, dword [rcx]
cmp edx, 8
jbe 0x1337c0e859d5
movzx eax, word [rcx + 4]
mov r8d, 0x100
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
jne 0x1337c0e859d5
cmp word [rcx + 6], 2
jne 0x1337c0e859d5
add edx, 0xfffffff8
add rcx, 8
call fcn.1337c0f7b020
mov rdi, rax
test rax, rax
je 0x1337c0e859d5
xor edx, edx
mov rcx, rax
call fcn.1337c0f7f200
mov qword [rbp - 0x79], rax
mov rcx, rdi
call fcn.1337c0f7b5e0
cmp qword [rbp - 0x79], 0
je 0x1337c0e859d5
lea rax, [rbp - 0x79]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.1337c0e99c30
mov rcx, qword [rbp - 0x79]
call fcn.1337c0f7d2d0
xor al, al
mov byte [rbp - 0x49], al
cmp byte [rsp + 0x48], al
je 0x1337c0e859da
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x59], rcx
mov qword [rbp - 0x51], rdx
mov al, 1
jmp 0x1337c0e859d7
xor al, al
mov byte [rbp - 0x49], al
or r13d, 1
test al, al
je 0x1337c0e85ae0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor r11d, r11d
mov qword [rsp + 0x40], r11
mov rdi, qword [rbp - 0x59]
mov rbx, qword [rbp - 0x61]
cmp rbx, rdi
je 0x1337c0e85ab2
mov r9, qword [rsp + 0x38]
nop dword [rax]
mov ecx, 0xbf41bdf
mov r8, qword [rbx + 0x10]
xor edx, edx
test r8, r8
je 0x1337c0e85a65
xor eax, eax
cmp qword [rbx + 0x18], 0xf
jbe 0x1337c0e85a50
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 0x1337c0e85a30
jmp 0x1337c0e85a65
movsx eax, byte [rax + rbx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edx
mov eax, edx
cmp rax, r8
jb 0x1337c0e85a50
mov edx, dword [rbx + 0x10]
shl rdx, 0x20
mov eax, ecx
or rdx, rax
mov qword [rsp + 0x28], rdx
cmp r9, r11
je 0x1337c0e85a89
mov qword [r9], rdx
add r9, 8
mov qword [rsp + 0x38], r9
jmp 0x1337c0e85aa5
lea r8, [rsp + 0x28]
mov rdx, r9
lea rcx, [rsp + 0x30]
call fcn.1337c0e8e7d0
mov r11, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
add rbx, 0x20
cmp rbx, rdi
jne 0x1337c0e85a10
mov qword [rsp + 0x28], rsi
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x28]
lea rdx, [rbp - 0x19]
mov rcx, qword [rbp + 0x7f]
call fcn.1337c0e8c4d0
mov rbx, qword [rbp - 0x19]
lea rcx, [rsp + 0x30]
call fcn.1337c0e55860
movzx eax, byte [rbp - 0x49]
test al, al
je 0x1337c0e85aed
lea rcx, [rbp - 0x61]
call fcn.1337c0e8bf70
mov rdi, qword [rsp + 0x20]
cmp qword [rbp - 0x71], 0
je 0x1337c0e85b6a
call fcn.1337c0e7c6d0
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 0x1337c0e85b45
mov rax, qword [r8 + rdx*8]
cmp dword [rcx + 0x10], 0x246b2b97
je 0x1337c0e85b47
cmp rcx, rax
je 0x1337c0e85b45
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], 0x246b2b97
jne 0x1337c0e85b31
jmp 0x1337c0e85b47
xor ecx, ecx
test rcx, rcx
je 0x1337c0e85b6a
cmp rcx, r9
je 0x1337c0e85b6a
mov ecx, dword [rcx + 0x14]
call fcn.1337c0f3e9a0
mov rdx, qword [rbp - 0x71]
mov rcx, 0xffffffffffffffff
call fcn.1337c0f3e9b0
nop
mov r11, qword [rbp + 0x7f]
cmp rbx, qword [rdi + 0x10]
jne 0x1337c0e85c2a
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
mov qword [rbp + 0x7f], rsi
lea r9, [rsp + 0x30]
lea r8, [rbp + 0x7f]
lea rdx, [rbp - 9]
mov rcx, r11
call fcn.1337c0e8c4d0
nop
mov r9, qword [rsp + 0x30]
test r9, r9
je 0x1337c0e85c26
lea r10, [r9 - 1]
and r10, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [r10 + 0x100]
cmp rcx, rax
sete cl
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 0x1337c0e85c1b
cmp byte [rdx + 0xe], 0
jne 0x1337c0e85c16
mov rax, qword [rdx + 0x20]
mov qword [r9], rax
mov qword [rdx + 0x20], r9
add dword [rdx + 0x18], 0xffffffff
jne 0x1337c0e85c26
mov rcx, rdx
call fcn.1337c0f351b0
jmp 0x1337c0e85c26
mov r8b, 1
jmp 0x1337c0e85c1e
xor r8d, r8d
mov rcx, r10
call fcn.1337c0f342c0
mov rbx, qword [rbp - 9]
add rbx, 0x18
mov qword [rbp + 0x7f], rbx
lea r9, [rbp + 0x7f]
lea rsi, [r14 + 0x50]
mov r8, rsi
lea rdx, [rbp + 7]
lea rcx, [rdi + 0x48]
call fcn.1337c0e8c810
mov rbx, qword [rbp + 7]
movzx eax, byte [rbp - 0x21]
jmp 0x1337c0e85c58
lea rsi, [r14 + 0x50]
test al, al
je 0x1337c0e85c6b
lea rcx, [rbp - 0x41]
call fcn.1337c0e6b8e0
jmp 0x1337c0e85c6b
lea rsi, [r14 + 0x50]
cmp rbx, qword [rdi + 0x50]
jne 0x1337c0e85c8f
mov qword [rbp + 0x7f], 0
lea r9, [rbp + 0x7f]
mov r8, rsi
lea rdx, [rbp + 0x17]
lea rcx, [rdi + 0x48]
call fcn.1337c0e8c810
jmp 0x1337c0e85ce1
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1337c0e85ce1
mov rbx, qword [rdi]
mov rdi, qword [rdi + 8]
cmp rbx, rdi
je 0x1337c0e85ce1
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [r12 + 4]
shl rcx, 0x20
mov eax, dword [r12]
or rcx, rax
cmp qword [rbx], rcx
jne 0x1337c0e85cd8
test r15, r15
je 0x1337c0e85cf0
mov rdx, r14
mov rcx, qword [rbp + 0x77]
call r15
test al, al
jne 0x1337c0e85cf0
add rbx, 8
cmp rbx, rdi
jne 0x1337c0e85cb0
mov eax, dword [r14]
test eax, eax
je 0x1337c0e85cf6
add r14, rax
jmp 0x1337c0e85671
mov rax, qword [r14 + 0x50]
jmp 0x1337c0e85cf8
xor eax, eax
mov rbx, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret