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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
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, 0xf8
mov r12, r8
mov r15, rcx
xor esi, esi
mov dword [rbp + 0x6f], esi
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov r14d, setsockopt
cmp byte [r14 + rdi], sil
jne 0x1337c0e841cf
call fcn.1337c1023b48
mov r13d, 0x148
cmp qword [rdi + r13], rsi
jne 0x1337c0e842b5
cmp byte [r14 + rdi], sil
jne 0x1337c0e841ea
call fcn.1337c1023b48
mov esi, 0x138
mov rsi, qword [rsi + rdi]
mov rcx, qword [rsi + 0x90]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1337c0e84238
xor r9d, r9d
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f2e080
mov rbx, rax
test rax, rax
jne 0x1337c0e84242
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f2cef0
mov rbx, rax
test rax, rax
jne 0x1337c0e84242
jmp 0x1337c0e84294
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], 0
lea rcx, [rbx + 8]
mov dword [rbp + 0x7f], 0
lea rdx, [rbp + 0x7f]
call fcn.1337c0e55800
lea rcx, [rbx + 0x48]
mov dword [rbp + 0x7f], 0
lea rdx, [rbp + 0x7f]
call fcn.1337c0e8b820
cmp byte [r14 + rdi], 0
jne 0x1337c0e842a0
call fcn.1337c1023b48
mov rdx, qword [rdi + r13]
mov qword [rdi + r13], rbx
test rdx, rdx
je 0x1337c0e842b2
call fcn.1337c0e89630
mov esi, dword [rbp + 0x6f]
cmp byte [r14 + rdi], 0
jne 0x1337c0e842c1
call fcn.1337c1023b48
mov r13, qword [rdi + r13]
mov r14, qword [r13]
test r14, r14
jne 0x1337c0e8430e
lea edx, [r14 + 5]
lea rcx, [rbp + 0x7f]
call fcn.1337c0e84b90
mov rdx, qword [rax]
mov qword [rax], r14
mov rcx, qword [r13]
mov qword [r13], rdx
test rcx, rcx
je 0x1337c0e842f3
call fcn.1337c0efc7f0
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1337c0e84301
call fcn.1337c0efc7f0
mov r14, qword [r13]
test r14, r14
je 0x1337c0e849b0
movabs rax, 0xcbf29ce484222325
mov qword [rbp - 0x61], rax
movabs rax, 0x100000001b3
mov qword [rbp - 0x59], rax
nop word [rax + rax]
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 0x1337c0e8499b
movzx ecx, dl
xor rcx, qword [rbp - 0x61]
imul rcx, qword [rbp - 0x59]
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 [r13 + 0x78]
and r8, rcx
add r8, r8
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx + r8*8 + 8]
mov r9, qword [r13 + 0x50]
cmp rax, r9
je 0x1337c0e84411
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x1337c0e84413
nop dword [rax + rax]
cmp rax, rcx
je 0x1337c0e84411
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x1337c0e84400
jmp 0x1337c0e84413
xor eax, eax
mov rbx, r9
test rax, rax
cmovne rbx, rax
cmp rbx, r9
jne 0x1337c0e84928
lea rcx, [rbp - 0x51]
call fcn.1337c0e87de0
nop
movzx eax, byte [rbp - 0x31]
test al, al
je 0x1337c0e8491b
mov r15d, 0xbf41bdf
mov r12, qword [rbp - 0x41]
xor r8d, r8d
test r12, r12
je 0x1337c0e8449a
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, r15d
imul r15d, eax, 0x1000193
inc r8d
mov ecx, r8d
cmp rcx, r12
jb 0x1337c0e84460
mov eax, r15d
mov r8d, r12d
shl r8, 0x20
or r8, rax
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
imul rdx, rdi
mov rax, r8
shr rax, 8
movzx ecx, al
xor rdx, rcx
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 [r13 + 0x38]
and rax, rdx
add rax, rax
mov rdx, qword [r13 + 0x20]
mov rbx, qword [rdx + rax*8 + 8]
mov rcx, qword [r13 + 0x10]
cmp rbx, rcx
je 0x1337c0e84567
mov rax, qword [rdx + rax*8]
cmp r8, qword [rbx + 0x10]
je 0x1337c0e84569
cmp rbx, rax
je 0x1337c0e84567
mov rbx, qword [rbx + 8]
cmp r8, qword [rbx + 0x10]
jne 0x1337c0e84556
jmp 0x1337c0e84569
xor ebx, ebx
test rbx, rbx
je 0x1337c0e84579
cmp rbx, rcx
jne 0x1337c0e8481c
jmp 0x1337c0e8457c
mov rbx, rcx
lea rdx, [rbp - 0x51]
lea rcx, [rsp + 0x48]
call fcn.1337c0e94b10
nop
lea rcx, [rsp + 0x48]
call fcn.1337c0e94620
test al, al
je 0x1337c0e847a5
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
mov eax, 0x10b
cmp word [rcx + 0x18], ax
jne 0x1337c0e845bc
mov eax, dword [rcx + 0x98]
jmp 0x1337c0e845c2
mov eax, dword [rcx + 0xa8]
test eax, eax
je 0x1337c0e8468f
mov ecx, eax
cmp rcx, qword [rsp + 0x50]
jae 0x1337c0e8468f
add rcx, qword [rsp + 0x48]
je 0x1337c0e8468f
mov edx, dword [rcx]
cmp edx, 8
jbe 0x1337c0e8468f
movzx eax, word [rcx + 4]
mov r8d, 0x100
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
jne 0x1337c0e8468f
cmp word [rcx + 6], 2
jne 0x1337c0e8468f
add edx, 0xfffffff8
add rcx, 8
call fcn.1337c0f72d00
mov rdi, rax
test rax, rax
je 0x1337c0e8468f
xor edx, edx
mov rcx, rax
call fcn.1337c0f76d90
mov qword [rbp + 0x7f], rax
mov rcx, rdi
call fcn.1337c0f732b0
cmp qword [rbp + 0x7f], 0
je 0x1337c0e8468f
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.1337c0e946f0
mov rcx, qword [rbp + 0x7f]
call fcn.1337c0f74ee0
xor al, al
mov byte [rbp - 0x69], al
cmp byte [rsp + 0x40], al
je 0x1337c0e84694
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x79], rcx
mov qword [rbp - 0x71], rdx
mov al, 1
jmp 0x1337c0e84691
xor al, al
mov byte [rbp - 0x69], al
or esi, 1
mov dword [rbp + 0x6f], esi
test al, al
je 0x1337c0e84796
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor edi, edi
mov qword [rsp + 0x38], rdi
mov rsi, qword [rbp - 0x79]
mov rbx, qword [rsp + 0x58]
cmp rbx, rsi
je 0x1337c0e84758
mov r9, qword [rsp + 0x30]
nop dword [rax]
mov r8d, 0xbf41bdf
mov r10, qword [rbx + 0x10]
xor ecx, ecx
test r10, r10
je 0x1337c0e8470a
mov r11, qword [rbx + 0x18]
xor edx, edx
mov rax, rbx
cmp r11, 0xf
jbe 0x1337c0e846f3
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 0x1337c0e846e7
mov ecx, dword [rbx + 0x10]
shl rcx, 0x20
mov eax, r8d
or rcx, rax
mov qword [rsp + 0x20], rcx
cmp r9, rdi
je 0x1337c0e8472f
mov qword [r9], rcx
add r9, 8
mov qword [rsp + 0x30], r9
jmp 0x1337c0e8474b
lea r8, [rsp + 0x20]
mov rdx, r9
lea rcx, [rsp + 0x28]
call fcn.1337c0e8bd70
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
add rbx, 0x20
cmp rbx, rsi
jne 0x1337c0e846d0
lea rcx, [r13 + 8]
mov eax, r12d
shl rax, 0x20
mov edx, r15d
or rax, rdx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x29]
call fcn.1337c0e89bc0
mov rbx, qword [rbp - 0x29]
lea rcx, [rsp + 0x28]
call fcn.1337c0e55620
movzx eax, byte [rbp - 0x69]
mov esi, dword [rbp + 0x6f]
test al, al
je 0x1337c0e847a5
lea rcx, [rsp + 0x58]
call fcn.1337c0e89560
nop
cmp qword [rsp + 0x48], 0
je 0x1337c0e8481c
call fcn.1337c0e7c080
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 0x1337c0e847f6
mov rax, qword [r8 + rdx*8]
mov edx, 0x246b2b97
cmp edx, dword [rcx + 0x10]
je 0x1337c0e847f8
cmp rcx, rax
je 0x1337c0e847f6
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], edx
jne 0x1337c0e847e6
jmp 0x1337c0e847f8
xor ecx, ecx
test rcx, rcx
je 0x1337c0e8481c
cmp rcx, r9
je 0x1337c0e8481c
mov ecx, dword [rcx + 0x14]
call fcn.1337c0f371e0
mov rdx, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
call fcn.1337c0f371f0
nop
cmp rbx, qword [r13 + 0x10]
jne 0x1337c0e848ec
lea rcx, [r13 + 8]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 0
mov edx, r12d
shl rdx, 0x20
mov eax, r15d
or rdx, rax
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x19]
call fcn.1337c0e89bc0
nop
mov r10, qword [rsp + 0x28]
test r10, r10
je 0x1337c0e848e8
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 0x1337c0e848da
cmp byte [rcx + 0xe], 0
jne 0x1337c0e848d5
mov rax, qword [rcx + 0x20]
mov qword [r9], rax
mov qword [rcx + 0x20], r9
add dword [rcx + 0x18], 0xffffffff
jne 0x1337c0e848e8
call fcn.1337c0f2d950
jmp 0x1337c0e848e8
mov r8b, 1
jmp 0x1337c0e848dd
xor r8d, r8d
mov rdx, rcx
mov rcx, r10
call fcn.1337c0f2ca50
mov rbx, qword [rbp - 0x19]
lea rcx, [r13 + 0x48]
add rbx, 0x18
mov qword [rsp + 0x20], rbx
lea r8, [r14 + 0x50]
lea r9, [rsp + 0x20]
lea rdx, [rbp - 9]
call fcn.1337c0e89f10
mov rbx, qword [rbp - 9]
movzx eax, byte [rbp - 0x31]
mov r15, qword [rbp + 0x67]
mov r12, qword [rbp + 0x77]
test al, al
je 0x1337c0e84928
lea rcx, [rbp - 0x51]
call fcn.1337c0e6bc60
cmp rbx, qword [r13 + 0x50]
jne 0x1337c0e8494f
mov qword [rsp + 0x20], 0
lea r8, [r14 + 0x50]
lea rcx, [r13 + 0x48]
lea r9, [rsp + 0x20]
lea rdx, [rbp + 7]
call fcn.1337c0e89f10
jmp 0x1337c0e8499b
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1337c0e8499b
mov rbx, qword [rdi]
mov rdi, qword [rdi + 8]
cmp rbx, rdi
je 0x1337c0e8499b
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [r15 + 4]
shl rcx, 0x20
mov eax, dword [r15]
or rcx, rax
cmp qword [rbx], rcx
jne 0x1337c0e84992
mov rdx, r14
mov rcx, r12
call fcn.1337c0e64470
test al, al
jne 0x1337c0e849aa
add rbx, 8
cmp rbx, rdi
jne 0x1337c0e84970
mov eax, dword [r14]
test eax, eax
je 0x1337c0e849b0
add r14, rax
jmp 0x1337c0e84330
mov rax, qword [r14 + 0x50]
jmp 0x1337c0e849b2
xor eax, eax
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret