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

Disassembly:
push rbp
push rbx
push rdi
push r14
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x180145040]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rcx, rdx
mov qword [rsp + 0x28], r8
mov r14, r8
mov rdi, rdx
call fcn.180078e60
xor ecx, ecx
movabs rdx, 0xdf5064c562b50b1a
movabs r8, 0xf5a2df2896081165
movabs r9, 0x2a4f261a2097b903
movabs r10, 0x7c1e53973b87bf18
test al, al
jne 0x1800295fc
mov qword [rbp - 0x50], r8
movabs rax, 0x4f3c445573d4e640
mov qword [rbp - 0x80], rax
movabs rax, 0x126932c749e2c96a
mov qword [rbp - 0x78], rax
lea rax, [rbp - 0x80]
movdqa xmm0, xmmword [rbp - 0x80]
mov qword [rbp - 0x70], r8
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x60], r9
mov qword [rbp - 0x58], r10
xorps xmm0, xmmword [rbp - 0x60]
mov qword [rbp - 0x48], rdx
movdqa xmm1, xmmword [rbp - 0x50]
mov qword [rbp - 0x68], rdx
xorps xmm1, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x80], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rcx
movdqa xmmword [rbp - 0x70], xmm1
mov qword [rbp - 0x48], rcx
nop
inc r8
cmp byte [rax + r8], cl
jne 0x180029590
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x60]
call fcn.180005e20
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.180078d40
test al, al
je 0x1800295fc
mov rcx, rdi
call fcn.1800276e0
mov rcx, qword [rax]
test rcx, rcx
je 0x180029d0c
mov rax, qword [0x180206458]
mov rbx, qword [rax + 0x58]
call fcn.180027280
mov rcx, rbx
mov edx, dword [rax]
call fcn.18002d8d0
mov rdi, rax
test rax, rax
je 0x180029d0c
mov rcx, rax
call fcn.180078e60
test al, al
jmp 0x18002960f
mov rcx, rdi
call fcn.180078e60
test al, al
je 0x180029d0c
test rdi, rdi
je 0x180029d0c
mov rcx, rdi
call fcn.180027910
mov rcx, qword [rax]
test rcx, rcx
je 0x180029d0c
mov rax, qword [0x180206458]
mov rbx, qword [rax + 0x58]
call fcn.1800274c0
mov rcx, rbx
mov edx, dword [rax]
and edx, 0x7fff
call fcn.180024930
mov qword [rsp + 0x40], rax
test rax, rax
je 0x180029d0c
mov rcx, rdi
call fcn.180027d60
mov rcx, qword [rax]
test rcx, rcx
je 0x180029d0c
mov rdx, qword [0x180206458]
mov rbx, qword [rdx + 0x58]
call fcn.180027b40
mov rcx, rbx
mov edx, dword [rax]
call fcn.18002d8d0
mov qword [rsp + 0x38], rax
test rax, rax
je 0x180029d0c
mov rcx, qword [0x180206460]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xb8]
call r8
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x20]
mov rcx, rax
call rdx
mov rcx, qword [0x180206458]
mov edx, dword [rax + 0x10]
mov rax, qword [rcx + 0x58]
inc edx
mov dword [rsp + 0x20], edx
cmp edx, dword [rax + 0x1510]
jg 0x180029d0c
mov qword [rsp + 0x130], rsi
movabs rbx, 0x100000001b3
mov qword [rsp + 0x100], r12
mov r12d, 0x60022890
mov qword [rsp + 0xf8], r13
mov r13d, dword [0x180206288]
mov qword [rsp + 0xf0], r15
movabs r15, 0x8db664ad06d1125d
mov rcx, qword [rcx + 0x58]
call fcn.180024930
mov rdi, rax
test rax, rax
je 0x180029cc5
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x4e0]
mov rcx, rax
call rdx
test al, al
je 0x180029cc5
mov rcx, rdi
call fcn.180026380
cmp rax, qword [r14 + 0x10]
jne 0x180029cc5
mov rcx, rdi
call fcn.180026160
mov rcx, rax
call fcn.180025f50
mov rcx, rax
mov rsi, rax
call fcn.180025420
mov r8, rax
lea rdx, [rsp + 0x58]
lea rcx, [0x180207e50]
call fcn.18000f860
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x18]
call r8
movabs rdx, 0xcbf29ce484222325
movzx ecx, byte [rax]
test cl, cl
je 0x1800297cf
nop dword [rax]
nop word [rax + rax]
movsx rcx, cl
lea rax, [rax + 1]
xor rdx, rcx
movzx ecx, byte [rax]
imul rdx, rbx
test cl, cl
jne 0x1800297b0
cmp rdx, r15
je 0x180029cc5
mov rcx, rsi
call fcn.180025420
mov r8, rax
lea rdx, [rsp + 0x68]
lea rcx, [0x180207e50]
call fcn.18000f860
mov rcx, rsi
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov r15d, dword [rax + 0x2c8]
call fcn.180025420
mov r8, rax
lea rdx, [rsp + 0x48]
lea rcx, [0x180207e50]
call fcn.18000f860
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov ecx, dword [rax + 0x2c8]
add ecx, 5
cmp r15d, ecx
jge 0x180029cbb
nop
mov rcx, rdi
call fcn.1800268e0
mov rcx, rdi
mov ebx, dword [rax]
call fcn.1800268e0
cmp dword [rax], 3
jne 0x180029869
mov rcx, rsi
call fcn.180025420
movzx ecx, word [rax]
cmp ecx, 0x1e
ja 0x18002985d
bt r12d, ecx
jb 0x180029862
cmp ecx, 0x27
jne 0x180029869
mov ebx, 2
jmp 0x1800298a0
mov rcx, rdi
call fcn.1800268e0
cmp dword [rax], 2
jne 0x1800298a0
mov rcx, rsi
call fcn.180025420
movzx ecx, word [rax]
cmp ecx, 0x3c
ja 0x180029896
movabs rdx, 0x1000004508010508
bt rdx, rcx
jb 0x18002989b
cmp ecx, 0x3d
jne 0x1800298a0
mov ebx, 3
mov rax, qword [r14]
mov r8d, r15d
mov edx, ebx
mov rcx, r14
mov r9, qword [rax + 0x40]
call r9
mov r14, rax
test rax, rax
je 0x180029943
mov rax, qword gs:[0x58]
mov r12d, 4
mov r13, qword [rax + r13*8]
mov ecx, dword [r12 + r13]
cmp dword [0x1802082f0], ecx
jle 0x18002990c
lea rcx, [0x1802082f0]
call fcn.1800e45f8
cmp dword [0x1802082f0], 0xffffffff
jne 0x18002990c
mov rax, qword [0x180206328]
lea rcx, [0x1802082f0]
mov qword [0x1802082b8], rax
call fcn.1800e458c
mov rax, qword [0x1802082b8]
test rax, rax
je 0x180029936
mov rcx, r14
call rax
mov rbx, rax
test rax, rax
je 0x180029936
mov rcx, rsi
call fcn.180025420
movzx ecx, word [rax]
cmp word [rbx + 0x30], cx
je 0x180029985
mov r13d, dword [0x180206288]
mov r12d, 0x60022890
mov rcx, rsi
inc r15d
call fcn.180025420
mov r8, rax
lea rdx, [rsp + 0x48]
lea rcx, [0x180207e50]
call fcn.18000f860
mov r14, qword [rsp + 0x28]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov ecx, dword [rax + 0x2c8]
add ecx, 5
cmp r15d, ecx
jge 0x180029cb1
jmp 0x180029830
mov rcx, r14
call fcn.1800259e0
mov rcx, rsi
mov ebx, dword [rax]
call fcn.1800259e0
mov rcx, r14
mov dword [rax], ebx
call fcn.180025bb0
mov rcx, rsi
mov rbx, qword [rax]
call fcn.180025bb0
mov rcx, r14
mov qword [rax], rbx
mov rax, qword [r14]
mov rdx, qword [rax + 0x10]
call rdx
movabs rcx, 0x2a4f261a2097b903
lea rdx, [rbp - 0x60]
mov qword [rbp - 0x40], rcx
movabs rcx, 0x7c1e53973b87bf18
mov qword [rbp - 0x38], rcx
movabs rcx, 0xf5a2df2896081165
movd xmm2, eax
movabs rax, 0x472a527300e3dc70
mov qword [rbp - 0x60], rax
movabs rax, 0x196c26e343e2cb38
mov qword [rbp - 0x58], rax
movabs rax, 0xf5c0be4ef37a6145
movdqa xmm0, xmmword [rbp - 0x60]
xorps xmm0, xmmword [rbp - 0x40]
mov qword [rbp - 0x50], rax
movabs rax, 0xdf5064c562b50b1a
mov qword [rbp - 0x48], rax
movdqa xmm1, xmmword [rbp - 0x50]
mov qword [rbp - 0x30], rcx
mov rcx, rsi
mov qword [rbp - 0x28], rax
xorps xmm1, xmmword [rbp - 0x30]
cvtdq2ps xmm2, xmm2
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmmword [rbp - 0x60], xmm0
call fcn.180079200
mov rcx, r14
call fcn.180025640
mov rcx, rsi
mov ebx, dword [rax]
call fcn.180025640
mov rcx, r14
mov dword [rax], ebx
call fcn.180025810
mov rcx, rsi
mov ebx, dword [rax]
call fcn.180025810
mov rcx, r14
mov dword [rax], ebx
call fcn.180025d80
mov rcx, rsi
movzx ebx, byte [rax]
call fcn.180025d80
mov rcx, rdi
mov byte [rax], bl
call fcn.180026710
cmp byte [rax], 0
jne 0x180029b4c
mov rcx, rdi
call fcn.180026b00
mov ecx, dword [r12 + r13]
mov rbx, rax
cmp dword [0x1802082a0], ecx
jle 0x180029ae4
lea rcx, [0x1802082a0]
call fcn.1800e45f8
cmp dword [0x1802082a0], 0xffffffff
jne 0x180029ae4
mov rcx, qword [0x180206320]
mov qword [0x180208300], rcx
lea rcx, [0x1802082a0]
call fcn.1800e458c
mov rax, qword [0x180208300]
test rax, rax
je 0x180029af5
mov rcx, rbx
call rax
mov rcx, rdi
call fcn.180026d20
mov ecx, dword [r12 + r13]
mov rbx, rax
cmp dword [0x1802082e0], ecx
jle 0x180029b3b
lea rcx, [0x1802082e0]
call fcn.1800e45f8
cmp dword [0x1802082e0], 0xffffffff
jne 0x180029b3b
mov rcx, qword [0x1802063e8]
mov qword [0x1802082d0], rcx
lea rcx, [0x1802082e0]
call fcn.1800e458c
mov rax, qword [0x1802082d0]
test rax, rax
je 0x180029b4c
mov rcx, rbx
call rax
mov rax, qword [r14]
mov rcx, r14
mov rdx, qword [rax + 0x10]
call rdx
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], eax
lea rdx, [rbp - 0x80]
lea rcx, [0x180207e90]
call fcn.180022df0
xor ebx, ebx
mov rcx, rdi
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
cmp byte [rax + 0xb2], bl
setne bl
call fcn.180025210
mov rsi, qword [rax]
test rsi, rsi
je 0x180029be3
mov eax, dword [r12 + r13]
cmp dword [0x18020829c], eax
jle 0x180029bce
lea rcx, [0x18020829c]
call fcn.1800e45f8
cmp dword [0x18020829c], 0xffffffff
jne 0x180029bce
mov rax, qword [0x180206318]
lea rcx, [0x18020829c]
mov qword [0x1802082a8], rax
call fcn.1800e458c
mov rax, qword [0x1802082a8]
test rax, rax
je 0x180029be3
lea rdx, [rbx + 1]
mov rcx, rsi
call rax
cmp rdi, qword [rsp + 0x40]
jne 0x180029c4c
mov rcx, qword [rsp + 0x38]
call fcn.180025210
mov rsi, qword [rax]
test rsi, rsi
je 0x180029c4c
mov eax, dword [r12 + r13]
cmp dword [0x18020829c], eax
jle 0x180029c37
lea rcx, [0x18020829c]
call fcn.1800e45f8
cmp dword [0x18020829c], 0xffffffff
jne 0x180029c37
mov rax, qword [0x180206318]
lea rcx, [0x18020829c]
mov qword [0x1802082a8], rax
call fcn.1800e458c
mov rax, qword [0x1802082a8]
test rax, rax
je 0x180029c4c
lea rdx, [rbx + 1]
mov rcx, rsi
call rax
mov r13d, dword [0x180206288]
mov rax, qword gs:[0x58]
mov rax, qword [rax + r13*8]
mov ecx, dword [r12 + rax]
cmp dword [0x180208290], ecx
jle 0x180029c9b
lea rcx, [0x180208290]
call fcn.1800e45f8
cmp dword [0x180208290], 0xffffffff
jne 0x180029c9b
mov rax, qword [0x180206370]
lea rcx, [0x180208290]
mov qword [0x1802082f8], rax
call fcn.1800e458c
mov rax, qword [0x1802082f8]
test rax, rax
je 0x180029cac
mov rcx, rdi
call rax
mov r14, qword [rsp + 0x28]
movabs rbx, 0x100000001b3
movabs r15, 0x8db664ad06d1125d
mov edx, dword [rsp + 0x20]
mov r12d, 0x60022890
mov rcx, qword [0x180206458]
inc edx
mov dword [rsp + 0x20], edx
mov rax, qword [rcx + 0x58]
cmp edx, dword [rax + 0x1510]
jle 0x180029714
mov r15, qword [rsp + 0xf0]
mov r13, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x130]
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.1800e4530
add rsp, 0x108
pop r14
pop rdi
pop rbx
pop rbp
ret