Function at 0x1337c0e84920
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 - 8]
sub rsp, 0x108
mov r15, rdx
mov r12, rcx
xor esi, esi
mov dword [rbp + 0x68], esi
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov r14d, setsockopt
cmp byte [r14 + rdi], sil
jne 0x1337c0e8496f
call fcn.1337c1025a18
mov r13d, 0x148
cmp qword [rdi + r13], rsi
jne 0x1337c0e84a59
cmp byte [r14 + rdi], sil
jne 0x1337c0e8498a
call fcn.1337c1025a18
mov esi, 0x138
mov rsi, qword [rsi + rdi]
mov rcx, qword [rsi + 0x90]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1337c0e849d8
xor r9d, r9d
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f2fee0
mov rbx, rax
test rax, rax
jne 0x1337c0e849e2
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f2ed50
mov rbx, rax
test rax, rax
jne 0x1337c0e849e2
jmp 0x1337c0e84a38
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 [rsp + 0x28], 0
lea rdx, [rsp + 0x28]
call fcn.1337c0e55800
lea rcx, [rbx + 0x48]
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0x28]
call fcn.1337c0e8bf30
cmp byte [r14 + rdi], 0
jne 0x1337c0e84a44
call fcn.1337c1025a18
mov rdx, qword [rdi + r13]
mov qword [rdi + r13], rbx
test rdx, rdx
je 0x1337c0e84a56
call fcn.1337c0e89bf0
mov esi, dword [rbp + 0x68]
cmp byte [r14 + rdi], 0
jne 0x1337c0e84a65
call fcn.1337c1025a18
mov r13, qword [rdi + r13]
mov r14, qword [r13]
test r14, r14
jne 0x1337c0e84ab4
lea edx, [r14 + 5]
lea rcx, [rsp + 0x28]
call fcn.1337c0e85500
mov rdx, qword [rax]
mov qword [rax], r14
mov rcx, qword [r13]
mov qword [r13], rdx
test rcx, rcx
je 0x1337c0e84a98
call fcn.1337c0efe550
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1337c0e84aa7
call fcn.1337c0efe550
mov r14, qword [r13]
test r14, r14
je 0x1337c0e85166
movabs rax, 0xcbf29ce484222325
mov qword [rbp - 0x80], rax
movabs rax, 0x100000001b3
mov qword [rbp - 0x78], 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 0x1337c0e85151
movzx ecx, dl
xor rcx, qword [rbp - 0x80]
imul rcx, qword [rbp - 0x78]
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 0x1337c0e84bb1
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x1337c0e84bb3
nop dword [rax + rax]
cmp rax, rcx
je 0x1337c0e84bb1
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x1337c0e84ba0
jmp 0x1337c0e84bb3
xor eax, eax
mov rbx, r9
test rax, rax
cmovne rbx, rax
cmp rbx, r9
jne 0x1337c0e850d9
lea rcx, [rbp - 0x70]
call fcn.1337c0e88340
nop
movzx eax, byte [rbp - 0x50]
test al, al
je 0x1337c0e850cc
mov r15d, 0xbf41bdf
mov r12, qword [rbp - 0x60]
xor r8d, r8d
test r12, r12
je 0x1337c0e84c3a
xor ecx, ecx
mov r9, qword [rbp - 0x58]
mov r10, qword [rbp - 0x70]
nop dword [rax + rax]
lea rax, [rbp - 0x70]
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 0x1337c0e84c00
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 0x1337c0e84d07
mov rax, qword [rdx + rax*8]
cmp r8, qword [rbx + 0x10]
je 0x1337c0e84d09
cmp rbx, rax
je 0x1337c0e84d07
mov rbx, qword [rbx + 8]
cmp r8, qword [rbx + 0x10]
jne 0x1337c0e84cf6
jmp 0x1337c0e84d09
xor ebx, ebx
test rbx, rbx
je 0x1337c0e84d19
cmp rbx, rcx
jne 0x1337c0e84fcd
jmp 0x1337c0e84d1c
mov rbx, rcx
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x50]
call fcn.1337c0e95ef0
nop
lea rcx, [rsp + 0x50]
call fcn.1337c0e95a00
test al, al
je 0x1337c0e84f56
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
mov eax, 0x10b
cmp word [rcx + 0x18], ax
jne 0x1337c0e84d5c
mov eax, dword [rcx + 0x98]
jmp 0x1337c0e84d62
mov eax, dword [rcx + 0xa8]
test eax, eax
je 0x1337c0e84e3a
mov ecx, eax
cmp rcx, qword [rsp + 0x58]
jae 0x1337c0e84e3a
add rcx, qword [rsp + 0x50]
je 0x1337c0e84e3a
mov edx, dword [rcx]
cmp edx, 8
jbe 0x1337c0e84e3a
movzx eax, word [rcx + 4]
mov r8d, 0x100
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
jne 0x1337c0e84e3a
cmp word [rcx + 6], 2
jne 0x1337c0e84e3a
add edx, 0xfffffff8
add rcx, 8
call fcn.1337c0f74b60
mov rdi, rax
test rax, rax
je 0x1337c0e84e3a
xor edx, edx
mov rcx, rax
call fcn.1337c0f78bf0
mov qword [rsp + 0x28], rax
mov rcx, rdi
call fcn.1337c0f75110
cmp qword [rsp + 0x28], 0
je 0x1337c0e84e3a
lea rax, [rsp + 0x28]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.1337c0e95ad0
mov rcx, qword [rsp + 0x28]
call fcn.1337c0f76d40
xor al, al
mov byte [rsp + 0x78], al
cmp byte [rsp + 0x48], al
je 0x1337c0e84e40
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rdx
mov al, 1
jmp 0x1337c0e84e3c
xor al, al
mov byte [rsp + 0x78], al
or esi, 1
mov dword [rbp + 0x68], esi
test al, al
je 0x1337c0e84f47
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor edi, edi
mov qword [rsp + 0x40], rdi
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
cmp rbx, rsi
je 0x1337c0e84f08
mov r9, qword [rsp + 0x38]
nop word [rax + rax]
mov r8d, 0xbf41bdf
mov r10, qword [rbx + 0x10]
xor ecx, ecx
test r10, r10
je 0x1337c0e84eba
mov r11, qword [rbx + 0x18]
xor edx, edx
mov rax, rbx
cmp r11, 0xf
jbe 0x1337c0e84ea3
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 0x1337c0e84e97
mov ecx, dword [rbx + 0x10]
shl rcx, 0x20
mov eax, r8d
or rcx, rax
mov qword [rsp + 0x20], rcx
cmp r9, rdi
je 0x1337c0e84edf
mov qword [r9], rcx
add r9, 8
mov qword [rsp + 0x38], r9
jmp 0x1337c0e84efb
lea r8, [rsp + 0x20]
mov rdx, r9
lea rcx, [rsp + 0x30]
call fcn.1337c0e8c480
mov rdi, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
add rbx, 0x20
cmp rbx, rsi
jne 0x1337c0e84e80
lea rcx, [r13 + 8]
mov eax, r12d
shl rax, 0x20
mov edx, r15d
or rax, rdx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x48]
call fcn.1337c0e8a180
mov rbx, qword [rbp - 0x48]
lea rcx, [rsp + 0x30]
call fcn.1337c0e55620
movzx eax, byte [rsp + 0x78]
mov esi, dword [rbp + 0x68]
test al, al
je 0x1337c0e84f56
lea rcx, [rsp + 0x60]
call fcn.1337c0e89b20
nop
cmp qword [rsp + 0x50], 0
je 0x1337c0e84fcd
call fcn.1337c0e7c5a0
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 0x1337c0e84fa7
mov rax, qword [r8 + rdx*8]
mov edx, 0x246b2b97
cmp edx, dword [rcx + 0x10]
je 0x1337c0e84fa9
cmp rcx, rax
je 0x1337c0e84fa7
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], edx
jne 0x1337c0e84f97
jmp 0x1337c0e84fa9
xor ecx, ecx
test rcx, rcx
je 0x1337c0e84fcd
cmp rcx, r9
je 0x1337c0e84fcd
mov ecx, dword [rcx + 0x14]
call fcn.1337c0f39040
mov rdx, qword [rsp + 0x50]
mov rcx, 0xffffffffffffffff
call fcn.1337c0f39050
nop
cmp rbx, qword [r13 + 0x10]
jne 0x1337c0e8509d
lea rcx, [r13 + 8]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
mov edx, r12d
shl rdx, 0x20
mov eax, r15d
or rdx, rax
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x38]
call fcn.1337c0e8a180
nop
mov r10, qword [rsp + 0x30]
test r10, r10
je 0x1337c0e85099
dec r10
and r10, 0xfffffffffe000000
mov rcx, qword gs:[0x30]
mov rax, qword [r10 + 0x100]
cmp rcx, rax
sete dl
mov r9, qword [rsp + 0x30]
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 0x1337c0e8508b
cmp byte [rcx + 0xe], 0
jne 0x1337c0e85086
mov rax, qword [rcx + 0x20]
mov qword [r9], rax
mov qword [rcx + 0x20], r9
add dword [rcx + 0x18], 0xffffffff
jne 0x1337c0e85099
call fcn.1337c0f2f7b0
jmp 0x1337c0e85099
mov r8b, 1
jmp 0x1337c0e8508e
xor r8d, r8d
mov rdx, rcx
mov rcx, r10
call fcn.1337c0f2e8b0
mov rbx, qword [rbp - 0x38]
lea rcx, [r13 + 0x48]
add rbx, 0x18
mov qword [rsp + 0x20], rbx
lea r8, [r14 + 0x50]
lea r9, [rsp + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1337c0e8a4d0
mov rbx, qword [rbp - 0x28]
movzx eax, byte [rbp - 0x50]
mov r15, qword [rbp + 0x58]
mov r12, qword [rbp + 0x50]
test al, al
je 0x1337c0e850d9
lea rcx, [rbp - 0x70]
call fcn.1337c0e6c0a0
cmp rbx, qword [r13 + 0x50]
jne 0x1337c0e85100
mov qword [rsp + 0x20], 0
lea r8, [r14 + 0x50]
lea rcx, [r13 + 0x48]
lea r9, [rsp + 0x20]
lea rdx, [rbp - 0x18]
call fcn.1337c0e8a4d0
jmp 0x1337c0e85151
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1337c0e85151
mov rbx, qword [rdi]
mov rdi, qword [rdi + 8]
cmp rbx, rdi
je 0x1337c0e85151
nop word [rax + rax]
mov ecx, dword [r12 + 4]
shl rcx, 0x20
mov eax, dword [r12]
or rcx, rax
cmp qword [rbx], rcx
jne 0x1337c0e85148
test r15, r15
je 0x1337c0e85160
mov rdx, r14
mov rcx, qword [rbp + 0x60]
call r15
test al, al
jne 0x1337c0e85160
add rbx, 8
cmp rbx, rdi
jne 0x1337c0e85120
mov eax, dword [r14]
test eax, eax
je 0x1337c0e85166
add r14, rax
jmp 0x1337c0e84ad0
mov rax, qword [r14 + 0x50]
jmp 0x1337c0e85168
xor eax, eax
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret