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

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xa8
mov rcx, qword [0x180179760]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x120]
call rdx
test al, al
je 0x18006eaff
mov rcx, qword [0x180179760]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x118]
call rdx
test al, al
je 0x18006eaff
mov rax, qword [0x180179dc0]
shl rax, 5
add rax, qword [0x180178078]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18006e3a2
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x18006eaff
mov rax, qword [0x1801798e8]
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], r13
xor r13d, r13d
mov qword [rsp + 0x68], r15
xor r15d, r15d
mov rcx, qword [rax + 0x58]
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x38], r13
movsxd r12, dword [rcx + 0x1510]
movabs rcx, 0xaaaaaaaaaaaaaaa
mov dword [rsp + 0xc0], r12d
test r12d, r12d
je 0x18006e422
cmp r12, rcx
ja 0x18006eb13
lea rax, [r12 + r12*2]
lea rbx, [rax*8]
mov rcx, rbx
call fcn.1800542b0
mov r15, rax
lea r13, [rax + rbx]
mov qword [rsp + 0x38], r13
mov ebx, dword [0x180178788]
mov ecx, 1
mov qword [rsp + 0x98], rbp
mov rbp, r15
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x88], rdi
movabs rdi, 0x2aaaaaaaaaaaaaab
mov qword [rsp + 0x70], r14
movaps xmmword [rsp + 0x50], xmm6
mov r14d, 4
mov dword [rsp + 0xb8], ecx
mov qword [rsp + 0x30], r15
cmp r12d, ecx
jl 0x18006e970
mov rsi, qword gs:[0x58]
mov edi, ebx
mov qword [rsp + 0xc8], rbx
movabs rbx, 0x100000001b3
mov qword [rsp + 0x30], r15
nop dword [rax]
mov rax, qword [0x1801798e8]
mov edx, ecx
mov rcx, qword [rax + 0x58]
call fcn.18005a1d0
mov qword [rsp + 0x48], rax
mov r12, rax
test rax, rax
je 0x18006e943
mov qword [rsp + 0x40], 0
lea rdx, [rsp + 0x40]
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x130]
mov r9, qword [rsp + 0x40]
test r9, r9
je 0x18006e943
mov r9, qword [r9 + 8]
movabs r8, 0xcbf29ce484222325
mov rcx, r9
cmp byte [r9], 0
je 0x18006e50b
inc rcx
cmp byte [rcx], 0
jne 0x18006e503
mov edx, 0
sub rcx, r9
je 0x18006e534
nop word [rax + rax]
movsx rax, byte [rdx + r9]
inc rdx
xor r8, rax
imul r8, rbx
cmp rdx, rcx
jb 0x18006e520
movabs rax, 0xc106a596b87eca81
cmp r8, rax
jne 0x18006e93d
mov rbx, qword [rsi + rdi*8]
mov eax, dword [r14 + rbx]
cmp dword [0x1801798cc], eax
jle 0x18006e58d
lea rcx, [0x1801798cc]
call fcn.1800d95a4
cmp dword [0x1801798cc], 0xffffffff
jne 0x18006e58d
movabs rcx, 0x9241b8778dd136bd
call fcn.180069d10
lea rcx, [0x1801798cc]
mov dword [0x180179ae0], eax
call fcn.1800d9538
mov edx, dword [0x180179ae0]
mov edx, dword [rdx + r12]
cmp edx, 0xffffffff
jne 0x18006e5a8
lea rax, [0x180179730]
jmp 0x18006e6c7
mov rax, qword [0x1801798e8]
and edx, 0x7fff
mov rcx, qword [rax + 0x58]
call fcn.18005a1d0
mov rdi, rax
test rax, rax
je 0x18006e6b8
mov ecx, dword [0x180179d2c]
cmp ecx, dword [r14 + rbx]
jle 0x18006e614
lea rcx, [0x180179d2c]
call fcn.1800d95a4
mov ecx, dword [0x180179d2c]
cmp ecx, 0xffffffff
jne 0x18006e614
movabs rcx, 0x9f4c773fb92eaba8
call fcn.180069d10
lea rcx, [0x180179d2c]
mov dword [0x180179cfc], eax
call fcn.1800d9538
mov ecx, dword [0x180179d2c]
mov eax, dword [0x180179cfc]
cmp qword [rax + rdi], 0
je 0x18006e6b8
cmp ecx, dword [r14 + rbx]
jle 0x18006e661
lea rcx, [0x180179d2c]
call fcn.1800d95a4
cmp dword [0x180179d2c], 0xffffffff
jne 0x18006e661
movabs rcx, 0x9f4c773fb92eaba8
call fcn.180069d10
lea rcx, [0x180179d2c]
mov dword [0x180179cfc], eax
call fcn.1800d9538
mov eax, dword [0x180179cfc]
mov rdi, qword [rax + rdi]
mov eax, dword [r14 + rbx]
cmp dword [0x180179ef8], eax
jle 0x18006e6ad
lea rcx, [0x180179ef8]
call fcn.1800d95a4
cmp dword [0x180179ef8], 0xffffffff
jne 0x18006e6ad
movabs rcx, 0x89b727c10692e033
call fcn.180069d10
lea rcx, [0x180179ef8]
mov dword [0x180179ee8], eax
call fcn.1800d9538
mov eax, dword [0x180179ee8]
add rax, rdi
jmp 0x18006e6bf
lea rax, [0x180179730]
mov rdi, qword [rsp + 0xc8]
movss xmm0, dword [0x180179980]
subss xmm0, dword [rax + 8]
movss xmm1, dword [0x180179978]
movss xmm2, dword [0x18017997c]
subss xmm2, dword [rax + 4]
subss xmm1, dword [rax]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18006e712
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x18006e71d
movaps xmm0, xmm2
call fcn.1800fd778
movaps xmm6, xmm0
mov rsi, qword [rsi + rdi*8]
mov eax, dword [r14 + rsi]
cmp dword [0x180179cf4], eax
jle 0x18006e763
lea rcx, [0x180179cf4]
call fcn.1800d95a4
cmp dword [0x180179cf4], 0xffffffff
jne 0x18006e763
movabs rcx, 0x4c7c6391100b2438
call fcn.180069d10
lea rcx, [0x180179cf4]
mov dword [0x180179d08], eax
call fcn.1800d9538
mov eax, dword [0x180179d08]
mov rdi, qword [rax + r12]
test rdi, rdi
jne 0x18006e779
mov ebx, 0xffffffff
jmp 0x18006e7eb
mov eax, dword [r14 + rsi]
cmp dword [0x180179d0c], eax
mov ebx, dword [rdi + 0x10]
jle 0x18006e7be
lea rcx, [0x180179d0c]
call fcn.1800d95a4
cmp dword [0x180179d0c], 0xffffffff
jne 0x18006e7be
movabs rcx, 0x51cee653ec562d63
call fcn.180069d10
lea rcx, [0x180179d0c]
mov dword [0x180179cf8], eax
call fcn.1800d9538
mov eax, dword [0x180179cf8]
and ebx, 0xffff8000
mov ecx, dword [rax + rdi]
mov eax, dword [rdi + 0x10]
and ecx, 1
shl ecx, 0xf
and eax, 0x7fff
sub ebx, ecx
mov ecx, 0x7fff
cmp dword [rdi + 0x10], 0xffffffff
cmovne ecx, eax
or ebx, ecx
cmp r15, r13
je 0x18006e80e
movss dword [r15 + 0xc], xmm6
mov qword [r15], r12
mov dword [r15 + 8], ebx
mov dword [r15 + 0x10], 0
add r15, 0x18
jmp 0x18006e922
sub r15, rbp
movabs rcx, 0x2aaaaaaaaaaaaaab
mov rax, rcx
movabs r8, 0xaaaaaaaaaaaaaaa
imul r15
mov r14, rdx
sar r14, 2
mov rax, r14
shr rax, 0x3f
add r14, rax
cmp r14, r8
je 0x18006eb07
mov rax, rcx
lea r12, [r14 + 1]
sub r13, rbp
imul r13
mov rsi, rdx
sar rsi, 2
mov rax, rsi
shr rax, 0x3f
add rsi, rax
mov rax, r8
mov rcx, rsi
shr rcx, 1
sub rax, rcx
cmp rsi, rax
jbe 0x18006e879
mov rcx, r8
jmp 0x18006e890
lea rax, [rcx + rsi]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, r8
ja 0x18006eb1f
lea r13, [rcx + rcx*2]
shl r13, 3
mov rcx, r13
call fcn.1800542b0
mov rdi, rax
lea rcx, [r14 + r14*2]
mov rax, qword [rsp + 0x48]
mov r8, r15
mov rdx, rbp
movss dword [rdi + rcx*8 + 0xc], xmm6
mov qword [rdi + rcx*8], rax
mov dword [rdi + rcx*8 + 8], ebx
mov dword [rdi + rcx*8 + 0x10], 0
mov rcx, rdi
call fcn.1800fe700
test rbp, rbp
je 0x18006e90a
lea rdx, [rsi + rsi*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x18006e902
mov rcx, qword [rbp - 8]
add rdx, 0x27
sub rbp, rcx
lea rax, [rbp - 8]
cmp rax, 0x1f
ja 0x18006eb19
mov rbp, rcx
mov rcx, rbp
call fcn.1800d9530
lea rax, [r12 + r12*2]
mov qword [rsp + 0x30], rdi
add r13, rdi
lea r15, [rdi + rax*8]
mov qword [rsp + 0x38], r13
mov rbp, rdi
mov rsi, qword gs:[0x58]
movabs rbx, 0x100000001b3
mov rdi, qword [rsp + 0xc8]
mov r14d, 4
mov ecx, dword [rsp + 0xb8]
inc ecx
mov dword [rsp + 0xb8], ecx
cmp ecx, dword [rsp + 0xc0]
jle 0x18006e4a0
mov ebx, dword [0x180178788]
movabs rdi, 0x2aaaaaaaaaaaaaab
mov rcx, r15
mov dword [rsp + 0x20], 0xc
sub rcx, rbp
mov rax, rdi
imul rcx
xor r9d, r9d
mov rcx, rbp
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, r15
call fcn.18006f7e0
cmp rbp, r15
je 0x18006ea76
mov r14, qword gs:[0x58]
movabs r13, 0xdccf003ada4c08e3
mov r12, qword [rsp + 0xb0]
mov esi, ebx
lea rbx, [rbp + 0x10]
mov ebp, 4
nop
mov edx, dword [rbx - 8]
cmp edx, 0xffffffff
je 0x18006ea51
cmp dword [rbx], 0
jne 0x18006ea51
mov rax, qword [0x1801798e8]
and edx, 0x7fff
mov rcx, qword [rax + 0x58]
call fcn.18005a1d0
mov rdi, rax
test rax, rax
je 0x18006ea51
mov rcx, qword [r14 + rsi*8]
mov edx, dword [rbp + rcx]
cmp dword [0x180179cac], edx
jle 0x18006ea3a
lea rcx, [0x180179cac]
call fcn.1800d95a4
cmp dword [0x180179cac], 0xffffffff
jne 0x18006ea3a
mov rcx, r13
call fcn.180069d10
lea rcx, [0x180179cac]
mov dword [0x180179cb8], eax
call fcn.1800d9538
mov eax, dword [0x180179cb8]
cmp byte [rax + rdi], 0
je 0x18006ea51
mov rdx, rdi
mov rcx, r12
call fcn.18006f120
add rbx, 0x18
lea rcx, [rbx - 0x10]
cmp rcx, r15
jne 0x18006e9d0
mov rbp, qword [rsp + 0x30]
movabs rdi, 0x2aaaaaaaaaaaaaab
mov r13, qword [rsp + 0x38]
test rbp, rbp
je 0x18006eac3
sub r13, rbp
mov rax, rdi
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x18006eabb
mov rcx, qword [rbp - 8]
add rdx, 0x27
sub rbp, rcx
lea rax, [rbp - 8]
cmp rax, 0x1f
ja 0x18006eb0d
mov rbp, rcx
mov rcx, rbp
call fcn.1800d9530
mov rdi, qword [rsp + 0x88]
mov r14, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0x50]
mov rbx, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x80]
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x68]
add rsp, 0xa8
ret
call fcn.18006f7c0
int3
call fcn.1800e50b8
int3
call fcn.18006f7c0
int3
call fcn.1800e50b8
int3
call fcn.180050ba0
int3