Function at 0x1337c0e84130
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, 0x14
cmp byte [r14 + rdi], sil
jne 0x1337c0e8417f
call fcn.1337c1024e28
mov r13d, 0x148
cmp qword [rdi + r13], rsi
jne 0x1337c0e84265
cmp byte [r14 + rdi], sil
jne 0x1337c0e8419a
call fcn.1337c1024e28
mov esi, 0x138
mov rsi, qword [rsi + rdi]
mov rcx, qword [rsi + 0x90]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1337c0e841e8
xor r9d, r9d
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f2f2f0
mov rbx, rax
test rax, rax
jne 0x1337c0e841f2
xor r8d, r8d
mov edx, 0x88
mov rcx, rsi
call fcn.1337c0f2e160
mov rbx, rax
test rax, rax
jne 0x1337c0e841f2
jmp 0x1337c0e84244
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.1337c0e8b6c0
cmp byte [r14 + rdi], 0
jne 0x1337c0e84250
call fcn.1337c1024e28
mov rdx, qword [rdi + r13]
mov qword [rdi + r13], rbx
test rdx, rdx
je 0x1337c0e84262
call fcn.1337c0e89490
mov esi, dword [rbp + 0x6f]
cmp byte [r14 + rdi], 0
jne 0x1337c0e84271
call fcn.1337c1024e28
mov r13, qword [rdi + r13]
mov r14, qword [r13]
test r14, r14
jne 0x1337c0e842be
lea edx, [r14 + 5]
lea rcx, [rbp + 0x7f]
call fcn.1337c0e84d00
mov rdx, qword [rax]
mov qword [rax], r14
mov rcx, qword [r13]
mov qword [r13], rdx
test rcx, rcx
je 0x1337c0e842a3
call fcn.1337c0efd960
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1337c0e842b1
call fcn.1337c0efd960
mov r14, qword [r13]
test r14, r14
je 0x1337c0e84960
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 0x1337c0e8494b
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 0x1337c0e843c1
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x1337c0e843c3
nop dword [rax + rax]
cmp rax, rcx
je 0x1337c0e843c1
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x1337c0e843b0
jmp 0x1337c0e843c3
xor eax, eax
mov rbx, r9
test rax, rax
cmovne rbx, rax
cmp rbx, r9
jne 0x1337c0e848d8
lea rcx, [rbp - 0x51]
call fcn.1337c0e87b60
nop
movzx eax, byte [rbp - 0x31]
test al, al
je 0x1337c0e848cb
mov r15d, 0xbf41bdf
mov r12, qword [rbp - 0x41]
xor r8d, r8d
test r12, r12
je 0x1337c0e8444a
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 0x1337c0e84410
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 0x1337c0e84517
mov rax, qword [rdx + rax*8]
cmp r8, qword [rbx + 0x10]
je 0x1337c0e84519
cmp rbx, rax
je 0x1337c0e84517
mov rbx, qword [rbx + 8]
cmp r8, qword [rbx + 0x10]
jne 0x1337c0e84506
jmp 0x1337c0e84519
xor ebx, ebx
test rbx, rbx
je 0x1337c0e84529
cmp rbx, rcx
jne 0x1337c0e847cc
jmp 0x1337c0e8452c
mov rbx, rcx
lea rdx, [rbp - 0x51]
lea rcx, [rsp + 0x48]
call fcn.1337c0e95300
nop
lea rcx, [rsp + 0x48]
call fcn.1337c0e94e10
test al, al
je 0x1337c0e84755
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
mov eax, 0x10b
cmp word [rcx + 0x18], ax
jne 0x1337c0e8456c
mov eax, dword [rcx + 0x98]
jmp 0x1337c0e84572
mov eax, dword [rcx + 0xa8]
test eax, eax
je 0x1337c0e8463f
mov ecx, eax
cmp rcx, qword [rsp + 0x50]
jae 0x1337c0e8463f
add rcx, qword [rsp + 0x48]
je 0x1337c0e8463f
mov edx, dword [rcx]
cmp edx, 8
jbe 0x1337c0e8463f
movzx eax, word [rcx + 4]
mov r8d, 0x100
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
jne 0x1337c0e8463f
cmp word [rcx + 6], 2
jne 0x1337c0e8463f
add edx, 0xfffffff8
add rcx, 8
call fcn.1337c0f73f70
mov rdi, rax
test rax, rax
je 0x1337c0e8463f
xor edx, edx
mov rcx, rax
call fcn.1337c0f78000
mov qword [rbp + 0x7f], rax
mov rcx, rdi
call fcn.1337c0f74520
cmp qword [rbp + 0x7f], 0
je 0x1337c0e8463f
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.1337c0e94ee0
mov rcx, qword [rbp + 0x7f]
call fcn.1337c0f76150
xor al, al
mov byte [rbp - 0x69], al
cmp byte [rsp + 0x40], al
je 0x1337c0e84644
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 0x1337c0e84641
xor al, al
mov byte [rbp - 0x69], al
or esi, 1
mov dword [rbp + 0x6f], esi
test al, al
je 0x1337c0e84746
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 0x1337c0e84708
mov r9, qword [rsp + 0x30]
nop dword [rax]
mov r8d, 0xbf41bdf
mov r10, qword [rbx + 0x10]
xor ecx, ecx
test r10, r10
je 0x1337c0e846ba
mov r11, qword [rbx + 0x18]
xor edx, edx
mov rax, rbx
cmp r11, 0xf
jbe 0x1337c0e846a3
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 0x1337c0e84697
mov ecx, dword [rbx + 0x10]
shl rcx, 0x20
mov eax, r8d
or rcx, rax
mov qword [rsp + 0x20], rcx
cmp r9, rdi
je 0x1337c0e846df
mov qword [r9], rcx
add r9, 8
mov qword [rsp + 0x30], r9
jmp 0x1337c0e846fb
lea r8, [rsp + 0x20]
mov rdx, r9
lea rcx, [rsp + 0x28]
call fcn.1337c0e8bc10
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
add rbx, 0x20
cmp rbx, rsi
jne 0x1337c0e84680
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.1337c0e89a20
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 0x1337c0e84755
lea rcx, [rsp + 0x58]
call fcn.1337c0e893c0
nop
cmp qword [rsp + 0x48], 0
je 0x1337c0e847cc
call fcn.1337c0e7bf50
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 0x1337c0e847a6
mov rax, qword [r8 + rdx*8]
mov edx, 0x246b2b97
cmp edx, dword [rcx + 0x10]
je 0x1337c0e847a8
cmp rcx, rax
je 0x1337c0e847a6
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], edx
jne 0x1337c0e84796
jmp 0x1337c0e847a8
xor ecx, ecx
test rcx, rcx
je 0x1337c0e847cc
cmp rcx, r9
je 0x1337c0e847cc
mov ecx, dword [rcx + 0x14]
call fcn.1337c0f38450
mov rdx, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
call fcn.1337c0f38460
nop
cmp rbx, qword [r13 + 0x10]
jne 0x1337c0e8489c
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.1337c0e89a20
nop
mov r10, qword [rsp + 0x28]
test r10, r10
je 0x1337c0e84898
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 0x1337c0e8488a
cmp byte [rcx + 0xe], 0
jne 0x1337c0e84885
mov rax, qword [rcx + 0x20]
mov qword [r9], rax
mov qword [rcx + 0x20], r9
add dword [rcx + 0x18], 0xffffffff
jne 0x1337c0e84898
call fcn.1337c0f2ebc0
jmp 0x1337c0e84898
mov r8b, 1
jmp 0x1337c0e8488d
xor r8d, r8d
mov rdx, rcx
mov rcx, r10
call fcn.1337c0f2dcc0
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.1337c0e89d70
mov rbx, qword [rbp - 9]
movzx eax, byte [rbp - 0x31]
mov r15, qword [rbp + 0x67]
mov r12, qword [rbp + 0x77]
test al, al
je 0x1337c0e848d8
lea rcx, [rbp - 0x51]
call fcn.1337c0e6bb20
cmp rbx, qword [r13 + 0x50]
jne 0x1337c0e848ff
mov qword [rsp + 0x20], 0
lea r8, [r14 + 0x50]
lea rcx, [r13 + 0x48]
lea r9, [rsp + 0x20]
lea rdx, [rbp + 7]
call fcn.1337c0e89d70
jmp 0x1337c0e8494b
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1337c0e8494b
mov rbx, qword [rdi]
mov rdi, qword [rdi + 8]
cmp rbx, rdi
je 0x1337c0e8494b
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 0x1337c0e84942
mov rdx, r14
mov rcx, r12
call fcn.1337c0e644c0
test al, al
jne 0x1337c0e8495a
add rbx, 8
cmp rbx, rdi
jne 0x1337c0e84920
mov eax, dword [r14]
test eax, eax
je 0x1337c0e84960
add r14, rax
jmp 0x1337c0e842e0
mov rax, qword [r14 + 0x50]
jmp 0x1337c0e84962
xor eax, eax
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret