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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x258
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [0x18021d4c0]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov qword [rsp + 0x60], r9
movaps xmm14, xmm2
movaps xmm9, xmm1
movss dword [rsp + 0x5c], xmm9
movsxd rax, ecx
mov dword [rsp + 0x58], eax
xor r12d, r12d
mov dword [rsp + 0x50], r12d
mov qword [rsp + 0x68], rax
lea rax, [rax + rax*2]
shl rax, 4
mov qword [rbp + 0x40], rax
lea rcx, [0x180000000]
lea rdi, [rcx + 0x2280f4]
add rdi, rax
lea rbx, [rcx + 0x2280fc]
add rbx, rax
movss xmm1, dword [0x1801f53bc]
cmp byte [rcx + rax + 0x2280f0], r12b
je 0x18005fc9b
movss xmm2, dword [0x18021e1c0]
lea rdx, [rsp + 0x50]
mov rcx, rdi
mulss xmm2, xmm1
cmp byte [rbx], r12b
je 0x18005fc8c
mov dword [rsp + 0x50], 0xbf800000
call fcn.18008e240
jmp 0x18005fc9e
mov dword [rsp + 0x50], 0x40000000
call fcn.18008e240
jmp 0x18005fc9e
mov dword [rdi], r12d
movss xmm0, dword [rdi]
comiss xmm0, dword [0x1801f5580]
jbe 0x18005fcae
mov byte [rbx], 1
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x18005fcb9
mov byte [rbx], r12b
movss xmm12, dword [0x180227fcc]
movaps xmm7, xmm12
mulss xmm7, dword [0x1801f56cc]
movss xmm8, dword [0x1801f57ac]
divss xmm7, xmm8
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 6
mov qword [rbp - 0x78], 0xf
mov eax, dword [str.height]
mov dword [rsp + 0x70], eax
movzx ecx, word [0x1801e2d50]
mov word [rsp + 0x74], cx
mov byte [rsp + 0x76], r12b
cmp eax, 0x67696568
jne 0x18005fd28
cmp cx, 0x7468
jne 0x18005fd28
mulss xmm12, dword [0x1801f5398]
jmp 0x18005fd2f
movss xmm12, dword [rsp + 0x58]
movaps xmm0, xmm12
mulss xmm0, dword [0x1801f54f4]
subss xmm14, xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 8
mov qword [rbp - 0x78], 0xf
movabs rax, 0x4955476b63696c43
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x78], r12b
movabs rsi, 0xcbf29ce484222325
mov rcx, rsi
mov rdx, r12
movabs rbx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rsp + rdx + 0x70]
xor rcx, rax
imul rcx, rbx
inc rdx
cmp rdx, 8
jb 0x18005fd90
mov qword [rsp + 0x50], rcx
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x20]
call fcn.180123c80
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x18005fdc8
lock inc dword [rax + 8]
mov r15, qword [rcx + 0x18]
mov qword [rbp - 0x30], r15
mov r13, qword [rcx + 0x20]
mov qword [rbp - 0x28], r13
mov edi, 0x40000
mov dword [rsp + 0x50], edi
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov ecx, 0x20
call fcn.18016f044
mov r14, rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x60], 0x13
mov qword [rbp - 0x58], 0x1f
movups xmm0, xmmword [str.colors_primary4_rgb]
movups xmmword [rax], xmm0
movzx ecx, word [0x1801e3510]
mov word [rax + 0x10], cx
movzx ecx, byte [0x1801e3512]
mov byte [rax + 0x12], cl
mov byte [rax + 0x13], 0
mov rcx, rsi
mov rdx, r12
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r14]
xor rcx, rax
imul rcx, rbx
inc rdx
cmp rdx, 0x13
jb 0x18005fe40
mov rax, qword [r15 + 0xa0]
and rax, rcx
add rax, rax
mov rcx, qword [r15 + 0x88]
mov rbx, qword [rcx + rax*8 + 8]
mov r12, qword [r15 + 0x78]
cmp rbx, r12
je 0x18005feb2
mov r15, qword [rcx + rax*8]
nop dword [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18005fe92
mov rdx, qword [rdx]
cmp rax, 0x13
jne 0x18005fea7
mov r8, rax
mov rcx, r14
call fcn.1801a4890
test eax, eax
je 0x18005feb4
cmp rbx, r15
je 0x18005feb2
mov rbx, qword [rbx + 8]
jmp 0x18005fe80
xor ebx, ebx
test rbx, rbx
je 0x18005fec4
cmp rbx, r12
je 0x18005fec4
mov rax, qword [rbx + 0x30]
jmp 0x18005fec6
xor eax, eax
movabs r15, 0x4955476b63696c43
cmp byte [rax + 0x28], 0
je 0x18005fee2
movups xmm0, xmmword [0x18026fe70]
jmp 0x18005ff6b
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movdqa xmm1, xmmword [reloc.d2d1.dll_Ordinal_8]
movdqu xmmword [rbp + 0x10], xmm1
mov qword [rbp], r15
mov byte [rbp + 8], 0
mov dword [rsp + 0x50], 0x40001
lea rdx, [rbp]
lea rcx, [rbp + 0x20]
call fcn.18011e400
nop
mov dword [rsp + 0x50], 0x40003
mov rbx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, 0xf
lea rdx, str.colors_primary4
lea rcx, [rbp - 0x50]
call fcn.18005a6f0
nop
mov edi, 0x40007
mov dword [rsp + 0x50], edi
lea rdx, [rbp - 0x50]
lea rcx, [rbx + 0x70]
call fcn.180047110
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x10]
call fcn.1800868e0
movups xmm0, xmmword [rax]
lea rax, [rbp - 0x30]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
test dil, 4
je 0x18005ff9f
and edi, 0xfffffffb
mov dword [rsp + 0x50], edi
mov r8, qword [rbp - 0x38]
cmp r8, 0xf
jbe 0x18005ff9f
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.18005a910
nop
test dil, 2
je 0x18005ffbb
and edi, 0xfffffffd
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x18005ffbb
call fcn.1800037d0
nop
test dil, 1
je 0x18005ffd2
and edi, 0xfffffffe
mov dword [rsp + 0x50], edi
lea rcx, [rbp]
call fcn.18005a950
nop
mov edx, 0x20
mov rcx, r14
call fcn.18016eee0
nop
test r13, r13
je 0x18005ffee
mov rcx, r13
call fcn.1800037d0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 8
mov qword [rbp - 0x78], 0xf
mov qword [rsp + 0x70], r15
mov byte [rsp + 0x78], 0
mov rcx, rsi
xor ebx, ebx
mov edx, ebx
movabs r13, 0x100000001b3
movzx eax, byte [rsp + rdx + 0x70]
xor rcx, rax
imul rcx, r13
inc rdx
cmp rdx, 8
jb 0x180060021
mov qword [rbp + 0x20], rcx
lea r8, [rbp + 0x20]
lea rdx, [rbp - 0x20]
call fcn.180123c80
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x18006005b
lock inc dword [rax + 8]
mov edi, dword [rsp + 0x50]
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x10], rax
mov r15, qword [rcx + 0x20]
mov qword [rbp - 8], r15
bts edi, 0x14
mov dword [rsp + 0x50], edi
lea r12, [rax + 0x70]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rbx
mov r8d, 0x11
lea rdx, str.o_colors_primary4
lea rcx, [rbp - 0x50]
call fcn.18005a6f0
lea rdx, [rbp - 0x50]
mov rbx, qword [rbp - 0x50]
mov r14, qword [rbp - 0x38]
cmp r14, 0xf
cmova rdx, rbx
mov r9, rsi
xor ecx, ecx
mov r8, qword [rbp - 0x40]
test r8, r8
je 0x1800600d3
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r13
inc rcx
cmp rcx, r8
jb 0x1800600c0
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.18004d780
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800600f9
cmp rcx, qword [r12 + 8]
je 0x1800600f9
mov rax, qword [rcx + 0x30]
jmp 0x1800600fb
xor eax, eax
movss xmm6, dword [rax + 0x28]
cmp r14, 0xf
jbe 0x180060138
lea rdx, [r14 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18006012f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006113b
mov rcx, rbx
call fcn.18016eee0
nop
test r15, r15
je 0x180060146
mov rcx, r15
call fcn.1800037d0
nop
movss xmm0, dword [rbp - 0x30]
movss dword [rbp + 0x20], xmm0
movss xmm1, dword [rbp - 0x2c]
movss dword [rbp + 0x24], xmm1
movss xmm0, dword [rbp - 0x28]
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm6
movaps xmm3, xmm12
mulss xmm3, dword [0x1801f5674]
movaps xmm1, xmm12
mulss xmm1, dword [0x1801f543c]
addss xmm1, xmm14
mov dword [rsp + 0x38], 0xf0
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm12
lea r8, [rbp + 0x20]
movaps xmm0, xmm9
call fcn.180080ef0
movss xmm7, dword [0x180227fcc]
mulss xmm7, dword [0x1801f56b8]
divss xmm7, xmm8
movaps xmm10, xmm12
mulss xmm10, dword [0x1801f5558]
movaps xmm13, xmm12
mulss xmm13, dword [0x1801f5470]
movaps xmm6, xmm14
addss xmm6, xmm13
movaps xmm15, xmm12
mulss xmm15, dword [0x1801f53f8]
mov rax, qword [rbp + 0x1c0]
cmp byte [rax], 0
je 0x180060240
movaps xmm2, xmm9
addss xmm2, xmm15
movaps xmm1, xmm2
addss xmm1, xmm10
movaps xmm0, xmm6
addss xmm0, xmm10
movss dword [rbp + 0x20], xmm2
movss dword [rbp + 0x24], xmm6
movss dword [rbp + 0x28], xmm1
movss dword [rbp + 0x2c], xmm0
mov r9b, 1
lea r8, [0x1801e1bec]
lea rdx, [rbp + 0x20]
mov ecx, 0x95
call fcn.180074970
jmp 0x180060283
mov rdx, qword [rsp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.1800868e0
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x10], xmm0
movaps xmm0, xmm9
addss xmm0, xmm15
mov dword [rsp + 0x38], 0xf0
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm10
lea r8, [rbp - 0x10]
movaps xmm1, xmm6
call fcn.180080ef0
movss xmm11, dword [0x180227fcc]
mulss xmm11, dword [0x1801f56c8]
divss xmm11, xmm8
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 8
mov qword [rbp - 0x58], 0xf
movabs rax, 0x4955476b63696c43
mov qword [rbp - 0x70], rax
mov byte [rbp - 0x68], 0
mov rcx, rsi
xor ebx, ebx
mov edx, ebx
nop word [rax + rax]
movzx eax, byte [rbp + rdx - 0x70]
xor rcx, rax
imul rcx, r13
inc rdx
cmp rdx, 8
jb 0x1800602d0
mov qword [rbp + 0x20], rcx
lea r8, [rbp + 0x20]
lea rdx, [rbp - 0x30]
call fcn.180123c80
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x18006030a
lock inc dword [rax + 8]
mov edi, dword [rsp + 0x50]
mov r15, qword [rcx + 0x18]
mov qword [rbp - 0x10], r15
mov rax, qword [rcx + 0x20]
mov qword [rbp + 0x20], rax
mov qword [rbp - 8], rax
bts edi, 0x15
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], rbx
mov r8d, 0x13
lea rdx, str.colors_primary3_rgb
lea rcx, [rbp + 0x80]
call fcn.18005a6f0
nop
lea r8, [rbp + 0x80]
mov r13, qword [rbp + 0x80]
mov r12, qword [rbp + 0x98]
cmp r12, 0xf
cmova r8, r13
mov rcx, rsi
mov rdx, rbx
mov r14, qword [rbp + 0x90]
test r14, r14
je 0x1800603a4
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r9
inc rdx
cmp rdx, r14
jb 0x180060390
mov rax, qword [r15 + 0xa0]
and rax, rcx
add rax, rax
mov rcx, qword [r15 + 0x88]
mov rbx, qword [rcx + rax*8 + 8]
mov rdx, qword [r15 + 0x78]
mov qword [rsp + 0x50], rdx
cmp rbx, rdx
je 0x180060419
mov r15, qword [rcx + rax*8]
nop
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800603e2
mov rdx, qword [rdx]
lea rcx, [rbp + 0x80]
cmp r12, 0xf
cmova rcx, r13
cmp r14, rax
jne 0x180060402
mov r8, r14
call fcn.1801a4890
test eax, eax
je 0x18006040d
cmp rbx, r15
je 0x180060414
mov rbx, qword [rbx + 8]
jmp 0x1800603d0
mov rdx, qword [rsp + 0x50]
jmp 0x18006041b
mov rdx, qword [rsp + 0x50]
xor ebx, ebx
test rbx, rbx
je 0x18006042b
cmp rbx, rdx
je 0x18006042b
mov rax, qword [rbx + 0x30]
jmp 0x18006042d
xor eax, eax
cmp byte [rax + 0x28], 0
je 0x18006043f
movups xmm0, xmmword [0x18026fe70]
jmp 0x1800604d1
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 8
lea rdx, str.ClickGUI
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
nop
or edi, 8
mov dword [rsp + 0x50], edi
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x20]
call fcn.18011e400
nop
or edi, 0x10
mov dword [rsp + 0x50], edi
mov rbx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, 0xf
lea rdx, str.colors_primary3
lea rcx, [rbp]
call fcn.18005a6f0
nop
or edi, 0x20
mov dword [rsp + 0x50], edi
lea rdx, [rbp]
lea rcx, [rbx + 0x70]
call fcn.180047110
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x50]
call fcn.1800868e0
movups xmm0, xmmword [rax]
lea rax, [rbp - 0x10]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
test dil, 0x20
je 0x180060501
and edi, 0xffffffdf
mov r8, qword [rbp + 0x18]
cmp r8, 0xf
jbe 0x180060501
mov rdx, qword [rbp]
lea rcx, [rbp]
call fcn.18005a910
nop
test dil, 0x10
je 0x180060519
and edi, 0xffffffef
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x180060519
call fcn.1800037d0
nop
test dil, 8
je 0x18006053c
and edi, 0xfffffff7
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x18006053c
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
cmp r12, 0xf
jbe 0x180060555
mov r8, r12
mov rdx, r13
lea rcx, [rbp + 0x80]
call fcn.18005a910
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x180060564
call fcn.1800037d0
nop
mov r15, qword [rbp + 0x40]
lea r14, [0x180000000]
cmp byte [r14 + r15 + 0x2280f0], 0
je 0x1800607b3
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, 8
lea rdx, str.ClickGUI
lea rcx, [rbp]
call fcn.18005a6f0
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
call fcn.18011e400
nop
mov rbx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 0x13
lea rdx, str.colors_primary1_rgb
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
nop
lea rdx, [rsp + 0x70]
lea rcx, [rbx + 0x70]
call fcn.180047110
cmp byte [rax + 0x28], 0
je 0x1800605fd
movups xmm0, xmmword [0x18026fe70]
jmp 0x18006068e
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
mov r8d, 8
lea rdx, str.ClickGUI
lea rcx, [rbp + 0x20]
call fcn.18005a6f0
nop
or edi, 0x40
mov dword [rsp + 0x50], edi
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x10]
call fcn.18011e400
nop
bts edi, 7
mov dword [rsp + 0x50], edi
mov rbx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, 0xf
lea rdx, str.colors_primary1
lea rcx, [rbp - 0x70]
call fcn.18005a6f0
nop
bts edi, 8
mov dword [rsp + 0x50], edi
lea rdx, [rbp - 0x70]
lea rcx, [rbx + 0x70]
call fcn.180047110
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x50]
call fcn.1800868e0
movups xmm0, xmmword [rax]
lea rax, [rbp - 0x20]
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
bt edi, 8
jae 0x1800606b1
btr edi, 8
lea rcx, [rbp - 0x70]
call fcn.18005a950
nop
test dil, dil
jns 0x1800606c4
btr edi, 7
lea rcx, [rbp - 0x10]
call fcn.180061150
nop
test dil, 0x40
je 0x1800606d7
and edi, 0xffffffbf
lea rcx, [rbp + 0x20]
call fcn.18005a950
nop
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800606f1
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x180060700
call fcn.1800037d0
nop
mov r8, qword [rbp + 0x18]
cmp r8, 0xf
jbe 0x180060717
mov rdx, qword [rbp]
lea rcx, [rbp]
call fcn.18005a910
cmp byte [r14 + r15 + 0x2280f0], 0
je 0x1800607b3
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, 8
lea rdx, str.ClickGUI
lea rcx, [rbp]
call fcn.18005a6f0
nop
bts edi, 9
mov dword [rsp + 0x50], edi
lea rdx, [rbp]
lea rcx, [rbp - 0x10]
call fcn.18011e400
nop
bts edi, 0xa
mov dword [rsp + 0x50], edi
mov rbx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, 0x11
lea rdx, str.o_colors_primary1
lea rcx, [rbp - 0x70]
call fcn.18005a6f0
nop
bts edi, 0xb
lea rdx, [rbp - 0x70]
lea rcx, [rbx + 0x70]
call fcn.180047110
movabs r14, 0x4955476b63696c43
jmp 0x180060833
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [reloc.d2d1.dll_Ordinal_8]
movdqu xmmword [rbp - 0x40], xmm1
movabs r14, 0x4955476b63696c43
mov qword [rbp - 0x50], r14
mov byte [rbp - 0x48], 0
bts edi, 0xc
mov dword [rsp + 0x50], edi
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x20]
call fcn.18011e400
nop
bts edi, 0xd
mov dword [rsp + 0x50], edi
mov rbx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 0x11
lea rdx, str.o_colors_primary3
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
bts edi, 0xe
lea rdx, [rsp + 0x70]
lea rcx, [rbx + 0x70]
call fcn.180047110
movss xmm6, dword [rax + 0x28]
bt edi, 0xe
jae 0x18006085c
btr edi, 0xe
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x18006085c
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
bt edi, 0xd
jae 0x180060875
btr edi, 0xd
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x180060875
call fcn.1800037d0
nop
bt edi, 0xc
jae 0x180060897
btr edi, 0xc
mov r8, qword [rbp - 0x38]
cmp r8, 0xf
jbe 0x180060897
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.18005a910
nop
bt edi, 0xb
jae 0x1800608ab
btr edi, 0xb
lea rcx, [rbp - 0x70]
call fcn.18005a950
nop
bt edi, 0xa
jae 0x1800608c4
btr edi, 0xa
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1800608c4
call fcn.1800037d0
nop
bt edi, 9
jae 0x1800608d7
btr edi, 9
lea rcx, [rbp]
call fcn.18005a950
movss xmm0, dword [rbp - 0x30]
movss dword [rbp + 0x40], xmm0
movss xmm1, dword [rbp - 0x2c]
movss dword [rbp + 0x44], xmm1
movss xmm0, dword [rbp - 0x28]
movss dword [rbp + 0x48], xmm0
movss dword [rbp + 0x4c], xmm6
movaps xmm9, xmm12
mulss xmm9, dword [0x1801f5550]
movaps xmm8, xmm12
mulss xmm8, dword [0x1801f5648]
movaps xmm7, xmm12
mulss xmm7, dword [0x1801f5480]
addss xmm7, xmm14
movaps xmm6, xmm12
mulss xmm6, dword [0x1801f5598]
addss xmm6, dword [rsp + 0x5c]
mov dword [rsp + 0x38], 0xf0
movss dword [rsp + 0x28], xmm11
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm8
lea r8, [rbp + 0x40]
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180080ef0
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
movdqa xmm1, xmmword [0x1801f5890]
movdqu xmmword [rbp + 0x70], xmm1
mov byte [rbp + 0x60], 0
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm6
mov r9d, 6
mov rbx, qword [rsp + 0x60]
mov r8, rbx
mov edx, dword [rsp + 0x58]
lea rcx, [rbp - 0x70]
call fcn.18007d390
mov rdx, rax
mov rcx, rbx
call fcn.1800447c0
mov r8, qword [rbp - 0x58]
cmp r8, 0xf
jbe 0x1800609cf
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.18005a910
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 1
jb 0x180061141
cmp qword [rbx + 0x18], 0xf
jbe 0x1800609f4
mov rbx, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 1
lea r9, [0x1801e35e4]
lea rcx, [rbp - 0x70]
call fcn.180056510
bts edi, 0x13
mov dword [rsp + 0x50], edi
mov rdx, qword [rbp + 0x78]
cmp rdx, 0xf
jbe 0x180060a5a
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180060a55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180061135
call fcn.18016eee0
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rbp + 0x70], xmm1
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 8
mov qword [rbp - 0x58], 0xf
mov qword [rbp - 0x70], r14
mov byte [rbp - 0x68], 0
mov rcx, rsi
xor r13d, r13d
mov edx, r13d
movabs r12, 0x100000001b3
nop dword [rax]
movzx eax, byte [rbp + rdx - 0x70]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, 8
jb 0x180060aa0
mov qword [rbp + 0x40], rcx
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x50]
call fcn.180123c80
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x180060ada
lock inc dword [rax + 8]
mov edi, dword [rsp + 0x50]
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x20], rax
mov r14, qword [rcx + 0x20]
mov qword [rbp - 0x18], r14
bts edi, 0x16
mov dword [rsp + 0x50], edi
lea rbx, [rax + 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 0x13
lea rdx, str.colors_primary2_rgb
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
nop
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.180047110
movabs rbx, 0x4955476b63696c43
cmp byte [rax + 0x28], 0
je 0x180060b47
movups xmm0, xmmword [0x18026fe70]
jmp 0x180060be8
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
movdqa xmm1, xmmword [reloc.d2d1.dll_Ordinal_8]
movdqu xmmword [rbp + 0x50], xmm1
mov qword [rbp + 0x40], rbx
mov byte [rbp + 0x48], 0
bts edi, 0xf
mov dword [rsp + 0x50], edi
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.18011e400
nop
bts edi, 0x10
mov rcx, qword [rax]
add rcx, 0x70
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [0x1801f5980]
movdqu xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [str.colors_primary2]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x1801e3608]
mov dword [rbp - 0x48], eax
movzx eax, word [0x1801e360c]
mov word [rbp - 0x44], ax
movzx eax, byte [0x1801e360e]
mov byte [rbp - 0x42], al
mov byte [rbp - 0x41], 0
bts edi, 0x11
mov dword [rsp + 0x50], edi
lea rdx, [rbp - 0x50]
call fcn.180047110
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x30]
call fcn.1800868e0
movups xmm0, xmmword [rax]
lea rax, [rbp - 0x20]
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
bt edi, 0x11
jae 0x180060c1d
btr edi, 0x11
mov dword [rsp + 0x50], edi
mov r8, qword [rbp - 0x38]
cmp r8, 0xf
jbe 0x180060c1d
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.18005a910
nop
bt edi, 0x10
jae 0x180060c3a
btr edi, 0x10
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x180060c3a
call fcn.1800037d0
nop
bt edi, 0xf
jae 0x180060c58
mov r8, qword [rbp + 0x58]
cmp r8, 0xf
jbe 0x180060c58
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp + 0x40]
call fcn.18005a910
nop
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x180060c72
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
test r14, r14
je 0x180060c80
mov rcx, r14
call fcn.1800037d0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 8
mov qword [rbp - 0x58], 0xf
mov qword [rbp - 0x70], rbx
mov byte [rbp - 0x68], 0
mov rcx, r13
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp + rcx - 0x70]
xor rsi, rax
imul rsi, r12
inc rcx
cmp rcx, 8
jb 0x180060cb0
mov qword [rbp + 0x40], rsi
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x50]
call fcn.180123c80
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x180060ce6
lock inc dword [rax + 8]
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x20], rax
mov rbx, qword [rcx + 0x20]
mov qword [rbp - 0x18], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 0x11
lea rdx, str.o_colors_primary2
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x180060d37
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
test rbx, rbx
je 0x180060d45
mov rcx, rbx
call fcn.1800037d0
nop
lea rdi, [0x180000000]
movss xmm7, dword [r15 + rdi + 0x2280f4]
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.18005a540
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x20], rcx
mov r9, rax
lea rdx, [rbp - 0x70]
call fcn.18008e3a0
nop
lea r9, [rbp - 0x70]
cmp qword [rbp - 0x58], 7
cmova r9, qword [rbp - 0x70]
movaps xmm1, xmm12
mulss xmm1, dword [0x1801f55bc]
movss xmm8, dword [rsp + 0x5c]
addss xmm1, xmm8
movaps xmm4, xmm12
mulss xmm4, dword [0x1801f5670]
movaps xmm3, xmm12
mulss xmm3, dword [0x1801f559c]
movaps xmm0, xmm12
mulss xmm0, dword [0x1801f5678]
movaps xmm2, xmm14
mulss xmm2, dword [0x1801f5584]
mov dword [rsp + 0x40], 0x190
movss dword [rsp + 0x38], xmm4
mov dword [rsp + 0x30], r13d
movss dword [rsp + 0x28], xmm3
movss dword [rsp + 0x20], xmm0
lea rcx, [rbp]
call fcn.1800871b0
mov rbx, rax
lea rdx, [rbp + 0x60]
call fcn.1800611a0
mov rcx, rax
mov rdx, rbx
call fcn.1800447c0
nop
lea rcx, [rbp]
call fcn.18005a950
nop
lea rcx, [rbp - 0x70]
call fcn.1800599b0
movss xmm6, dword [0x18021e1c0]
mulss xmm6, dword [0x1801f54c8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysStringLen]
movdqu xmmword [rbp - 0x60], xmm1
mov eax, dword [str.height]
mov dword [rbp - 0x70], eax
movzx eax, word [0x1801e2d50]
mov word [rbp - 0x6c], ax
mov byte [rbp - 0x6a], 0
lea rdx, [rbp + 0x60]
call fcn.1800611a0
mov r8, rax
lea rdx, [rbp - 0x50]
call fcn.1800612e0
mov rbx, qword [rax]
xor r8d, r8d
lea rdx, [rbp - 0x70]
movss xmm0, dword [0x1801f53c4]
call fcn.18005ac60
mulss xmm12, dword [0x1801f5500]
addss xmm12, xmm8
addss xmm12, dword [rbx + 0x30]
addss xmm0, xmm12
movss dword [rsp + 0x58], xmm0
lea rbx, [rdi + 0x2280f8]
add rbx, r15
movaps xmm2, xmm6
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.18008e240
nop
movss xmm0, dword [rbx]
comiss xmm0, xmm8
jbe 0x180061031
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, 6
lea rdx, str.height
lea rcx, [rbp - 0x50]
call fcn.18005a6f0
nop
xor r8d, r8d
lea rdx, [rbp - 0x50]
movss xmm0, dword [0x1801f5390]
call fcn.18005ac60
subss xmm9, xmm0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, 6
lea rdx, str.height
lea rcx, [rbp]
call fcn.18005a6f0
nop
xor r8d, r8d
lea rdx, [rbp]
movss xmm0, dword [0x1801f534c]
call fcn.18005ac60
movaps xmm6, xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x70], xmm1
xorps xmm2, xmm2
movdqu xmmword [rbp - 0x80], xmm2
mov r8d, 6
lea rdx, str.height
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
nop
xor r8d, r8d
lea rdx, [rsp + 0x70]
movss xmm0, dword [0x1801f53bc]
call fcn.18005ac60
mulss xmm0, dword [0x1801f54f4]
addss xmm0, xmm14
movss xmm2, dword [rbp + 0x20]
movss dword [rbp - 0x30], xmm2
movss xmm3, dword [rbp + 0x24]
movss dword [rbp - 0x2c], xmm3
movss xmm2, dword [rbp + 0x28]
movss dword [rbp - 0x28], xmm2
movss dword [rbp - 0x24], xmm7
mov dword [rsp + 0x38], 0xf0
xorps xmm1, xmm1
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm6
lea r8, [rbp - 0x30]
movaps xmm1, xmm0
movss xmm0, dword [rbx]
call fcn.180080ef0
nop
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x180061002
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
mov r8, qword [rbp + 0x18]
cmp r8, 0xf
jbe 0x18006101a
mov rdx, qword [rbp]
lea rcx, [rbp]
call fcn.18005a910
nop
mov r8, qword [rbp - 0x38]
cmp r8, 0xf
jbe 0x180061031
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.18005a910
cmp byte [0x18026fe58], 0
je 0x180061043
addss xmm14, dword [0x18026fe5c]
cmp dword [0x18026fe68], 0
jne 0x1800610bc
addss xmm13, xmm14
addss xmm8, xmm15
movss xmm1, dword [0x180227fc0]
comiss xmm1, xmm8
jb 0x1800610bc
movaps xmm0, xmm10
addss xmm0, xmm8
comiss xmm0, xmm1
jb 0x1800610bc
movss xmm0, dword [0x180227fc4]
comiss xmm0, xmm13
jb 0x1800610bc
addss xmm10, xmm13
comiss xmm10, xmm0
jb 0x1800610bc
cmp dword [0x18026fe54], 1
jne 0x1800610bc
cmp byte [0x18026fe50], 0
jne 0x1800610bc
mov dword [0x18026fe54], r13d
imul rax, qword [rsp + 0x68], 0x70
mov byte [rax + rdi + 0x27a2f8], 1
mov dword [0x18026fe68], 1
mov r8, qword [rbp + 0x78]
cmp r8, 0xf
jbe 0x1800610d3
mov rdx, qword [rbp + 0x60]
lea rcx, [rbp + 0x60]
call fcn.18005a910
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.18016e8b0
lea r11, [rsp + 0x258]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180181a88
nop
call fcn.180181a88
nop
call fcn.18005a660
int3