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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xe8
mov r14, rcx
xor r15d, r15d
mov esi, r15d
mov dword [rbp + 0x6f], r15d
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov r12d, setsockopt
cmp byte [r12 + rdi], sil
jne 0x1337c0e840a7
call fcn.1337c0fd6438
mov r13d, 0x148
cmp qword [rdi + r13], rsi
jne 0x1337c0e84185
cmp byte [r12 + rdi], sil
jne 0x1337c0e840c2
call fcn.1337c0fd6438
mov esi, 0x138
mov rsi, qword [rsi + rdi]
mov rcx, qword [rsi + 0x90]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1337c0e84113
xor r9d, r9d
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0ee0960
mov rbx, rax
test rax, rax
jne 0x1337c0e8411d
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0edf7d0
mov rbx, rax
test rax, rax
jne 0x1337c0e8411d
mov rbx, r15
jmp 0x1337c0e84165
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], r15
lea rcx, [rbx + 8]
mov dword [rbp + 0x77], r15d
lea rdx, [rbp + 0x77]
call fcn.1337c0e558f0
lea rcx, [rbx + 0x48]
mov dword [rbp + 0x77], r15d
lea rdx, [rbp + 0x77]
call fcn.1337c0e8b850
cmp byte [r12 + rdi], r15b
jne 0x1337c0e84170
call fcn.1337c0fd6438
mov rdx, qword [rdi + r13]
mov qword [rdi + r13], rbx
test rdx, rdx
je 0x1337c0e84182
call fcn.1337c0e89660
mov esi, r15d
cmp byte [r12 + rdi], r15b
jne 0x1337c0e84190
call fcn.1337c0fd6438
mov r12, qword [rdi + r13]
mov r13, qword [r12]
test r13, r13
jne 0x1337c0e841dd
lea edx, [r13 + 5]
lea rcx, [rbp + 0x77]
call fcn.1337c0e84a40
mov rdx, qword [rax]
mov qword [rax], r15
mov rcx, qword [r12]
mov qword [r12], rdx
test rcx, rcx
je 0x1337c0e841c2
call fcn.1337c0edee80
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x1337c0e841d0
call fcn.1337c0edee80
mov r13, qword [r12]
test r13, r13
je 0x1337c0e84865
movabs rax, 0xcbf29ce484222325
mov qword [rbp + 0x7f], rax
movabs r15, 0x100000001b3
nop word [rax + rax]
mov rdx, qword [r13 + 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 0x1337c0e8484f
movzx ecx, dl
xor rcx, qword [rbp + 0x7f]
imul rcx, r15
movzx eax, al
xor rcx, rax
imul rcx, r15
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 [r12 + 0x78]
and r8, rcx
add r8, r8
mov rcx, qword [r12 + 0x60]
mov rax, qword [rcx + r8*8 + 8]
mov r9, qword [r12 + 0x50]
cmp rax, r9
je 0x1337c0e842d4
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x1337c0e842d6
cmp rax, rcx
je 0x1337c0e842d4
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x1337c0e842c3
jmp 0x1337c0e842d6
xor eax, eax
mov rbx, r9
test rax, rax
cmovne rbx, rax
cmp rbx, r9
jne 0x1337c0e847eb
lea rcx, [rbp - 0x51]
call fcn.1337c0e87e10
nop
movzx eax, byte [rbp - 0x31]
test al, al
je 0x1337c0e847de
mov r14d, 0xbf41bdf
mov r15, qword [rbp - 0x41]
xor r8d, r8d
test r15, r15
je 0x1337c0e8435a
xor ecx, ecx
mov r9, qword [rbp - 0x39]
mov r10, qword [rbp - 0x51]
nop dword [rax + rax]
lea rax, [rbp - 0x51]
cmp r9, 7
cmova rax, r10
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, r14d
imul r14d, eax, 0x1000193
inc r8d
mov ecx, r8d
cmp rcx, r15
jb 0x1337c0e84320
mov eax, r14d
mov r8d, r15d
shl r8, 0x20
or r8, rax
mov rax, r8
shr rax, 8
movzx edx, al
movzx eax, r8b
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
imul rax, rdi
xor rdx, rax
imul rdx, rdi
mov rax, r8
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, r8
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, r8
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, r8
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, r8
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, r8
shr rax, 0x38
xor rdx, rax
imul rdx, rdi
mov rax, qword [r12 + 0x38]
and rax, rdx
add rax, rax
mov rdx, qword [r12 + 0x20]
mov rbx, qword [rdx + rax*8 + 8]
mov rcx, qword [r12 + 0x10]
cmp rbx, rcx
je 0x1337c0e84431
mov rax, qword [rdx + rax*8]
cmp r8, qword [rbx + 0x10]
je 0x1337c0e84433
nop dword [rax]
cmp rbx, rax
je 0x1337c0e84431
mov rbx, qword [rbx + 8]
cmp r8, qword [rbx + 0x10]
jne 0x1337c0e84420
jmp 0x1337c0e84433
xor ebx, ebx
test rbx, rbx
je 0x1337c0e84443
cmp rbx, rcx
jne 0x1337c0e846dc
jmp 0x1337c0e84446
mov rbx, rcx
lea rdx, [rbp - 0x51]
lea rcx, [rsp + 0x48]
call fcn.1337c0e94700
nop
lea rcx, [rsp + 0x48]
call fcn.1337c0e94210
test al, al
je 0x1337c0e84665
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
mov eax, 0x10b
cmp word [rcx + 0x18], ax
jne 0x1337c0e84486
mov eax, dword [rcx + 0x98]
jmp 0x1337c0e8448c
mov eax, dword [rcx + 0xa8]
test eax, eax
je 0x1337c0e84557
mov ecx, eax
cmp rcx, qword [rbp - 0x79]
jae 0x1337c0e84557
add rcx, qword [rsp + 0x48]
je 0x1337c0e84557
mov edx, dword [rcx]
cmp edx, 8
jbe 0x1337c0e84557
movzx eax, word [rcx + 4]
mov r8d, 0x100
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
jne 0x1337c0e84557
cmp word [rcx + 6], 2
jne 0x1337c0e84557
add edx, 0xfffffff8
add rcx, 8
call fcn.1337c0f255f0
mov rdi, rax
test rax, rax
je 0x1337c0e84557
xor edx, edx
mov rcx, rax
call fcn.1337c0f29680
mov qword [rbp + 0x77], rax
mov rcx, rdi
call fcn.1337c0f25ba0
cmp qword [rbp + 0x77], 0
je 0x1337c0e84557
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.1337c0e942e0
mov rcx, qword [rbp + 0x77]
call fcn.1337c0f277d0
xor al, al
mov byte [rbp - 0x59], al
cmp byte [rsp + 0x40], al
je 0x1337c0e8455c
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x28]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rcx
mov qword [rbp - 0x61], rdx
mov al, 1
jmp 0x1337c0e84559
xor al, al
mov byte [rbp - 0x59], al
or esi, 1
mov dword [rbp + 0x6f], esi
test al, al
je 0x1337c0e84657
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor edi, edi
mov qword [rsp + 0x38], rdi
mov rsi, qword [rbp - 0x69]
mov rbx, qword [rbp - 0x71]
cmp rbx, rsi
je 0x1337c0e84618
mov r9, qword [rsp + 0x30]
mov r8d, 0xbf41bdf
mov r10, qword [rbx + 0x10]
xor ecx, ecx
test r10, r10
je 0x1337c0e845ca
mov r11, qword [rbx + 0x18]
xor edx, edx
mov rax, rbx
cmp r11, 0xf
jbe 0x1337c0e845b3
mov rax, qword [rbx]
movsx eax, byte [rax + rdx]
xor eax, r8d
imul r8d, eax, 0x1000193
inc ecx
mov edx, ecx
cmp rdx, r10
jb 0x1337c0e845a7
mov ecx, dword [rbx + 0x10]
shl rcx, 0x20
mov eax, r8d
or rcx, rax
mov qword [rsp + 0x20], rcx
cmp r9, rdi
je 0x1337c0e845ef
mov qword [r9], rcx
add r9, 8
mov qword [rsp + 0x30], r9
jmp 0x1337c0e8460b
lea r8, [rsp + 0x20]
mov rdx, r9
lea rcx, [rsp + 0x28]
call fcn.1337c0e8bda0
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
add rbx, 0x20
cmp rbx, rsi
jne 0x1337c0e84590
lea rcx, [r12 + 8]
mov eax, r15d
shl rax, 0x20
mov edx, r14d
or rax, rdx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x29]
call fcn.1337c0e89bf0
mov rbx, qword [rbp - 0x29]
lea rcx, [rsp + 0x28]
call fcn.1337c0e55710
movzx eax, byte [rbp - 0x59]
mov esi, dword [rbp + 0x6f]
test al, al
je 0x1337c0e84665
lea rcx, [rbp - 0x71]
call fcn.1337c0e89590
nop
cmp qword [rsp + 0x48], 0
je 0x1337c0e846dc
call fcn.1337c0e7c140
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 0x1337c0e846b6
mov rax, qword [r8 + rdx*8]
mov edx, 0x246b2b97
cmp edx, dword [rcx + 0x10]
je 0x1337c0e846b8
cmp rcx, rax
je 0x1337c0e846b6
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], edx
jne 0x1337c0e846a6
jmp 0x1337c0e846b8
xor ecx, ecx
test rcx, rcx
je 0x1337c0e846dc
cmp rcx, r9
je 0x1337c0e846dc
mov ecx, dword [rcx + 0x14]
call fcn.1337c0ee9ac0
mov rdx, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
call fcn.1337c0ee9ad0
nop
cmp rbx, qword [r12 + 0x10]
jne 0x1337c0e847b2
lea rcx, [r12 + 8]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 0
mov edx, r15d
shl rdx, 0x20
mov eax, r14d
or rdx, rax
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x19]
call fcn.1337c0e89bf0
nop
mov r10, qword [rsp + 0x28]
test r10, r10
je 0x1337c0e847ae
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 0x1337c0e847a0
cmp byte [rcx + 0xe], 0
jne 0x1337c0e8479b
mov rax, qword [rcx + 0x20]
mov qword [r9], rax
mov qword [rcx + 0x20], r9
add dword [rcx + 0x18], 0xffffffff
jne 0x1337c0e847ae
call fcn.1337c0ee0230
jmp 0x1337c0e847ae
mov r8b, 1
jmp 0x1337c0e847a3
xor r8d, r8d
mov rdx, rcx
mov rcx, r10
call fcn.1337c0edf330
mov rbx, qword [rbp - 0x19]
lea rcx, [r12 + 0x48]
add rbx, 0x18
mov qword [rsp + 0x20], rbx
lea r8, [r13 + 0x50]
lea r9, [rsp + 0x20]
lea rdx, [rbp - 9]
call fcn.1337c0e89f40
mov rbx, qword [rbp - 9]
movzx eax, byte [rbp - 0x31]
mov r14, qword [rbp + 0x67]
test al, al
je 0x1337c0e847eb
lea rcx, [rbp - 0x51]
call fcn.1337c0e6bd20
cmp rbx, qword [r12 + 0x50]
jne 0x1337c0e84814
mov qword [rsp + 0x20], 0
lea r8, [r13 + 0x50]
lea rcx, [r12 + 0x48]
lea r9, [rsp + 0x20]
lea rdx, [rbp + 7]
call fcn.1337c0e89f40
jmp 0x1337c0e84845
mov r8, qword [rbx + 0x18]
test r8, r8
je 0x1337c0e84845
mov rcx, qword [r8]
mov r8, qword [r8 + 8]
cmp rcx, r8
je 0x1337c0e84845
mov edx, dword [r14 + 4]
shl rdx, 0x20
mov eax, dword [r14]
or rdx, rax
cmp qword [rcx], rdx
je 0x1337c0e8485f
add rcx, 8
cmp rcx, r8
jne 0x1337c0e84837
movabs r15, 0x100000001b3
mov eax, dword [r13]
test eax, eax
je 0x1337c0e84865
add r13, rax
jmp 0x1337c0e84200
mov rax, qword [r13 + 0x50]
jmp 0x1337c0e84867
xor eax, eax
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret