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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2c0]
sub rsp, 0x3c0
mov rax, qword [0x180087100]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x70], rdx
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x40], xmm1
movups xmmword [rbp + 0x50], xmm0
xor edi, edi
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x60], rdi
call fcn.180003540
mov r12, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
lea r8d, [rdi + 0x28]
lea rdx, [0x18007a5c0]
lea rcx, [rbp - 0x80]
call fcn.180003950
nop
call fcn.1800203f0
lea rax, [r12 + 0x40]
mov qword [rsp + 0x60], rax
mov rcx, rax
call qword [0x18007e6f8]
lea r8, [rbp - 0x80]
mov r14, qword [rbp - 0x80]
mov r13, qword [rbp - 0x68]
cmp r13, 0xf
cmova r8, r14
movabs r15, 0xcbf29ce484222325
mov rdx, r15
mov ecx, edi
movabs r9, 0x100000001b3
mov rsi, qword [rbp - 0x70]
test rsi, rsi
je 0x18002fd84
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor rdx, rax
imul rdx, r9
inc rcx
cmp rcx, rsi
jb 0x18002fd70
mov rcx, qword [r12 + 0x30]
and rcx, rdx
add rcx, rcx
mov rax, qword [r12 + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
mov rdx, qword [r12 + 8]
mov qword [rsp + 0x58], rdx
cmp rbx, rdx
je 0x18002fdf6
mov r12, qword [rax + rcx*8]
nop dword [rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18002fdc2
mov rdx, qword [rdx]
lea rcx, [rbp - 0x80]
cmp r13, 0xf
cmova rcx, r14
cmp rsi, rax
jne 0x18002fddf
mov r8, rsi
call fcn.180067530
test eax, eax
je 0x18002fdea
cmp rbx, r12
je 0x18002fdf1
mov rbx, qword [rbx + 8]
jmp 0x18002fdb0
mov rdx, qword [rsp + 0x58]
jmp 0x18002fdf9
mov rdx, qword [rsp + 0x58]
mov rbx, rdi
test rbx, rbx
je 0x18002fe14
cmp rbx, rdx
je 0x18002fe14
mov rbx, qword [rbx + 0x30]
mov rcx, qword [rsp + 0x60]
call qword [0x18007e908]
jmp 0x18002fe22
mov rcx, qword [rsp + 0x60]
call qword [0x18007e908]
mov rbx, rdi
cmp r13, 0xf
jbe 0x18002fe59
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18002fe51
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180030564
mov rcx, r14
call fcn.180011bec
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
test rbx, rbx
jne 0x18002fe78
mov eax, 0xc0000138
jmp 0x18003053a
call fcn.180003540
mov r12, rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
cmp qword [rax + 0x18], 7
jbe 0x18002fe99
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rdi
mov r8d, 0x14
lea rdx, [0x18007a980]
lea rcx, [rbp - 0x60]
call fcn.180003950
nop
call fcn.1800203f0
lea rax, [r12 + 0x40]
mov qword [rsp + 0x50], rax
mov rcx, rax
call qword [0x18007e6f8]
lea r8, [rbp - 0x60]
mov r14, qword [rbp - 0x60]
mov r13, qword [rbp - 0x48]
cmp r13, 0xf
cmova r8, r14
mov rdx, r15
mov rcx, rdi
mov rsi, qword [rbp - 0x50]
test rsi, rsi
je 0x18002ff24
movabs r9, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r9
inc rcx
cmp rcx, rsi
jb 0x18002ff10
mov rcx, qword [r12 + 0x30]
and rcx, rdx
add rcx, rcx
mov rax, qword [r12 + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
mov rdx, qword [r12 + 8]
mov qword [rsp + 0x60], rdx
cmp rbx, rdx
je 0x18002ff96
mov r12, qword [rax + rcx*8]
nop dword [rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18002ff62
mov rdx, qword [rdx]
lea rcx, [rbp - 0x60]
cmp r13, 0xf
cmova rcx, r14
cmp rsi, rax
jne 0x18002ff7f
mov r8, rsi
call fcn.180067530
test eax, eax
je 0x18002ff8a
cmp rbx, r12
je 0x18002ff91
mov rbx, qword [rbx + 8]
jmp 0x18002ff50
mov rdx, qword [rsp + 0x60]
jmp 0x18002ff99
mov rdx, qword [rsp + 0x60]
mov rbx, rdi
test rbx, rbx
je 0x18002ffc4
cmp rbx, rdx
je 0x18002ffc4
mov rbx, qword [rbx + 0x30]
mov rcx, qword [rsp + 0x50]
call qword [0x18007e908]
test rbx, rbx
je 0x18002ffd0
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x68]
call rbx
jmp 0x18002ffd0
mov rcx, qword [rsp + 0x50]
call qword [0x18007e908]
nop
cmp r13, 0xf
jbe 0x180030007
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18002ffff
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180030564
mov rcx, r14
call fcn.180011bec
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
lea rax, [rbp + 0xb0]
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x40], 0x1fe0000
mov rax, qword [rsp + 0x68]
cmp rax, 0xffffffffffffffff
je 0x180030041
lea rdx, [rbp + 0x60]
mov rcx, rax
call qword [0x18007e680]
call fcn.180003540
mov rbx, rax
mov qword [rsp + 0x58], rax
movabs rax, 0xdde01026bd41edd7
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
mov qword [rbp - 0x20], rcx
movabs rax, 0xcf74d2997102c9f6
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
mov qword [rbp - 0x18], rcx
movabs rax, 0xa08f2cab175b7164
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
mov qword [rbp - 0x10], rcx
movabs rax, 0x50e8fa4c25a3f85a
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp - 8], rax
movabs rax, 0x6572525019d69660
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp], rax
movabs rcx, 0x62aa969cddae062a
mov qword [rsp + 0x50], rcx
mov rax, qword [rsp + 0x50]
mov qword [rbp + 8], rax
movabs rax, 0xada16349f92d9985
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x80], rax
movabs rax, 0x8611bef0377ba586
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x88], rax
movabs rax, 0xcee045df76371e17
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x90], rax
movabs rax, 0x248b9f3e4cc79d08
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x98], rax
movabs rax, 0x1706210546b8f909
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0xa0], rax
mov qword [rsp + 0x50], rcx
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0xa8], rax
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmmword [rbp - 0x10]
xorps xmm1, xmmword [rbp + 0x90]
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmm0, xmmword [rbp]
xorps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rdi
lea rax, [rbp - 0x20]
mov rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1800301c6
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x40]
call fcn.180003950
nop
call fcn.1800203f0
lea rax, [rbx + 0x40]
mov qword [rsp + 0x60], rax
mov rcx, rax
call qword [0x18007e6f8]
lea r8, [rbp - 0x40]
mov r12, qword [rbp - 0x40]
mov r13, qword [rbp - 0x28]
cmp r13, 0xf
cmova r8, r12
mov rdx, r15
mov rcx, rdi
mov r14, qword [rbp - 0x30]
test r14, r14
je 0x180030248
movabs r13, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r13
inc rcx
cmp rcx, r14
jb 0x180030230
mov r13, qword [rbp - 0x28]
mov rcx, qword [rbx + 0x30]
and rcx, rdx
shl rcx, 4
mov rax, qword [rbx + 0x18]
add rax, rcx
mov qword [rbp + 0x30], rax
mov rbx, qword [rax + 8]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x50], rcx
cmp rbx, rcx
je 0x1800302ca
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x180030292
mov rdx, qword [rdx]
lea rcx, [rbp - 0x40]
cmp r13, 0xf
cmova rcx, r12
cmp r14, rax
jne 0x1800302af
mov r8, r14
call fcn.180067530
test eax, eax
je 0x1800302be
mov rax, qword [rbp + 0x30]
cmp rbx, qword [rax]
je 0x1800302c5
mov rbx, qword [rbx + 8]
jmp 0x180030280
mov rcx, qword [rsp + 0x50]
jmp 0x1800302cd
mov rcx, qword [rsp + 0x50]
mov rbx, rdi
test rbx, rbx
je 0x180030323
cmp rbx, rcx
je 0x180030323
mov rbx, qword [rbx + 0x30]
mov rcx, qword [rsp + 0x60]
call qword [0x18007e908]
test rbx, rbx
je 0x18003032e
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x40]
xor r8d, r8d
lea rdx, [rbp + 0x68]
lea ecx, [r8 + 1]
call rbx
mov dword [rsp + 0x58], eax
jmp 0x180030336
mov rcx, qword [rsp + 0x60]
call qword [0x18007e908]
mov dword [rsp + 0x58], 0xc0000138
cmp r13, 0xf
jbe 0x18003036e
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x180030366
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180030564
mov rcx, r12
call fcn.180011bec
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x180030387
cmp qword [rsp + 0x68], 0xffffffffffffffff
je 0x180030387
xor ecx, ecx
call qword [0x18007e6c0]
mov r12d, dword [rsp + 0x58]
test r12d, r12d
jne 0x1800303ce
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], r12b
je 0x1800303aa
mov eax, 0xc015001d
jmp 0x18003053a
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 8]
inc rsi
cmp word [rdx + rsi*2], 0
jne 0x1800303b2
mov r8, rsi
mov rcx, qword [rsp + 0x70]
call fcn.180004020
jmp 0x180030537
cmp qword [rbp + 0x58], 0
je 0x180030537
call fcn.180003540
mov rbx, rax
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], rdi
mov r8d, 0x14
lea rdx, [0x18007a998]
lea rcx, [rbp + 0x10]
call fcn.180003950
nop
call fcn.1800203f0
lea rax, [rbx + 0x40]
mov qword [rsp + 0x68], rax
mov rcx, rax
call qword [0x18007e6f8]
lea rdx, [rbp + 0x10]
mov r14, qword [rbp + 0x10]
mov r13, qword [rbp + 0x28]
cmp r13, 0xf
cmova rdx, r14
mov rcx, rdi
mov rsi, qword [rbp + 0x20]
test rsi, rsi
je 0x180030468
movabs r12, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r15, rax
imul r15, r12
inc rcx
cmp rcx, rsi
jb 0x180030450
mov r12d, dword [rsp + 0x58]
and r15, qword [rbx + 0x30]
shl r15, 4
add r15, qword [rbx + 0x18]
mov rbx, qword [r15 + 8]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
cmp rbx, rax
je 0x1800304d2
mov r15, qword [r15]
nop
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800304a2
mov rdx, qword [rdx]
lea rcx, [rbp + 0x10]
cmp r13, 0xf
cmova rcx, r14
cmp rsi, rax
jne 0x1800304bf
mov r8, rsi
call fcn.180067530
test eax, eax
je 0x1800304ca
cmp rbx, r15
je 0x1800304cd
mov rbx, qword [rbx + 8]
jmp 0x180030490
mov rdi, rbx
mov rax, qword [rsp + 0x70]
test rdi, rdi
je 0x1800304f8
cmp rdi, rax
je 0x1800304f8
mov rbx, qword [rdi + 0x30]
mov rcx, qword [rsp + 0x68]
call qword [0x18007e908]
test rbx, rbx
je 0x180030504
lea rcx, [rbp + 0x50]
call rbx
jmp 0x180030504
mov rcx, qword [rsp + 0x68]
call qword [0x18007e908]
nop
cmp r13, 0xf
jbe 0x180030537
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18003052f
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180030564
mov rcx, r14
call fcn.180011bec
mov eax, r12d
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.180011ca0
mov rbx, qword [rsp + 0x400]
add rsp, 0x3c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180050bf0
int3