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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x278]
sub rsp, 0x350
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x18021d4c0]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov r13, rcx
xor edi, edi
mov r15d, edi
mov dword [rsp + 0x64], edi
cmp byte [0x180279d66], dil
jne 0x1800e463f
mov word [rsp + 0x7e], di
mov qword [rbp - 0x80], 0xd
mov qword [rbp - 0x78], 0xf
movsd xmm0, qword [str.colorFull_rgb]
movsd qword [rsp + 0x70], xmm0
mov r8d, dword [0x1801ef668]
mov dword [rsp + 0x78], r8d
movzx r10d, byte [0x1801ef66c]
mov byte [rsp + 0x7c], r10b
mov byte [rsp + 0x7d], dil
movabs r9, 0xcbf29ce484222325
mov rcx, r9
mov edx, edi
movabs r11, 0x100000001b3
nop dword [rax]
movzx eax, byte [rsp + rdx + 0x70]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, 0xd
jb 0x1800e3250
mov rbx, qword [r13 + 0xa0]
and rcx, rbx
mov rsi, qword [r13 + 0x88]
add rcx, rcx
mov rdx, qword [rsi + rcx*8 + 8]
mov r14, qword [r13 + 0x78]
cmp rdx, r14
je 0x1800e32de
mov r11, qword [rsi + rcx*8]
mov rdi, qword [rsp + 0x70]
lea rax, [rdx + 0x10]
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1800e32a2
mov rax, qword [rax]
cmp rcx, 0xd
jne 0x1800e32b9
cmp rdi, qword [rax]
jne 0x1800e32b9
cmp r8d, dword [rax + 8]
jne 0x1800e32b9
cmp r10b, byte [rax + 0xc]
je 0x1800e32c4
cmp rdx, r11
je 0x1800e32d2
mov rdx, qword [rdx + 8]
jmp 0x1800e3290
xor edi, edi
movabs r11, 0x100000001b3
jmp 0x1800e32e1
xor edi, edi
movabs r11, 0x100000001b3
mov rdx, rdi
test rdx, rdx
je 0x1800e32f1
cmp rdx, r14
je 0x1800e32f1
mov rax, qword [rdx + 0x30]
jmp 0x1800e32f4
mov rax, rdi
movzx eax, byte [rax + 0x28]
mov byte [rsp + 0x60], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 0xc
mov qword [rbp - 0x78], 0xf
movsd xmm0, qword [str.colorLow_rgb]
movsd qword [rsp + 0x70], xmm0
mov r8d, dword [0x1801ef5e0]
mov dword [rsp + 0x78], r8d
mov byte [rsp + 0x7c], r15b
mov rcx, r9
mov rdx, rdi
nop dword [rax]
movzx eax, byte [rsp + rdx + 0x70]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, 0xc
jb 0x1800e3340
mov rax, rbx
and rax, rcx
add rax, rax
mov rcx, qword [rsi + rax*8 + 8]
cmp rcx, r14
je 0x1800e33b5
mov r10, qword [rsi + rax*8]
mov r11, qword [rsp + 0x70]
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1800e3383
mov rax, qword [rax]
cmp rdx, 0xc
jne 0x1800e3394
cmp r11, qword [rax]
jne 0x1800e3394
cmp r8d, dword [rax + 8]
je 0x1800e339f
cmp rcx, r10
je 0x1800e33ab
mov rcx, qword [rcx + 8]
jmp 0x1800e3371
movabs r11, 0x100000001b3
jmp 0x1800e33b8
movabs r11, 0x100000001b3
mov rcx, rdi
test rcx, rcx
je 0x1800e33c8
cmp rcx, r14
je 0x1800e33c8
mov rax, qword [rcx + 0x30]
jmp 0x1800e33cb
mov rax, rdi
movzx r12d, byte [rax + 0x28]
mov word [rsp + 0x7e], di
mov qword [rbp - 0x80], 0xd
mov qword [rbp - 0x78], 0xf
movsd xmm0, qword [str.colorMain_rgb]
movsd qword [rsp + 0x70], xmm0
mov r8d, dword [0x1801ef568]
mov dword [rsp + 0x78], r8d
movzx r10d, byte [0x1801ef56c]
mov byte [rsp + 0x7c], r10b
mov byte [rsp + 0x7d], r15b
mov rcx, r9
mov rdx, rdi
nop word [rax + rax]
movzx eax, byte [rsp + rdx + 0x70]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, 0xd
jb 0x1800e3420
and rbx, rcx
add rbx, rbx
mov rcx, qword [rsi + rbx*8 + 8]
cmp rcx, r14
je 0x1800e349a
mov r11, qword [rsi + rbx*8]
mov rbx, qword [rsp + 0x70]
nop
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1800e3462
mov rax, qword [rax]
cmp rdx, 0xd
jne 0x1800e3479
cmp rbx, qword [rax]
jne 0x1800e3479
cmp r8d, dword [rax + 8]
jne 0x1800e3479
cmp r10b, byte [rax + 0xc]
je 0x1800e3484
cmp rcx, r11
je 0x1800e3490
mov rcx, qword [rcx + 8]
jmp 0x1800e3450
movabs r11, 0x100000001b3
jmp 0x1800e349d
movabs r11, 0x100000001b3
mov rcx, rdi
test rcx, rcx
je 0x1800e34ad
cmp rcx, r14
je 0x1800e34ad
mov rax, qword [rcx + 0x30]
jmp 0x1800e34b0
mov rax, rdi
movzx edi, byte [rax + 0x28]
movups xmm8, xmmword [0x18026fe70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 0xc
mov qword [rbp - 0x78], 0xf
movsd xmm0, qword [str.show_offhand]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x1801ef580]
mov dword [rsp + 0x78], eax
mov byte [rsp + 0x7c], r15b
xor esi, esi
mov ecx, esi
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x70]
xor r9, rax
imul r9, r11
inc rcx
cmp rcx, 0xc
jb 0x1800e3500
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x10]
lea rcx, [r13 + 0x70]
call fcn.18004d780
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800e353b
cmp rcx, r14
je 0x1800e353b
mov rax, qword [rcx + 0x30]
jmp 0x1800e353e
mov rax, rsi
movzx eax, byte [rax + 0x28]
mov byte [rsp + 0x68], al
movdqa xmm6, xmmword [0x1801f5920]
cmp byte [rsp + 0x60], sil
je 0x1800e355c
movups xmmword [rbp + 0x10], xmm8
jmp 0x1800e35b4
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movdqu xmmword [rbp - 0x80], xmm6
movsd xmm0, qword [str.colorFull]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x1801ef648]
mov byte [rsp + 0x78], al
mov byte [rsp + 0x79], sil
mov r15d, 1
mov dword [rsp + 0x64], r15d
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x10]
call fcn.1800868e0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x10], xmm0
lea rax, [rbp + 0x10]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x10], xmm0
test r15b, 1
je 0x1800e35ea
and r15d, 0xfffffffe
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e35ea
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
movdqa xmm6, xmmword [0x1801f5920]
movdqa xmm7, xmmword [reloc.d2d1.dll_Ordinal_8]
test r12b, r12b
je 0x1800e3603
movups xmmword [rbp - 0x30], xmm8
mov rbx, qword [rsp + 0x70]
jmp 0x1800e3657
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movdqu xmmword [rbp - 0x80], xmm7
movabs rbx, 0x776f4c726f6c6f63
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x78], 0
or r15d, 2
mov dword [rsp + 0x64], r15d
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x10]
call fcn.1800868e0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movdqa xmm6, xmmword [0x1801f5920]
lea rax, [rbp - 0x30]
movups xmm15, xmmword [rax]
test r15b, 2
je 0x1800e3690
and r15d, 0xfffffffd
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e3690
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.18005a910
movdqa xmm7, xmmword [reloc.d2d1.dll_Ordinal_8]
movdqa xmm6, xmmword [0x1801f5920]
test dil, dil
je 0x1800e369c
movups xmmword [rbp - 0x30], xmm8
jmp 0x1800e36fa
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movdqu xmmword [rbp - 0x80], xmm6
movsd xmm0, qword [str.colorMain]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x1801ef548]
mov byte [rsp + 0x78], al
mov byte [rsp + 0x79], 0
or r15d, 4
mov dword [rsp + 0x64], r15d
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x10]
call fcn.1800868e0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movdqa xmm7, xmmword [reloc.d2d1.dll_Ordinal_8]
lea rax, [rbp - 0x30]
movups xmm14, xmmword [rax]
test r15b, 4
je 0x1800e372d
and r15d, 0xfffffffb
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e372d
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
movdqa xmm7, xmmword [reloc.d2d1.dll_Ordinal_8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysStringLen]
movdqu xmmword [rbp - 0x80], xmm1
mov edi, dword [str.height]
mov dword [rsp + 0x70], edi
movzx ebx, word [0x1801e2d50]
mov word [rsp + 0x74], bx
mov byte [rsp + 0x76], 0
movups xmmword [rbp - 0x70], xmm0
movdqu xmmword [rbp - 0x60], xmm7
movabs rax, 0x657a695374786574
mov qword [rbp - 0x70], rax
mov byte [rbp - 0x68], 0
lea rdx, [rbp - 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
mov r8b, 1
lea rdx, [rsp + 0x70]
movss xmm0, dword [rax + 0x28]
call fcn.18005ac60
movss dword [rsp + 0x64], xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x70], xmm1
movdqa xmm2, xmmword [reloc.OLEAUT32.dll_SysStringLen]
movdqu xmmword [rbp - 0x80], xmm2
mov dword [rsp + 0x70], edi
mov word [rsp + 0x74], bx
mov byte [rsp + 0x76], 0
mov r8b, 1
lea rdx, [rsp + 0x70]
movss xmm0, dword [0x1801f539c]
call fcn.18005ac60
movss dword [rsp + 0x6c], xmm0
cmp byte [0x18027a134], 0
je 0x1800e463f
cmp qword [0x18027a158], 0
je 0x1800e463f
call fcn.18014f490
test rax, rax
je 0x1800e463f
call fcn.18014f490
mov rcx, rax
call fcn.1800b0e00
test rax, rax
je 0x1800e463f
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [reloc.d2d1.dll_Ordinal_8]
movdqu xmmword [rbp - 0x80], xmm1
movabs rax, 0x6c61636974726576
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x78], 0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
movzx r12d, byte [rax + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 0xf
lea rdx, str.durability_left
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
movzx eax, byte [rax + 0x28]
mov byte [rsp + 0x60], al
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e38ac
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
movss xmm6, dword [r13 + 0x18c]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 7
lea rdx, str.uiscale
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
movss xmm2, dword [rax + 0x28]
movaps xmm0, xmm6
unpcklps xmm0, xmm6
movq rdx, xmm0
lea rcx, [rbp - 0x30]
call fcn.18015ce80
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e391c
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
test r12b, r12b
je 0x1800e3929
movss xmm9, dword [rbp - 0x2c]
jmp 0x1800e392f
movss xmm9, dword [rbp - 0x30]
xorps xmm8, xmm8
xorps xmm11, xmm11
xorps xmm10, xmm10
lea rdi, [r13 + 0x168]
mov ebx, 4
mov qword [rbp - 0x30], rbx
movss xmm12, dword [0x1801f5754]
movss xmm7, dword [0x1801f56d8]
movss xmm13, dword [0x1801f57f8]
test r12b, r12b
je 0x1800e3971
addss xmm10, xmm9
jmp 0x1800e3976
addss xmm11, xmm9
call fcn.18014f490
mov edx, esi
mov rcx, rax
call fcn.18014b850
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800e3d69
cmp qword [rcx], 0
je 0x1800e3d69
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xor eax, eax
mov qword [rbp - 0x40], rax
mov r8d, 0xf
mov qword [rbp - 0x38], r8
mov byte [rbp - 0x50], al
cmp dword [rdi], eax
je 0x1800e3d45
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x58], r8
mov rax, qword [str.percent]
mov dword [rbp - 0x70], eax
movzx eax, word [0x1801ef5c4]
mov word [rbp - 0x6c], ax
movzx eax, byte [0x1801ef5c6]
mov byte [rbp - 0x6a], al
mov byte [rbp - 0x69], 0
lea rdx, [rbp - 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
movzx ebx, byte [rax + 0x28]
lea rcx, [rbp - 0x70]
call fcn.18005a950
test bl, bl
je 0x1800e3aad
movd xmm0, dword [rdi - 4]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [rdi]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.1801a2bf8
cvttss2si edx, xmm0
lea rcx, [rbp + 0xc0]
call fcn.18005a400
nop
mov r8d, 1
lea rdx, [0x1801ee79c]
mov rcx, rax
call fcn.18005a230
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts r15d, 7
mov r8, qword [rbp - 0x38]
cmp r8, 0xf
jbe 0x1800e3a8c
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.18005a910
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
lea rcx, [rbp + 0xc0]
call fcn.18005a950
movss xmm7, dword [0x1801f56d8]
jmp 0x1800e3b87
mov edx, dword [rdi]
lea rcx, [rbp + 0xa0]
call fcn.18005a400
mov rbx, rax
mov edx, dword [rdi - 4]
lea rcx, [rbp + 0xe0]
call fcn.18005a400
nop
mov r8d, 1
lea rdx, [0x1801ef7b8]
mov rcx, rax
call fcn.18005a230
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x50], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts r15d, 8
mov r9, rbx
lea r8, [rbp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.180091910
bts r15d, 9
mov r8, qword [rbp - 0x38]
cmp r8, 0xf
jbe 0x1800e3b36
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.18005a910
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rbp]
movups xmmword [rbp - 0x40], xmm1
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
lea rcx, [rbp - 0x10]
call fcn.18005a950
nop
lea rcx, [rbp + 0x40]
call fcn.18005a950
nop
lea rcx, [rbp + 0xe0]
call fcn.18005a950
nop
lea rcx, [rbp + 0xa0]
call fcn.18005a950
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
add r9, qword [rbp - 0x40]
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xor ecx, ecx
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
cmp rdx, r9
jne 0x1800e3bd2
mov qword [rbp - 0x80], rcx
mov eax, 7
mov qword [rbp - 0x78], rax
mov word [rsp + 0x70], cx
jmp 0x1800e3be3
sub r9, rdx
lea rcx, [rsp + 0x70]
call fcn.18012a050
mov rax, qword [rbp - 0x78]
lea rbx, [rsp + 0x70]
cmp rax, 7
cmova rbx, qword [rsp + 0x70]
movdqa xmm6, xmm14
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 5
mov qword [rbp - 0x58], 0xf
mov eax, dword [str.color]
mov dword [rbp - 0x70], eax
movzx eax, byte [0x1801dc9c0]
mov byte [rbp - 0x6c], al
mov byte [rbp - 0x6b], 0
lea rdx, [rbp - 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
cmp byte [rax + 0x28], 0
je 0x1800e3c65
movd xmm0, dword [rdi - 4]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [rdi]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.1801a2bf8
comiss xmm7, xmm0
jb 0x1800e3c61
movdqa xmm6, xmm15
jmp 0x1800e3c65
movups xmm6, xmmword [rbp + 0x10]
test r12b, r12b
je 0x1800e3c75
cmp dword [rdi], 0
je 0x1800e3c75
movaps xmm3, xmm9
jmp 0x1800e3c79
movaps xmm3, xmm8
cmp byte [rsp + 0x60], 0
je 0x1800e3c85
mulss xmm3, xmm13
test r12b, r12b
jne 0x1800e3c95
cmp dword [rdi], 0
je 0x1800e3c95
movaps xmm1, xmm9
jmp 0x1800e3c99
movaps xmm1, xmm8
movdqa xmmword [rbp - 0x10], xmm6
movss xmm4, dword [rsp + 0x64]
movaps xmm0, xmm4
mulss xmm0, dword [0x1801f56a8]
movaps xmm2, xmm10
addss xmm2, dword [r13 + 0x14c]
addss xmm2, xmm1
addss xmm2, dword [r13 + 0x188]
movaps xmm1, xmm11
addss xmm1, dword [r13 + 0x148]
addss xmm1, xmm3
addss xmm1, dword [r13 + 0x184]
mov byte [rsp + 0x50], 1
lea rax, [rbp - 0x10]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 0x190
movss dword [rsp + 0x38], xmm4
xor eax, eax
mov dword [rsp + 0x30], eax
movss xmm3, dword [rsp + 0x6c]
movss dword [rsp + 0x28], xmm3
movss dword [rsp + 0x20], xmm0
mov r9, rbx
lea rcx, [rbp + 0xa0]
call fcn.180087830
lea rcx, [rbp + 0xa0]
call fcn.18005a950
nop
lea rcx, [rsp + 0x70]
call fcn.1800599b0
mov r8, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x30]
cmp r8, 0xf
jbe 0x1800e3d58
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.18005a910
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], al
inc esi
add rdi, 8
sub rbx, 1
mov qword [rbp - 0x30], rbx
jne 0x1800e3965
call fcn.18014f490
mov rcx, rax
call fcn.1800b0e00
mov rcx, rax
call fcn.1800af300
mov rbx, rax
call fcn.18014f490
mov rcx, rax
call fcn.1800b0e00
mov rcx, rax
call fcn.1800af280
mov edx, eax
mov rcx, rbx
call fcn.18014f3c0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800e420f
cmp qword [rcx], 0
je 0x1800e420f
call fcn.18014f490
mov rcx, rax
call fcn.1800b0e00
mov rcx, rax
call fcn.1800af300
mov rbx, rax
call fcn.18014f490
mov rcx, rax
call fcn.1800b0e00
mov rcx, rax
call fcn.1800af280
mov edx, eax
mov rcx, rbx
call fcn.18014f3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movdqa xmm1, xmmword [0x1801f5890]
movdqu xmmword [rbp + 0x30], xmm1
mov byte [rbp + 0x20], 0
mov ebx, dword [r13 + 0x158]
test ebx, ebx
je 0x1800e3fde
movdqa xmm0, xmmword [0x1801f5870]
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], 0xf
mov rax, qword [str.percent]
mov dword [rsp + 0x70], eax
movzx eax, word [0x1801ef5c4]
mov word [rsp + 0x74], ax
movzx eax, byte [0x1801ef5c6]
mov byte [rsp + 0x76], al
mov byte [rsp + 0x77], 0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
cmp byte [rax + 0x28], 0
je 0x1800e3f24
movd xmm0, dword [r13 + 0x154]
cvtdq2ps xmm0, xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.1801a2bf8
cvttss2si edx, xmm0
lea rcx, [rbp + 0x100]
call fcn.18005a400
nop
mov r8d, 1
lea rdx, [0x1801ee79c]
mov rcx, rax
call fcn.18005a230
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
bts r15d, 0xa
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x20]
call fcn.1800447c0
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e3f13
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
lea rcx, [rbp + 0x100]
call fcn.18005a950
jmp 0x1800e4009
mov edx, ebx
lea rcx, [rbp + 0x60]
call fcn.18005a400
mov rbx, rax
mov edx, dword [r13 + 0x154]
lea rcx, [rbp + 0x120]
call fcn.18005a400
nop
mov r8d, 1
lea rdx, [0x1801ef7b8]
mov rcx, rax
call fcn.18005a230
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
or r15d, 0x20
mov r9, rbx
lea r8, [rsp + 0x70]
lea rcx, [rbp + 0x40]
call fcn.180091910
or r15d, 0x40
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x20]
call fcn.1800447c0
lea rcx, [rbp + 0x40]
call fcn.18005a950
nop
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e3fc6
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
lea rcx, [rbp + 0x120]
call fcn.18005a950
nop
lea rcx, [rbp + 0x60]
call fcn.18005a950
jmp 0x1800e4009
mov rcx, rax
call fcn.1800af200
movzx edx, al
lea rcx, [rbp + 0x60]
call fcn.18005a400
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.1800447c0
lea rcx, [rbp + 0x60]
call fcn.18005a950
xor edi, edi
lea r9, [rbp + 0x20]
cmp qword [rbp + 0x38], 0xf
cmova r9, qword [rbp + 0x20]
add r9, qword [rbp + 0x30]
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0xf
cmova rdx, qword [rbp + 0x20]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
cmp rdx, r9
jne 0x1800e4052
movdqa xmm0, xmmword [0x1801f5870]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], di
jmp 0x1800e4060
sub r9, rdx
lea rcx, [rsp + 0x70]
call fcn.18012a050
nop
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 7
cmova rbx, qword [rsp + 0x70]
movdqa xmm6, xmm14
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x1801f58e0]
movdqu xmmword [rbp - 0x60], xmm1
mov eax, dword [str.color]
mov dword [rbp - 0x70], eax
movzx eax, byte [0x1801dc9c0]
mov byte [rbp - 0x6c], al
mov byte [rbp - 0x6b], 0
or r15d, 8
lea rdx, [rbp - 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
cmp byte [rax + 0x28], 0
je 0x1800e40c5
cmp dword [r13 + 0x158], 0
je 0x1800e40c5
mov al, 1
jmp 0x1800e40c7
xor al, al
test r15b, 8
je 0x1800e40d1
and r15d, 0xfffffff7
test al, al
je 0x1800e410b
movd xmm0, dword [r13 + 0x154]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [r13 + 0x158]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.1801a2bf8
comiss xmm7, xmm0
jb 0x1800e4107
movdqa xmm6, xmm15
jmp 0x1800e410b
movups xmm6, xmmword [rbp + 0x10]
test r12b, r12b
je 0x1800e4125
addss xmm10, xmm9
cmp dword [r13 + 0x158], 0
je 0x1800e412a
movaps xmm3, xmm9
jmp 0x1800e412e
addss xmm11, xmm9
movaps xmm3, xmm8
movzx esi, byte [rsp + 0x60]
test sil, sil
je 0x1800e413d
mulss xmm3, xmm13
test r12b, r12b
jne 0x1800e4152
cmp dword [r13 + 0x158], 0
je 0x1800e4152
movaps xmm1, xmm9
jmp 0x1800e4156
movaps xmm1, xmm8
movdqa xmmword [rbp - 0x10], xmm6
movss xmm6, dword [rsp + 0x64]
movaps xmm0, xmm6
mulss xmm0, dword [0x1801f56a8]
movss xmm2, dword [r13 + 0x188]
addss xmm2, dword [r13 + 0x14c]
addss xmm2, xmm10
addss xmm2, xmm1
movss xmm1, dword [r13 + 0x184]
addss xmm1, dword [r13 + 0x148]
addss xmm1, xmm11
addss xmm1, xmm3
mov byte [rsp + 0x50], 1
lea rax, [rbp - 0x10]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 0x190
movss dword [rsp + 0x38], xmm6
mov dword [rsp + 0x30], edi
movss xmm3, dword [rsp + 0x6c]
movss dword [rsp + 0x28], xmm3
movss dword [rsp + 0x20], xmm0
mov r9, rbx
lea rcx, [rbp + 0x60]
call fcn.180087830
lea rcx, [rbp + 0x60]
call fcn.18005a950
nop
mov r8, qword [rbp - 0x78]
cmp r8, 7
jbe 0x1800e4204
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059960
nop
lea rcx, [rbp + 0x20]
call fcn.18005a950
jmp 0x1800e421c
xor edi, edi
movzx esi, byte [rsp + 0x60]
movss xmm6, dword [rsp + 0x64]
cmp byte [rsp + 0x68], 0
je 0x1800e463f
call fcn.18014f490
mov rcx, rax
call fcn.18014c250
test rax, rax
je 0x1800e463f
call fcn.18014f490
mov rcx, rax
call fcn.18014c250
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800e463f
cmp qword [rcx], 0
je 0x1800e463f
call fcn.18014f490
mov rcx, rax
call fcn.18014c250
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x1801f5890]
movdqu xmmword [rbp - 0x60], xmm1
mov byte [rbp - 0x70], 0
cmp dword [r13 + 0x160], 0
je 0x1800e4436
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 7
lea rdx, str.percent
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
movzx ebx, byte [rax + 0x28]
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e42e3
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
test bl, bl
je 0x1800e438f
movd xmm0, dword [r13 + 0x15c]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [r13 + 0x160]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.1801a2bf8
cvttss2si edx, xmm0
lea rcx, [rbp + 0x140]
call fcn.18005a400
nop
mov r8d, 1
lea rdx, [0x1801ee79c]
mov rcx, rax
call fcn.18005a230
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts r15d, 0xb
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x70]
call fcn.1800447c0
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e4383
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
nop
lea rcx, [rbp + 0x140]
jmp 0x1800e4460
mov edx, dword [r13 + 0x160]
lea rcx, [rbp + 0x80]
call fcn.18005a400
mov rbx, rax
mov edx, dword [r13 + 0x15c]
lea rcx, [rbp + 0x180]
call fcn.18005a400
nop
mov r8d, 1
lea rdx, [0x1801ef7b8]
mov rcx, rax
call fcn.18005a230
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x50], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts r15d, 0xc
mov r8, rbx
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x160]
call fcn.180091b10
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.1800447c0
lea rcx, [rbp + 0x160]
call fcn.18005a950
nop
lea rcx, [rbp + 0x40]
call fcn.18005a950
nop
lea rcx, [rbp + 0x180]
call fcn.18005a950
nop
jmp 0x1800e4459
mov rcx, rax
call fcn.1800af200
movzx edx, al
lea rcx, [rbp + 0x80]
call fcn.18005a400
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.1800447c0
lea rcx, [rbp + 0x80]
call fcn.18005a950
lea r8, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r8, qword [rbp - 0x70]
add r8, qword [rbp - 0x60]
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.180120350
nop
lea rdi, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rdi, qword [rbp - 0x30]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 5
lea rdx, str.color
lea rcx, [rsp + 0x70]
call fcn.18005a6f0
or r15d, 0x10
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180047110
cmp byte [rax + 0x28], 0
je 0x1800e44ea
cmp dword [r13 + 0x160], 0
je 0x1800e44ea
mov bl, 1
jmp 0x1800e44ec
xor bl, bl
test r15b, 0x10
je 0x1800e450b
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800e450b
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005a910
test bl, bl
je 0x1800e4546
movd xmm0, dword [r13 + 0x15c]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [r13 + 0x160]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.1801a2bf8
comiss xmm7, xmm0
jb 0x1800e4541
movdqa xmm14, xmm15
jmp 0x1800e4546
movups xmm14, xmmword [rbp + 0x10]
test r12b, r12b
je 0x1800e4560
addss xmm10, xmm9
cmp dword [r13 + 0x160], 0
je 0x1800e4565
movaps xmm3, xmm9
jmp 0x1800e4569
addss xmm11, xmm9
movaps xmm3, xmm8
test sil, sil
je 0x1800e4573
mulss xmm3, xmm13
test r12b, r12b
jne 0x1800e4586
cmp dword [r13 + 0x160], 0
je 0x1800e4586
movaps xmm8, xmm9
movdqa xmmword [rbp - 0x10], xmm14
movaps xmm0, xmm6
mulss xmm0, dword [0x1801f56a8]
movss xmm2, dword [r13 + 0x188]
addss xmm2, dword [r13 + 0x14c]
addss xmm2, xmm10
addss xmm2, xmm8
movss xmm1, dword [r13 + 0x184]
addss xmm1, dword [r13 + 0x148]
addss xmm1, xmm11
addss xmm1, xmm3
mov byte [rsp + 0x50], 1
lea rax, [rbp - 0x10]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 0x190
movss dword [rsp + 0x38], xmm6
xor eax, eax
mov dword [rsp + 0x30], eax
movss xmm3, dword [rsp + 0x6c]
movss dword [rsp + 0x28], xmm3
movss dword [rsp + 0x20], xmm0
mov r9, rdi
lea rcx, [rbp + 0x80]
call fcn.180087830
lea rcx, [rbp + 0x80]
call fcn.18005a950
nop
lea rcx, [rbp - 0x30]
call fcn.1800599b0
nop
mov r8, qword [rbp - 0x58]
cmp r8, 0xf
jbe 0x1800e463f
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.18005a910
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.18016e8b0
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
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 rbp
ret