Function at 0x1337c0e83eb0
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 0x1337c0e83f00
call fcn.1337c1027970
mov esi, 0x148
cmp qword [rsi + rdi], r13
jne 0x1337c0e83fdc
cmp byte [r15 + rdi], r13b
jne 0x1337c0e83f1a
call fcn.1337c1027970
mov esi, 0x138
mov rsi, qword [rsi + rdi]
mov rcx, qword [rsi + 0x90]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1337c0e83f68
xor r9d, r9d
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f2f810
mov rbx, rax
test rax, rax
jne 0x1337c0e83f72
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f2e690
mov rbx, rax
test rax, rax
jne 0x1337c0e83f72
jmp 0x1337c0e83fba
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.1337c0e558d0
lea rcx, [rbx + 0x48]
mov dword [rbp + 0x7f], r13d
lea rdx, [rbp + 0x7f]
call fcn.1337c0e8b530
cmp byte [r15 + rdi], r13b
jne 0x1337c0e83fc5
call fcn.1337c1027970
mov esi, 0x148
mov rdx, qword [rsi + rdi]
mov qword [rsi + rdi], rbx
test rdx, rdx
je 0x1337c0e83fdc
call fcn.1337c0e89300
cmp byte [r15 + rdi], r13b
jne 0x1337c0e83fe7
call fcn.1337c1027970
mov rsi, qword [rsi + rdi]
mov qword [rbp - 0x49], rsi
mov r15, qword [rsi]
test r15, r15
jne 0x1337c0e84035
mov edx, 5
lea rcx, [rbp + 0x7f]
call fcn.1337c0e84b90
mov rdx, qword [rax]
mov qword [rax], r13
mov rcx, qword [rsi]
mov qword [rsi], rdx
test rcx, rcx
je 0x1337c0e8401b
call fcn.1337c0efdde0
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1337c0e84029
call fcn.1337c0efdde0
mov r15, qword [rsi]
test r15, r15
je 0x1337c0e847e4
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 0x1337c0e847cf
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 0x1337c0e84131
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x1337c0e84133
nop dword [rax]
cmp rax, rcx
je 0x1337c0e84131
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x1337c0e84120
jmp 0x1337c0e84133
xor eax, eax
mov rbx, r9
test rax, rax
cmovne rbx, rax
cmp rbx, r9
jne 0x1337c0e84757
lea rcx, [rbp - 0x41]
call fcn.1337c0e87a10
nop
movzx eax, byte [rbp - 0x21]
test al, al
je 0x1337c0e84744
mov r9d, 0xbf41bdf
xor r8d, r8d
mov r10, qword [rbp - 0x31]
test r10, r10
je 0x1337c0e841ba
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 0x1337c0e84180
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 0x1337c0e84289
mov rax, qword [rdx + rax*8]
cmp r14, qword [rbx + 0x10]
je 0x1337c0e8428b
cmp rbx, rax
je 0x1337c0e84289
mov rbx, qword [rbx + 8]
cmp r14, qword [rbx + 0x10]
jne 0x1337c0e84278
jmp 0x1337c0e8428b
xor ebx, ebx
test rbx, rbx
je 0x1337c0e8429e
mov rsi, rbx
cmp rbx, rcx
jne 0x1337c0e8464e
jmp 0x1337c0e842a1
mov rsi, rcx
lea rdx, [rbp - 0x41]
lea rcx, [rsp + 0x48]
call fcn.1337c0e956d0
nop
mov rbx, rsi
lea rcx, [rsp + 0x48]
call fcn.1337c0e951d0
test al, al
je 0x1337c0e845ce
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
mov eax, 0x10b
cmp word [rcx + 0x18], ax
jne 0x1337c0e842e4
mov eax, dword [rcx + 0x98]
jmp 0x1337c0e842ea
mov eax, dword [rcx + 0xa8]
test eax, eax
je 0x1337c0e844aa
mov ecx, eax
cmp rcx, qword [rsp + 0x50]
jae 0x1337c0e844aa
add rcx, qword [rsp + 0x48]
je 0x1337c0e844aa
mov edx, dword [rcx]
cmp edx, 8
jbe 0x1337c0e844aa
movzx eax, word [rcx + 4]
mov r8d, 0x100
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
jne 0x1337c0e844aa
cmp word [rcx + 6], 2
jne 0x1337c0e844aa
add edx, 0xfffffff8
add rcx, 8
call fcn.1337c0f74f20
mov rbx, rax
test rax, rax
je 0x1337c0e844aa
xor edx, edx
mov rcx, rax
call fcn.1337c0f79100
mov qword [rbp + 0x7f], rax
mov rcx, rbx
call fcn.1337c0f754e0
cmp qword [rbp + 0x7f], 0
je 0x1337c0e844aa
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.1337c0e952a0
mov rcx, qword [rbp + 0x7f]
call fcn.1337c0f771d0
mov byte [rbp - 0x69], 0
movzx r8d, byte [rsp + 0x40]
test r8b, r8b
je 0x1337c0e843e0
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x30]
xor edi, edi
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x28]
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x79], rcx
mov qword [rbp - 0x71], rdx
mov byte [rbp - 0x69], 1
jmp 0x1337c0e843ea
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
or r13d, 1
test r8b, r8b
je 0x1337c0e844b2
test rbx, rbx
je 0x1337c0e844b2
cmp rbx, rdi
je 0x1337c0e8441b
mov rcx, rbx
call fcn.1337c0e55ac0
add rbx, 0x20
cmp rbx, rdi
jne 0x1337c0e84405
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x1337c0e844b2
dec rbx
and rbx, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [rbx + 0x100]
cmp rcx, rax
sete cl
mov r9, qword [rsp + 0x28]
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 0x1337c0e8449d
cmp byte [rdx + 0xe], 0
jne 0x1337c0e84490
mov rax, qword [rdx + 0x20]
mov qword [r9], rax
mov qword [rdx + 0x20], r9
add dword [rdx + 0x18], 0xffffffff
jne 0x1337c0e844b2
mov rcx, rdx
call fcn.1337c0f2f0e0
jmp 0x1337c0e844b2
mov r8b, 1
mov rcx, rbx
call fcn.1337c0f2e1f0
jmp 0x1337c0e844b2
xor r8d, r8d
mov rcx, rbx
call fcn.1337c0f2e1f0
jmp 0x1337c0e844b2
mov byte [rbp - 0x69], 0
or r13d, 1
mov rbx, rsi
cmp byte [rbp - 0x69], 0
je 0x1337c0e845bd
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor r11d, r11d
mov qword [rsp + 0x38], r11
mov rdi, qword [rbp - 0x79]
mov rbx, qword [rsp + 0x58]
cmp rbx, rdi
je 0x1337c0e84592
mov r9, qword [rsp + 0x30]
nop word [rax + rax]
mov ecx, 0xbf41bdf
mov r8, qword [rbx + 0x10]
xor edx, edx
test r8, r8
je 0x1337c0e84545
xor eax, eax
cmp qword [rbx + 0x18], 0xf
jbe 0x1337c0e84530
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 0x1337c0e84510
jmp 0x1337c0e84545
movsx eax, byte [rax + rbx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edx
mov eax, edx
cmp rax, r8
jb 0x1337c0e84530
mov edx, dword [rbx + 0x10]
shl rdx, 0x20
mov eax, ecx
or rdx, rax
mov qword [rsp + 0x20], rdx
cmp r9, r11
je 0x1337c0e84569
mov qword [r9], rdx
add r9, 8
mov qword [rsp + 0x30], r9
jmp 0x1337c0e84585
lea r8, [rsp + 0x20]
mov rdx, r9
lea rcx, [rsp + 0x28]
call fcn.1337c0e8ba80
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
add rbx, 0x20
cmp rbx, rdi
jne 0x1337c0e844f0
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x19]
mov rcx, qword [rbp - 0x61]
call fcn.1337c0e89890
mov rbx, qword [rbp - 0x19]
lea rcx, [rsp + 0x28]
call fcn.1337c0e556f0
nop
cmp byte [rbp - 0x69], 0
je 0x1337c0e845ce
lea rcx, [rsp + 0x58]
call fcn.1337c0e89230
nop
cmp qword [rsp + 0x48], 0
je 0x1337c0e8464a
call fcn.1337c0e7b660
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 0x1337c0e84624
mov rax, qword [r8 + rdx*8]
cmp dword [rcx + 0x10], 0x246b2b97
je 0x1337c0e84626
nop
cmp rcx, rax
je 0x1337c0e84624
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], 0x246b2b97
jne 0x1337c0e84610
jmp 0x1337c0e84626
xor ecx, ecx
test rcx, rcx
je 0x1337c0e8464a
cmp rcx, r9
je 0x1337c0e8464a
mov ecx, dword [rcx + 0x14]
call fcn.1337c0f38890
mov rdx, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
call fcn.1337c0f388a0
nop
mov r11, qword [rbp - 0x61]
mov rsi, qword [rbp - 0x49]
cmp rbx, qword [rsi + 0x10]
jne 0x1337c0e84714
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 9]
mov rcx, r11
call fcn.1337c0e89890
nop
mov r10, qword [rsp + 0x28]
test r10, r10
je 0x1337c0e84710
dec r10
and r10, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [r10 + 0x100]
cmp rcx, rax
sete dl
mov r9, qword [rsp + 0x28]
mov rax, r9
sub rax, r10
shr rax, 0x10
lea rax, [rax + rax*4]
shl rax, 4
lea rcx, [r10 + 0x108]
add rcx, rax
mov eax, dword [rcx + 4]
sub rcx, rax
test dl, dl
je 0x1337c0e84702
cmp byte [rcx + 0xe], 0
jne 0x1337c0e846fd
mov rax, qword [rcx + 0x20]
mov qword [r9], rax
mov qword [rcx + 0x20], r9
add dword [rcx + 0x18], 0xffffffff
jne 0x1337c0e84710
call fcn.1337c0f2f0e0
jmp 0x1337c0e84710
mov r8b, 1
jmp 0x1337c0e84705
xor r8d, r8d
mov rdx, rcx
mov rcx, r10
call fcn.1337c0f2e1f0
mov rbx, qword [rbp - 9]
add rbx, 0x18
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x20]
lea rdi, [r15 + 0x50]
mov r8, rdi
lea rdx, [rbp + 7]
lea rcx, [rsi + 0x48]
call fcn.1337c0e89be0
mov rbx, qword [rbp + 7]
movzx eax, byte [rbp - 0x21]
mov r14, qword [rbp + 0x67]
jmp 0x1337c0e84748
lea rdi, [r15 + 0x50]
test al, al
je 0x1337c0e8475b
lea rcx, [rbp - 0x41]
call fcn.1337c0e6b070
jmp 0x1337c0e8475b
lea rdi, [r15 + 0x50]
cmp rbx, qword [rsi + 0x50]
jne 0x1337c0e84781
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x20]
mov r8, rdi
lea rdx, [rbp + 0x17]
lea rcx, [rsi + 0x48]
call fcn.1337c0e89be0
jmp 0x1337c0e847cf
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1337c0e847cf
mov rbx, qword [rdi]
mov rdi, qword [rdi + 8]
cmp rbx, rdi
je 0x1337c0e847cf
nop word [rax + rax]
mov ecx, dword [r14 + 4]
shl rcx, 0x20
mov eax, dword [r14]
or rcx, rax
cmp qword [rbx], rcx
jne 0x1337c0e847c6
test r12, r12
je 0x1337c0e847de
mov rdx, r15
mov rcx, qword [rbp + 0x77]
call r12
test al, al
jne 0x1337c0e847de
add rbx, 8
cmp rbx, rdi
jne 0x1337c0e847a0
mov eax, dword [r15]
test eax, eax
je 0x1337c0e847e4
add r15, rax
jmp 0x1337c0e84051
mov rax, qword [r15 + 0x50]
jmp 0x1337c0e847e6
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