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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov r12, rdx
mov r14, rcx
xor r13d, r13d
lea r15, [r13 - 1]
movss xmm8, dword [0x1401cb0c8]
movss xmm14, dword [0x1401cb0d8]
movss xmm13, dword [0x1401cb004]
movss xmm7, dword [0x1401cb1dc]
movss xmm15, dword [0x1401cafe0]
movabs r9, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
mov r8, qword [r14 + 0x10]
mov rdx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x140037eae
mov rdx, qword [r14]
mov rdi, rcx
mov rcx, r13
test r8, r8
je 0x140037ed3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r9
inc rcx
cmp rcx, r8
jb 0x140037ec0
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.140039b40
nop
mov r9, qword [rax]
cmp qword [r9 + 0x18], 0xf
jbe 0x140037eed
mov r9, qword [r9]
mov rsi, r15
inc rsi
cmp byte [r9 + rsi], 0
jne 0x140037ef0
mov rax, qword [0x1401efdb0]
cmp rsi, rax
ja 0x140037f34
lea rbx, [0x1401efd98]
cmp rax, 0xf
cmova rbx, qword [0x1401efd98]
mov qword [0x1401efda8], rsi
mov r8, rsi
mov rdx, r9
mov rcx, rbx
call fcn.14018f070
mov byte [rbx + rsi], 0
jmp 0x140037f44
mov rdx, rsi
lea rcx, [0x1401efd98]
call fcn.1400092a0
nop
lea rcx, [rbp - 0x70]
call fcn.140008d70
mov dword [0x1402718c4], edi
mov rbx, qword [0x140271c28]
mov rax, qword [rbx + 8]
mov rdx, rbx
movzx r8d, byte [rax + 0x19]
test r8b, r8b
jne 0x140037f87
mov rcx, rax
nop
cmp dword [rcx + 0x1c], edi
jge 0x140037f7b
mov rcx, qword [rcx + 0x10]
jmp 0x140037f81
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140037f70
cmp byte [rdx + 0x19], 0
jne 0x140037f9b
cmp edi, dword [rdx + 0x1c]
jl 0x140037f9b
cmp rdx, rbx
jne 0x140038055
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], r13d
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], r13d
mov rcx, rbx
test r8b, r8b
jne 0x140037fdf
mov qword [rsp + 0x70], rax
cmp dword [rax + 0x1c], edi
jge 0x140037fcb
mov dword [rsp + 0x78], r13d
mov rax, qword [rax + 0x10]
jmp 0x140037fd9
mov dword [rsp + 0x78], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140037fb6
cmp byte [rcx + 0x19], 0
jne 0x140037fea
cmp edi, dword [rcx + 0x1c]
jge 0x140038055
movabs rax, 0x666666666666666
cmp qword [0x140271c30], rax
je 0x1400387be
lea rsi, [0x140271c28]
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], r13
mov ecx, 0x28
call fcn.14015d780
nop
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x1c], rcx
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], 0
mov qword [rbp - 0x28], r13
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x70], xmm0
mov r8, rax
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.140009ba0
jmp 0x14003805c
lea rsi, [0x140271c28]
mov r9, qword [0x140273d10]
cmp qword [r9 + 0x38], 0
jne 0x140038074
xorps xmm11, xmm11
xorps xmm12, xmm12
jmp 0x1400380d4
mov r8, qword [r9 + 0x38]
mov rdx, qword [r9 + 0x30]
dec rdx
add rdx, r8
mov rcx, rdx
shr rcx, 1
mov rax, qword [r9 + 0x28]
dec rax
and rcx, rax
and edx, 1
mov rax, qword [r9 + 0x20]
mov rcx, qword [rax + rcx*8]
movss xmm12, dword [rcx + rdx*8 + 4]
movss xmm11, dword [rcx + rdx*8]
lea rax, [r8 - 1]
mov qword [r9 + 0x38], rax
test rax, rax
jne 0x1400380bb
mov qword [r9 + 0x30], r13
movss dword [0x140272ac8], xmm11
movss dword [0x140272acc], xmm12
mov r9, qword [0x140273d10]
xorps xmm6, xmm6
movss xmm2, dword [r12]
divss xmm2, xmm8
movss xmm3, dword [r12 + 4]
divss xmm3, xmm8
movss xmm0, dword [r9 + 8]
subss xmm0, xmm14
subss xmm0, xmm13
subss xmm0, xmm13
cvttss2si r11d, xmm0
mov r8, qword [r9 + 0x58]
mov rdx, qword [r8 + 8]
mov rcx, r8
movzx ebx, byte [rdx + 0x19]
test bl, bl
jne 0x14003813a
mov r10d, dword [r9 + 0x68]
mov rax, rdx
cmp dword [rax + 0x20], r10d
jge 0x14003812e
mov rax, qword [rax + 0x10]
jmp 0x140038134
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140038122
cmp byte [rcx + 0x19], 0
jne 0x1400387b1
mov eax, dword [rcx + 0x20]
cmp dword [r9 + 0x68], eax
jl 0x1400387b1
mov rax, qword [rcx + 0x30]
sub rax, qword [rcx + 0x28]
mov ecx, 0x64
cmp rax, 0x40
mov eax, 0x82
cmovae ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss xmm1, dword [r9 + 0xc]
subss xmm1, xmm0
cvttss2si r10d, xmm1
ucomiss xmm11, dword [0x1401cb0e0]
movss xmm1, dword [0x1401caf0c]
jp 0x14003819f
jne 0x14003819f
ucomiss xmm2, xmm1
jp 0x14003819f
jne 0x14003819f
add r11d, 0xa
movd xmm9, r11d
cvtdq2ps xmm9, xmm9
mulss xmm9, xmm2
test bl, bl
jne 0x1400381cc
mov eax, dword [r9 + 0x68]
cmp dword [rdx + 0x20], eax
jge 0x1400381c0
mov rdx, qword [rdx + 0x10]
jmp 0x1400381c6
mov r8, rdx
mov rdx, qword [rdx]
cmp byte [rdx + 0x19], 0
je 0x1400381b5
cmp byte [r8 + 0x19], 0
jne 0x1400387b1
mov eax, dword [r8 + 0x20]
cmp dword [r9 + 0x68], eax
jl 0x1400387b1
mov rcx, qword [r8 + 0x30]
sub rcx, qword [r8 + 0x28]
sar rcx, 6
xorps xmm0, xmm0
test rcx, rcx
js 0x140038200
cvtsi2ss xmm0, rcx
jmp 0x140038215
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
ucomiss xmm12, xmm0
jp 0x14003821d
je 0x140038224
ucomiss xmm3, xmm1
jp 0x140038228
jne 0x140038228
add r10d, 0xa
movd xmm10, r10d
cvtdq2ps xmm10, xmm10
mulss xmm10, xmm3
movss xmm0, dword [0x1401c8150]
ucomiss xmm0, xmm7
jp 0x140038245
je 0x140038249
movaps xmm9, xmm0
movss xmm0, dword [0x1401c8154]
ucomiss xmm0, xmm7
jp 0x140038258
je 0x14003825c
movaps xmm10, xmm0
movaps xmm1, xmm12
subss xmm1, xmm15
addss xmm1, xmm10
movss xmm0, dword [r9 + 0xc]
subss xmm0, xmm15
comiss xmm1, xmm0
jbe 0x140038306
addss xmm9, xmm15
addss xmm11, xmm9
movss dword [rsp + 0x40], xmm11
mov rcx, qword [r9 + 0x58]
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400382b8
mov edx, dword [r9 + 0x68]
cmp dword [rax + 0x20], edx
jge 0x1400382ac
mov rax, qword [rax + 0x10]
jmp 0x1400382b2
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400382a1
cmp byte [rcx + 0x19], 0
jne 0x1400387b1
mov eax, dword [rcx + 0x20]
cmp dword [r9 + 0x68], eax
jl 0x1400387b1
mov rax, qword [rcx + 0x30]
sub rax, qword [rcx + 0x28]
test rax, 0xffffffffffffffc0
mov eax, 0x46
mov ecx, 0x6e
cmovne eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x44], xmm0
lea rcx, [rsp + 0x40]
call fcn.1400399f0
jmp 0x140037e89
movaps xmm13, xmm12
addss xmm13, dword [r9 + 4]
movaps xmm14, xmm11
addss xmm14, dword [r9]
movss xmm0, dword [r9 + 0x2f0]
movss xmm8, dword [0x1401cb110]
mulss xmm0, xmm8
cvttss2si ebx, xmm0
mov rax, qword [0x1402718d8]
mov rax, qword [rax + 0x48b8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400561d0
mov r10, rax
movzx ecx, bl
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm8
mov dword [rsp + 0x40], 0x3db8b8b9
mov dword [rsp + 0x44], 0x3db8b8b9
mov dword [rsp + 0x48], 0x3db8b8b9
movss dword [rsp + 0x4c], xmm1
lea rcx, [rsp + 0x40]
call fcn.140053cc0
movaps xmm1, xmm13
addss xmm1, xmm10
movaps xmm0, xmm14
addss xmm0, xmm9
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x50], xmm14
movss dword [rsp + 0x54], xmm13
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.140073900
mov rax, qword [0x140273d10]
movss xmm0, dword [rax + 0x2f0]
mulss xmm0, xmm8
cvttss2si ebx, xmm0
movaps xmm7, xmm13
subss xmm7, dword [0x1401caf0c]
movaps xmm6, xmm14
subss xmm6, dword [0x1401caf0c]
mov rax, qword [0x1402718d8]
mov rax, qword [rax + 0x48b8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400561d0
mov r10, rax
movzx ecx, bl
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm8
mov dword [rsp + 0x40], 0x3df0f0f1
mov dword [rsp + 0x44], 0x3df0f0f1
mov dword [rsp + 0x48], 0x3df0f0f1
movss dword [rsp + 0x4c], xmm1
lea rcx, [rsp + 0x40]
call fcn.140053cc0
movaps xmm1, xmm10
movss xmm2, dword [0x1401caf0c]
addss xmm1, xmm2
addss xmm1, xmm7
movaps xmm0, xmm9
addss xmm0, xmm2
addss xmm0, xmm6
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm7
movss dword [rsp + 0x30], xmm2
xorps xmm6, xmm6
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.1400737f0
movss dword [0x140272ac0], xmm14
movss dword [0x140272ac4], xmm13
movss dword [0x140271d88], xmm9
movss dword [0x140271d8c], xmm10
movaps xmm0, xmm10
subss xmm0, dword [0x1401cb088]
movss dword [rsp + 0x40], xmm9
movss dword [rsp + 0x44], xmm0
movaps xmm1, xmm13
addss xmm1, dword [0x1401cb058]
movss dword [rsp + 0x50], xmm14
movss dword [rsp + 0x54], xmm1
mov r8b, 1
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140082dc0
mov dword [rsp + 0x60], edi
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.140039750
mov ecx, dword [rax]
add ecx, 0x23
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addss xmm1, xmm12
movaps xmm0, xmm11
addss xmm0, dword [0x1401cb020]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
lea rcx, [rsp + 0x40]
call fcn.1400399f0
movabs rax, 0x7f83f04bb9fdbe53
mov qword [rsp + 0x50], rax
movabs r9, 0x7231519afd9ef8de
mov qword [rsp + 0x58], r9
movabs r8, 0x7f83f04bb9fdbe7d
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], r9
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rsp + 0x50], xmm0
mov rax, qword [0x140273d10]
movsxd rdx, dword [rax + 0x68]
shl rdx, 6
add rdx, 0x20
add rdx, qword [rax + 0x40]
movabs rax, 0x7f83f065cd92d10f
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r9
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], r9
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x40]
mov rcx, r15
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x140038600
mov r8, qword [rdx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x1400387c4
cmp qword [rdx + 0x18], 0xf
jbe 0x14003862d
mov rdx, qword [rdx]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.140039850
nop
lea rax, [rsp + 0x50]
inc r15
cmp byte [rax + r15], 0
jne 0x140038650
mov r8, r15
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x50]
call fcn.140035650
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0xf
jbe 0x1400386a6
mov r14, qword [r14]
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.140035650
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rcx, qword [0x140273d10]
add rcx, 0x240
lea rdx, [rsp + 0x70]
call fcn.140008a90
lea rcx, [rsp + 0x70]
call fcn.140008e00
nop
lea rcx, [rbp - 0x70]
call fcn.140008e00
nop
lea rcx, [rbp - 0x50]
call fcn.140008e00
mov rax, qword [0x140273d10]
addss xmm11, xmm6
movss dword [rax + 0x10], xmm11
movaps xmm0, xmm10
addss xmm0, xmm15
addss xmm0, xmm12
movss dword [rax + 0x14], xmm0
mov rax, qword [0x140273d10]
movss dword [rax + 0x230], xmm14
movss dword [rax + 0x234], xmm13
mov rax, qword [0x140273d10]
movss dword [rax + 0x238], xmm9
movss dword [rax + 0x23c], xmm10
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.invalid_map_K__T__key
call fcn.14015c384
int3
call fcn.1400059f0
int3
call fcn.1400059a0
int3