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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0x90
mov r14, rcx
mov edx, dword [0x18030367c]
mov rax, qword gs:[0x58]
mov ecx, 0x14
mov rax, qword [rax + rdx*8]
mov ebx, 0x811c9dc5
xor esi, esi
mov eax, dword [rcx + rax]
cmp dword [0x180303d7c], eax
jle 0x180139619
lea rcx, [0x180303d7c]
call fcn.1801a2c08
cmp dword [0x180303d7c], 0xffffffff
jne 0x180139619
xorps xmm0, xmm0
movups xmmword [0x180303d10], xmm0
movups xmmword [0x180303d20], xmm0
movups xmmword [0x180303d30], xmm0
movups xmmword [0x180303d40], xmm0
lea rcx, [0x180206338]
mov edx, ebx
lea r8, [0x18020633b]
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139150
mov dword [rbp - 0x19], edx
lea rcx, [0x180206358]
mov edx, ebx
lea r8, [0x18020635b]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139180
mov dword [rbp - 0x15], edx
lea rcx, str.while
mov edx, ebx
lea r8, [0x18020631d]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x1801391b0
mov dword [rbp - 0x11], edx
lea rcx, [0x180206314]
mov edx, ebx
lea r8, [0x180206317]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x1801391e0
mov dword [rbp - 0xd], edx
lea rcx, [0x180206328]
mov edx, ebx
lea r8, [0x18020632a]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139210
mov dword [rbp - 9], edx
lea rcx, str.else
mov edx, ebx
lea r8, [0x180206330]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139240
mov dword [rbp - 5], edx
lea rcx, [0x18020613c]
mov edx, ebx
lea r8, [0x18020613e]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139270
mov dword [rbp - 1], edx
lea rcx, [0x180206140]
mov edx, ebx
lea r8, [0x180206142]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x1801392a0
mov dword [rbp + 3], edx
mov dword [rbp + 7], 0x290c95cb
lea rcx, str.auto
mov edx, ebx
lea r8, [0x180206340]
nop dword [rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x1801392d0
mov dword [rbp + 0xb], edx
lea rcx, str.return
mov edx, ebx
lea r8, [0x18020630a]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139300
mov dword [rbp + 0xf], edx
lea rcx, str.break
mov edx, ebx
lea r8, [0x180206311]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139330
mov dword [rbp + 0x13], edx
lea rcx, str.true
mov edx, ebx
lea r8, [0x180206004]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139360
mov dword [rbp + 0x17], edx
lea rcx, str.false
mov edx, ebx
lea r8, [0x18020600d]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139390
mov dword [rbp + 0x1b], edx
lea rcx, str.class
mov edx, ebx
lea r8, [0x180206325]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x1801393c0
mov dword [rbp + 0x1f], edx
lea rcx, str.attr
mov edx, ebx
lea r8, [0x18020634c]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x1801393f0
mov dword [rbp + 0x23], edx
lea rcx, [0x180206344]
mov edx, ebx
lea r8, [0x180206347]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139420
mov dword [rbp + 0x27], edx
lea rcx, str.global
mov edx, ebx
lea r8, [0x180206356]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139450
mov dword [rbp + 0x2b], edx
lea rcx, str.GLOBAL
mov edx, ebx
lea r8, [0x1802063a2]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139480
mov dword [rbp + 0x2f], edx
mov dword [rbp + 0x33], 0xda0c196e
lea rcx, str.__LINE__
mov edx, ebx
lea r8, [0x1802063d0]
nop dword [rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x1801394b0
mov dword [rbp + 0x37], edx
lea rcx, str.__FILE__
mov edx, ebx
lea r8, [0x1802063b0]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x1801394e0
mov dword [rbp + 0x3b], edx
lea rcx, str.__FUNC__
mov edx, ebx
lea r8, [0x1802063c0]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139510
mov dword [rbp + 0x3f], edx
lea rcx, str.__CLASS__
mov edx, ebx
lea r8, [0x1802063e1]
nop word [rax + rax]
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jne 0x180139540
mov dword [rbp + 0x43], edx
mov dword [rbp + 0x6f], 0
mov eax, dword [rbp + 0x6f]
mov dword [0x180303d10], eax
mov qword [0x180303d18], rsi
mov qword [0x180303d20], rsi
mov ecx, 0x18
call fcn.1801a2c80
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x180303d18], rax
mov qword [0x180303d28], rsi
xorps xmm0, xmm0
movdqa xmmword [0x180303d30], xmm0
mov qword [0x180303d40], 7
mov qword [0x180303d48], 8
mov dword [0x180303d10], 0x3f800000
mov r8, qword [0x180303d18]
mov edx, 0x10
lea rcx, [0x180303d28]
call fcn.1800214d0
nop
lea rdi, [rbp - 0x19]
nop dword [rax + rax]
mov r8, rdi
lea rdx, [rbp - 0x29]
lea rcx, [0x180303d10]
call fcn.18002e9b0
add rdi, 4
lea rax, [rbp + 0x47]
cmp rdi, rax
jne 0x1801395e0
lea rcx, [0x1801e0d40]
call fcn.1801a3014
nop
lea rcx, [0x180303d7c]
call fcn.1801a2b9c
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
add rdx, rax
cmp rax, rdx
je 0x180139643
nop dword [rax + rax]
movsx ecx, byte [rax]
xor ecx, ebx
imul ebx, ecx, 0x1000193
inc rax
cmp rax, rdx
jne 0x180139630
movzx edx, bl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r8, 0x100000001b3
imul rdx, r8
mov eax, ebx
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov eax, ebx
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov eax, ebx
shr rax, 0x18
xor rdx, rax
imul rdx, r8
and rdx, qword [0x180303d40]
add rdx, rdx
mov rcx, qword [0x180303d28]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [0x180303d18]
je 0x1801396c5
mov rcx, qword [rcx + rdx*8]
cmp ebx, dword [rax + 0x10]
je 0x1801396c2
cmp rax, rcx
je 0x1801396c5
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1801396b4
mov rsi, rax
test rsi, rsi
setne al
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret