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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [r11 - 0x38]
sub rsp, 0x110
mov rax, qword [0x1401ef0c0]
xor rax, rsp
mov qword [rsp + 0x68], rax
movzx eax, byte [rdx + 3]
lea r8, str.Foreground
movss xmm1, dword [0x1401caed8]
mov r15, rcx
mov rcx, qword [0x140273d10]
movss xmm2, dword [0x1401caf0c]
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movss xmm0, dword [rcx + 0x238]
subss xmm0, dword [0x1401cb0b4]
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x88], xmm11
movaps xmmword [r11 - 0x98], xmm12
movss xmm12, dword [0x140272ac8]
addss xmm12, dword [rcx]
movaps xmmword [r11 - 0xa8], xmm13
movaps xmmword [r11 - 0xb8], xmm14
movss xmm14, dword [0x140272acc]
addss xmm14, dword [rcx + 4]
addss xmm12, xmm0
movaps xmmword [rsp + 0x70], xmm15
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x60], rdx
subss xmm14, xmm2
movss dword [rsp + 0x5c], xmm12
mulss xmm0, dword [rcx + 0x2f0]
addss xmm12, xmm2
cvttss2si eax, xmm0
movss dword [rsp + 0x50], xmm14
addss xmm14, xmm2
movzx ecx, al
movzx eax, byte [rdx + 2]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm15, eax
movzx eax, byte [rdx + 1]
movss dword [rsp + 0x54], xmm0
mulss xmm0, xmm1
movd xmm13, eax
movzx eax, byte [rdx]
mov edx, 1
cvttss2si ebx, xmm0
movd xmm11, eax
mov rax, qword [0x1402718d8]
cvtdq2ps xmm15, xmm15
mov rax, qword [rax + 0x48b8]
cvtdq2ps xmm13, xmm13
mov rcx, qword [rax]
movaps xmm0, xmm15
mulss xmm0, xmm1
cvtdq2ps xmm11, xmm11
cvttss2si edi, xmm0
movaps xmm0, xmm13
mulss xmm0, xmm1
cvttss2si esi, xmm0
movaps xmm0, xmm11
mulss xmm0, xmm1
cvttss2si r14d, xmm0
call fcn.1400561d0
mov r11, rax
movzx ecx, bl
movzx eax, r14b
movss xmm10, dword [0x1401cb110]
movd xmm9, ecx
movzx ecx, dil
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movd xmm8, ecx
divss xmm6, xmm10
movzx ecx, sil
movd xmm7, ecx
cvtdq2ps xmm9, xmm9
cvtdq2ps xmm8, xmm8
cvtdq2ps xmm7, xmm7
movss dword [rsp + 0x40], xmm6
divss xmm9, xmm10
divss xmm8, xmm10
divss xmm7, xmm10
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x48], xmm8
movss dword [rsp + 0x4c], xmm9
call fcn.140053cc0
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x40], xmm6
mov r10d, eax
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x48], xmm8
movss dword [rsp + 0x4c], xmm9
call fcn.140053cc0
movss xmm6, dword [rsp + 0x54]
lea rcx, [rsp + 0x40]
divss xmm6, xmm10
mov r9d, eax
divss xmm15, xmm10
divss xmm13, xmm10
divss xmm11, xmm10
movss dword [rsp + 0x4c], xmm6
movss dword [rsp + 0x40], xmm11
movss dword [rsp + 0x44], xmm13
movss dword [rsp + 0x48], xmm15
call fcn.140053cc0
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x40], xmm11
mov r8d, eax
movss dword [rsp + 0x44], xmm13
movss dword [rsp + 0x48], xmm15
movss dword [rsp + 0x4c], xmm6
call fcn.140053cc0
movss xmm7, dword [0x1401cafe0]
lea rdx, [rsp + 0x40]
movss xmm6, dword [0x1401cb00c]
movaps xmm1, xmm14
mov dword [rsp + 0x30], r10d
addss xmm1, xmm7
mov dword [rsp + 0x28], r9d
movaps xmm0, xmm12
addss xmm0, xmm6
mov dword [rsp + 0x20], r8d
mov r9d, eax
movss dword [rsp + 0x40], xmm12
lea r8, [rsp + 0x54]
movss dword [rsp + 0x44], xmm14
mov rcx, r11
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x54], xmm0
call fcn.140073ab0
mov rax, qword [0x140272c18]
xor ebx, ebx
movaps xmm15, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
test rax, rax
jne 0x140028ea0
lea ecx, [rbx + 8]
call fcn.14015d780
mov qword [rsp + 0x40], rax
mov qword [0x140272c18], rax
mov qword [rax], rbx
mov dword [rax + 4], ebx
movss xmm3, dword [rax]
movss xmm1, dword [rsp + 0x5c]
comiss xmm3, xmm1
mov rdi, qword [0x140273d10]
mov qword [rsp + 0x140], r12
movss xmm2, dword [rsp + 0x50]
jbe 0x140028f24
movss xmm4, dword [rax + 4]
comiss xmm4, xmm2
jbe 0x140028f24
movaps xmm0, xmm1
addss xmm0, xmm6
comiss xmm0, xmm3
jbe 0x140028f24
movaps xmm0, xmm2
addss xmm0, xmm7
comiss xmm0, xmm4
jbe 0x140028f24
movss xmm4, dword [rdi + 0x230]
comiss xmm3, xmm4
movss xmm0, dword [rdi + 0x234]
jbe 0x140028f24
movss xmm5, dword [rax + 4]
comiss xmm5, xmm0
jbe 0x140028f24
addss xmm4, dword [rdi + 0x238]
comiss xmm4, xmm3
jbe 0x140028f24
addss xmm0, dword [rdi + 0x23c]
comiss xmm0, xmm5
jbe 0x140028f24
mov r12b, 1
jmp 0x140028f27
xor r12b, r12b
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
cmp qword [rdi + 0x260], rbx
jne 0x140029024
test r12b, r12b
je 0x14002920a
mov ecx, 1
call fcn.14007bd70
xor edx, edx
mov ecx, eax
xor r8d, r8d
call fcn.14005ee80
test al, al
je 0x140028fb0
cmp qword [r15 + 0x18], 0xf
mov r8, qword [r15 + 0x10]
jbe 0x140028f75
mov r15, qword [r15]
movabs rcx, 0xcbf29ce484222325
test r8, r8
je 0x140028fa4
movabs rdx, 0x100000001b3
nop
movzx eax, byte [r15 + rbx]
inc rbx
xor rcx, rax
imul rcx, rdx
cmp rbx, r8
jb 0x140028f90
mov qword [rdi + 0x260], rcx
jmp 0x14002920a
mov ecx, 2
call fcn.14007bd70
mov ecx, eax
xor edx, edx
xor r8d, r8d
call fcn.14005ee80
test al, al
je 0x14002920a
cmp qword [r15 + 0x18], 0xf
mov r8, qword [r15 + 0x10]
jbe 0x140028fdc
mov r15, qword [r15]
movabs rcx, 0xcbf29ce484222325
test r8, r8
je 0x140029014
movabs rdx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [r15 + rbx]
inc rbx
xor rcx, rax
imul rcx, rdx
cmp rbx, r8
jb 0x140029000
lea rax, [rcx + 0x45]
mov qword [rdi + 0x260], rax
jmp 0x14002920a
cmp qword [r15 + 0x18], 0xf
lea rax, [r15 + 0x10]
mov r14, qword [rax]
lea r10, [r15 + 0x18]
mov qword [rsp + 0x148], r13
mov rsi, r15
jbe 0x140029044
mov rsi, qword [r15]
movabs rcx, 0xcbf29ce484222325
mov r9, rbx
mov r8, rcx
mov r11, rax
movabs rdx, 0x100000001b3
test r14, r14
je 0x140029090
nop word [rax + rax]
movzx eax, byte [rsi + r9]
inc r9
xor r8, rax
imul r8, rdx
cmp r9, r14
jb 0x140029070
lea r11, [r15 + 0x10]
lea r10, [r15 + 0x18]
lea rax, [r15 + 0x10]
cmp qword [rdi + 0x260], r8
jne 0x14002911f
test r12b, r12b
je 0x140029202
mov dword [rdi + 0x180], ebx
cmp qword [r15 + 0x18], 0xf
mov r8, qword [rax]
jbe 0x1400290b9
mov r15, qword [r15]
test r8, r8
je 0x1400290d4
nop
movzx eax, byte [r15 + rbx]
inc rbx
xor rcx, rax
imul rcx, rdx
cmp rbx, r8
jb 0x1400290c0
mov rax, qword [0x140273d10]
addss xmm1, dword [0x1401caf0c]
addss xmm2, dword [0x1401cb000]
mov qword [rax + 0x168], rcx
mov rax, qword [0x140273d10]
movss dword [rax + 0x188], xmm1
movss dword [rax + 0x18c], xmm2
mov rax, qword [0x140273d10]
mov dword [rax + 0x184], 0xb4
jmp 0x1400291ef
cmp qword [r10], 0xf
mov rsi, r15
mov r14, qword [r11]
jbe 0x140029132
mov rsi, qword [r15]
lea r11, [r15 + 0x10]
mov r8, rcx
mov r9, rbx
test r14, r14
je 0x14002915c
nop dword [rax]
movzx eax, byte [r9 + rsi]
inc r9
xor r8, rax
imul r8, rdx
cmp r9, r14
jb 0x140029140
lea r11, [r15 + 0x10]
lea r10, [r15 + 0x18]
lea rax, [r8 + 0x45]
cmp qword [rdi + 0x260], rax
jne 0x140029202
test r12b, r12b
je 0x140029202
mov dword [rdi + 0x180], 1
cmp qword [r10], 0xf
mov r8, qword [r11]
jbe 0x14002918c
mov r15, qword [r15]
test r8, r8
je 0x1400291a5
movzx eax, byte [r15 + rbx]
inc rbx
xor rcx, rax
imul rcx, rdx
cmp rbx, r8
jb 0x140029191
mov rax, qword [0x140273d10]
add rcx, 0x45
addss xmm1, dword [0x1401caf0c]
addss xmm2, dword [0x1401cb000]
mov qword [rax + 0x168], rcx
mov rax, qword [0x140273d10]
movss dword [rax + 0x188], xmm1
movss dword [rax + 0x18c], xmm2
mov rax, qword [0x140273d10]
mov dword [rax + 0x184], 0x64
mov rax, qword [0x140273d10]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x170], rcx
mov r13, qword [rsp + 0x148]
mov r12, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14015d760
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret