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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
movaps xmmword [rsp + 0xc0], xmm6
mov rax, qword [0x1800649a8]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1800228c0
mov r13, rax
mov edx, dword [0x180064358]
mov rcx, qword gs:[0x58]
mov eax, 4
mov rcx, qword [rcx + rdx*8]
mov edx, dword [rax + rcx]
cmp dword [0x180064c68], edx
jle 0x18004bb22
lea rcx, [0x180064c68]
call fcn.18004cedc
cmp dword [0x180064c68], 0xffffffff
jne 0x18004bb22
lea rcx, [0x18004f700]
call fcn.18004cbe8
lea rcx, [0x180064c68]
call fcn.18004ce7c
mov rax, qword [0x180064bb8]
mov qword [0x180064bc0], rax
movabs rax, 0x1419d5958
mov rax, qword [rax]
mov rsi, qword [rax + 8]
mov edi, dword [rax + 0x10]
xor ebx, ebx
test edi, edi
je 0x18004bb9a
nop word [rax + rax]
lea eax, [rbx*8]
mov rax, qword [rax + rsi]
mov qword [rsp + 0x120], rax
mov rcx, qword [0x180064bc0]
cmp rcx, qword [0x180064bc8]
je 0x18004bb80
mov qword [rcx], rax
add qword [0x180064bc0], 8
jmp 0x18004bb94
lea r8, [rsp + 0x120]
mov rdx, qword [0x180064bc0]
call fcn.18004c2c0
inc ebx
cmp ebx, edi
jb 0x18004bb50
xor r15d, r15d
mov rax, qword [0x180064bc0]
sub rax, qword [0x180064bb8]
sar rax, 3
test rax, rax
je 0x18004c192
xor r14d, r14d
movabs rsi, 0xcbf29ce484222325
movabs rbx, 0x1401aae90
movabs r12, 0x100000001b3
xorps xmm6, xmm6
movabs rcx, 0x1419f5940
mov rax, qword [0x180064068]
cmp byte [rax + 0x1b], 0
je 0x18004c16d
mov rbp, qword [rcx]
test rbp, rbp
je 0x18004bc25
mov rdx, qword [rbp + 0x4048]
mov rdi, rsi
nop dword [rax]
movsx rcx, byte [rdx]
lea rdx, [rdx + 1]
xor rdi, rcx
imul rdi, r12
test cl, cl
jne 0x18004bc10
jmp 0x18004bc27
xor edi, edi
xor r9d, r9d
lea r8, [rsp + 0x120]
xor edx, edx
lea rcx, [0x180064bd0]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x18004c22c
cmp dword [rsp + 0x120], 0
je 0x18004bcf1
test rbp, rbp
je 0x18004bcd7
mov rax, qword [0x180064068]
cmp dword [rax + 0x30], 0
jbe 0x18004bcd7
mov r9, qword [rbp + 0x4048]
mov r8, rsi
nop dword [rax]
nop word [rax + rax]
movsx rdx, byte [r9]
lea r9, [r9 + 1]
xor r8, rdx
imul r8, r12
test dl, dl
jne 0x18004bc80
mov qword [rsp + 0x130], r8
lea rdx, [rsp + 0x130]
mov rcx, qword [0x180064070]
call fcn.180017cc0
mov rcx, qword [0x180064068]
mov edx, dword [rcx + 0x30]
dec edx
lea r9, [rdx + rdx*2]
add r9, r9
mov rdx, qword [rax]
mov r8d, dword [rdx + r9*8 + 0x28]
mov rdx, qword [rdx + r9*8]
mov rcx, rbp
call fcn.18004c490
nop
xor r8d, r8d
xor edx, edx
lea rcx, [0x180064bd0]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x18004c22c
mov rcx, qword [rbp + 0x4038]
sub rcx, qword [rbp + 0x4030]
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18004bd8a
mov r8, qword [rbp + 0x4048]
mov rdx, rsi
nop word [rax + rax]
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r12
test cl, cl
jne 0x18004bd30
movabs rax, 0xf984545cfa78101f
cmp rdx, rax
je 0x18004c16d
movabs rax, 0x2d0a42b1a4f18a79
cmp rdx, rax
je 0x18004c16d
mov rax, qword [rbp + 0x4030]
mov edx, dword [rbp + 0x4068]
cmp dword [rax + 0x20], edx
je 0x18004bd8a
mov dword [rax + 0x20], edx
mov dl, 1
lea rcx, [rbp + 0x4030]
call rbx
nop
mov rax, qword [0x180064bb8]
mov rcx, qword [r14 + rax]
mov r8, qword [rcx + 0x4048]
mov rbx, rsi
nop
movsx rdx, byte [r8]
lea r8, [r8 + 1]
xor rbx, rdx
imul rbx, r12
test dl, dl
jne 0x18004bda0
movabs rax, 0x140218130
call rax
mov rsi, rax
test rax, rax
je 0x18004c137
mov rcx, qword [0x180064068]
cmp byte [rcx + 0x1d], 0
je 0x18004bf2b
movabs rax, 0xdccb83f12e64ce0
cmp rbx, rax
je 0x18004bdfe
movabs rax, 0x80dccc539a84ddb5
cmp rbx, rax
jne 0x18004bf2b
mov rax, qword [0x180064bb8]
mov rcx, qword [r14 + rax]
movsd xmm0, qword [rcx + 0x24c]
movsd qword [rsp + 0x90], xmm0
mov eax, dword [rcx + 0x254]
mov dword [rsp + 0x98], eax
movabs rax, qword [0x1419d5918]
lea rcx, [rax + 0x270]
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x90]
movabs rax, 0x140f91190
call rax
movaps xmm0, xmmword [0x18005ab80]
movups xmmword [rsp + 0xb0], xmm0
lea rcx, [rsp + 0xb0]
call fcn.180020950
mov r8d, eax
movss xmm0, dword [rsp + 0xa0]
movss dword [rsp + 0x128], xmm0
movss xmm1, dword [rsp + 0xa4]
movss dword [rsp + 0x12c], xmm1
lea rdx, str.Timo
movabs rax, 0xdccb83f12e64ce0
cmp rbx, rax
lea rax, str.Clown
cmove rdx, rax
test r8d, 0xff000000
je 0x18004bf2b
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x18004bec6
add rcx, rdx
cmp rdx, rcx
je 0x18004bf2b
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rsp + 0xb0], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm6
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdx
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rsp + 0x128]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180043630
movabs rax, 0x37d1bfa7d195ebf9
cmp rbx, rax
je 0x18004bffc
movabs rax, 0x92fe97d6caa88c20
cmp rbx, rax
je 0x18004bffc
movabs rax, 0xa854d43ddb55ddcc
cmp rbx, rax
je 0x18004bffc
movabs rax, 0xb8f3ad4931029355
movabs rdx, 0xdb76082138fdee7f
cmp rbx, rax
je 0x18004c006
movabs rax, 0xaedcd71796ade290
cmp rbx, rax
je 0x18004c006
cmp rbx, rdx
je 0x18004c006
movabs rax, 0xf17870527758213f
cmp rbx, rax
je 0x18004c159
movabs rax, 0x8499db0ed7bb81cf
cmp rbx, rax
je 0x18004c159
mov edx, dword [rsi + 0x4068]
mov rax, qword [0x180064bb8]
mov rcx, qword [r14 + rax]
cmp edx, 0xffffffff
je 0x18004c159
add rcx, 0x4030
cmp dword [rcx + 0x38], edx
je 0x18004c159
mov dword [rcx + 0x38], edx
mov dl, 1
movabs rbx, 0x1401aae90
call rbx
nop
jmp 0x18004c163
movabs rdx, 0xdb76082138fdee7f
test rbp, rbp
je 0x18004c014
cmp rsi, rbp
jne 0x18004c159
cmp rbx, rdx
jne 0x18004c0fd
movabs rax, 0x222b948fbf568318
cmp rdi, rax
mov rax, qword [0x180064bb8]
mov rcx, qword [r14 + rax]
jne 0x18004c0d8
mov r8d, dword [rsi + 0x4068]
cmp r8d, 0xffffffff
je 0x18004c159
add rcx, 0x4030
cmp dword [rcx + 0x38], r8d
je 0x18004c159
mov dword [rcx + 0x38], r8d
mov rax, qword [rcx]
mov qword [rcx + 8], rax
mov dword [rsp + 0x80], 1
mov byte [rsp + 0x78], 0
mov dword [rsp + 0x70], 0
lea rdi, [0x18005a488]
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x50], 0xff
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x40], 1
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea rdx, str.Yone
movabs rax, 0x1401c1240
call rax
nop
jmp 0x18004c159
add rcx, 0x4030
cmp dword [rcx + 0x38], 0
je 0x18004c159
mov dword [rcx + 0x38], 0
mov dl, 1
movabs rbx, 0x1401aae90
call rbx
nop
jmp 0x18004c163
mov rax, qword [0x180064068]
mov edx, dword [rax + 0x38]
mov rax, qword [0x180064bb8]
mov rcx, qword [r14 + rax]
cmp edx, 0xffffffff
je 0x18004c159
add rcx, 0x4030
cmp dword [rcx + 0x38], edx
je 0x18004c159
mov dword [rcx + 0x38], edx
mov dl, 1
movabs rbx, 0x1401aae90
call rbx
nop
jmp 0x18004c163
movabs rax, 0x1ecf7680ae6d72bd
cmp rbx, rax
jne 0x18004c1ae
movabs rax, 0xfca7b000ade2abcb
cmp rdi, rax
je 0x18004c1eb
movabs rbx, 0x1401aae90
movabs rsi, 0xcbf29ce484222325
inc r15d
add r14, 8
mov rcx, qword [0x180064bc0]
sub rcx, qword [0x180064bb8]
sar rcx, 3
movsxd rax, r15d
cmp rax, rcx
jb 0x18004bbdc
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
movabs rax, 0xfcb981acde90c192
cmp rbx, rax
jne 0x18004c1c9
movabs rax, 0x6972baf895e90386
jmp 0x18004c150
movabs rax, 0xfc61c19e80fc9d68
cmp rbx, rax
jne 0x18004c159
movabs rax, 0xf01bf70c1ff22b66
cmp rdi, rax
jne 0x18004c159
mov edx, dword [rbp + 0x4068]
mov rax, qword [0x180064bb8]
mov rcx, qword [r14 + rax]
cmp edx, 0xffffffff
je 0x18004c159
add rcx, 0x4030
cmp dword [rcx + 0x38], edx
je 0x18004c159
mov dword [rcx + 0x38], edx
mov dl, 1
movabs rbx, 0x1401aae90
call rbx
nop
jmp 0x18004c163
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3