Function at 0x14000b190
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rdx, str.star
lea rcx, str.icon
call fcn.140001630
mov ebx, 0xffffffff
lea r8, str.ICON_STAR
mov edx, ebx
lea rdi, [0x14009b540]
mov al, 0x49
nop
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b1d0
mov dword [0x1400b2e18], edx
lea rcx, str.icon
lea rdx, str.eureka
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea r8, str.ICON_EUREKA
mov edx, ebx
mov al, 0x49
nop dword [rax]
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b220
mov dword [0x1400b2e2c], edx
lea rcx, str.icon
lea rdx, str.inspiration
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea r8, str.ICON_INSPIRATION
mov edx, ebx
mov al, 0x49
nop dword [rax]
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b270
mov dword [0x1400b2e14], edx
lea rcx, str.icon
lea rdx, str.population
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea r8, str.ICON_POPULATION
mov edx, ebx
mov al, 0x49
nop dword [rax]
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b2c0
mov dword [0x1400b2e24], edx
lea rcx, str.icon
lea rdx, str.settle
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea r8, str.ICON_SETTLE
mov edx, ebx
mov al, 0x49
nop dword [rax]
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b310
mov dword [0x1400b2e20], edx
lea rcx, str.icon
lea rdx, str.strength
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea r8, str.ICON_STRENGTH
mov edx, ebx
mov al, 0x49
nop dword [rax]
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b360
mov dword [0x1400b2e10], edx
lea rcx, str.icon
lea rdx, str.Dark_Age
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea r8, str.ICON_DARK_AGE
mov edx, ebx
mov al, 0x49
nop dword [rax]
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b3b0
mov dword [0x1400b2e34], edx
lea rcx, str.icon
lea rdx, str.Normal_Age
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea r8, str.ICON_NORMAL_AGE
mov edx, ebx
mov al, 0x49
nop dword [rax]
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b400
mov dword [0x1400b2e30], edx
lea rcx, str.icon
lea rdx, str.Golden_Age
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea r8, str.ICON_GOLDEN_AGE
mov edx, ebx
mov al, 0x49
nop dword [rax]
movsx ecx, al
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
movzx eax, byte [r8]
test al, al
jne 0x14000b450
mov dword [0x1400b2e1c], edx
lea rcx, str.icon
lea rdx, str.Heroic_Age
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.140001630
lea rdx, str.ICON_HEROIC_AGE
mov al, 0x49
nop word [rax + rax]
movsx ecx, al
lea rdx, [rdx + 1]
mov eax, ebx
shr ebx, 8
xor rcx, rax
movzx eax, cl
xor ebx, dword [rdi + rax*4]
movzx eax, byte [rdx]
test al, al
jne 0x14000b4a0
mov dword [0x1400b2e28], ebx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret