Function at 0x1800de9e0
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 [0x1802ec4c0]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov r13, rcx
xor edi, edi
mov r15d, edi
mov dword [rsp + 0x64], edi
cmp byte [0x18034dbe4], dil
jne 0x1800dfebf
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 [0x1802af600]
mov dword [rsp + 0x78], r8d
movzx r10d, byte [0x1802af604]
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 0x1800dead0
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 0x1800deb5e
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 0x1800deb22
mov rax, qword [rax]
cmp rcx, 0xd
jne 0x1800deb39
cmp rdi, qword [rax]
jne 0x1800deb39
cmp r8d, dword [rax + 8]
jne 0x1800deb39
cmp r10b, byte [rax + 0xc]
je 0x1800deb44
cmp rdx, r11
je 0x1800deb52
mov rdx, qword [rdx + 8]
jmp 0x1800deb10
xor edi, edi
movabs r11, 0x100000001b3
jmp 0x1800deb61
xor edi, edi
movabs r11, 0x100000001b3
mov rdx, rdi
test rdx, rdx
je 0x1800deb71
cmp rdx, r14
je 0x1800deb71
mov rax, qword [rdx + 0x30]
jmp 0x1800deb74
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 [0x1802af6e8]
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 0x1800debc0
mov rax, rbx
and rax, rcx
add rax, rax
mov rcx, qword [rsi + rax*8 + 8]
cmp rcx, r14
je 0x1800dec35
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 0x1800dec03
mov rax, qword [rax]
cmp rdx, 0xc
jne 0x1800dec14
cmp r11, qword [rax]
jne 0x1800dec14
cmp r8d, dword [rax + 8]
je 0x1800dec1f
cmp rcx, r10
je 0x1800dec2b
mov rcx, qword [rcx + 8]
jmp 0x1800debf1
movabs r11, 0x100000001b3
jmp 0x1800dec38
movabs r11, 0x100000001b3
mov rcx, rdi
test rcx, rcx
je 0x1800dec48
cmp rcx, r14
je 0x1800dec48
mov rax, qword [rcx + 0x30]
jmp 0x1800dec4b
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 [0x1802af610]
mov dword [rsp + 0x78], r8d
movzx r10d, byte [0x1802af614]
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 0x1800deca0
and rbx, rcx
add rbx, rbx
mov rcx, qword [rsi + rbx*8 + 8]
cmp rcx, r14
je 0x1800ded1a
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 0x1800dece2
mov rax, qword [rax]
cmp rdx, 0xd
jne 0x1800decf9
cmp rbx, qword [rax]
jne 0x1800decf9
cmp r8d, dword [rax + 8]
jne 0x1800decf9
cmp r10b, byte [rax + 0xc]
je 0x1800ded04
cmp rcx, r11
je 0x1800ded10
mov rcx, qword [rcx + 8]
jmp 0x1800decd0
movabs r11, 0x100000001b3
jmp 0x1800ded1d
movabs r11, 0x100000001b3
mov rcx, rdi
test rcx, rcx
je 0x1800ded2d
cmp rcx, r14
je 0x1800ded2d
mov rax, qword [rcx + 0x30]
jmp 0x1800ded30
mov rax, rdi
movzx edi, byte [rax + 0x28]
movups xmm8, xmmword [0x180343f50]
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 [0x1802af540]
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 0x1800ded80
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x10]
lea rcx, [r13 + 0x70]
call fcn.18004b0e0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800dedbb
cmp rcx, r14
je 0x1800dedbb
mov rax, qword [rcx + 0x30]
jmp 0x1800dedbe
mov rax, rsi
movzx eax, byte [rax + 0x28]
mov byte [rsp + 0x68], al
movdqa xmm6, xmmword [0x1802b8600]
cmp byte [rsp + 0x60], sil
je 0x1800deddc
movups xmmword [rbp + 0x10], xmm8
jmp 0x1800dee34
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 [0x1802af620]
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.180044ae0
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x10]
call fcn.180085120
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 0x1800dee6a
and r15d, 0xfffffffe
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800dee6a
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
movdqa xmm6, xmmword [0x1802b8600]
movdqa xmm7, xmmword [reloc.d2d1.dll_Ordinal_8]
test r12b, r12b
je 0x1800dee83
movups xmmword [rbp - 0x30], xmm8
mov rbx, qword [rsp + 0x70]
jmp 0x1800deed7
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.180044ae0
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x10]
call fcn.180085120
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movdqa xmm6, xmmword [0x1802b8600]
lea rax, [rbp - 0x30]
movups xmm15, xmmword [rax]
test r15b, 2
je 0x1800def10
and r15d, 0xfffffffd
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800def10
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.180059850
movdqa xmm7, xmmword [reloc.d2d1.dll_Ordinal_8]
movdqa xmm6, xmmword [0x1802b8600]
test dil, dil
je 0x1800def1c
movups xmmword [rbp - 0x30], xmm8
jmp 0x1800def7a
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 [0x1802af630]
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.180044ae0
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x10]
call fcn.180085120
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 0x1800defad
and r15d, 0xfffffffb
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800defad
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
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 [0x1802a1e88]
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.180044ae0
mov r8b, 1
lea rdx, [rsp + 0x70]
movss xmm0, dword [rax + 0x28]
call fcn.180059ab0
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 [0x1802b8044]
call fcn.180059ab0
movss dword [rsp + 0x6c], xmm0
cmp byte [0x18034e4b0], 0
je 0x1800dfebf
cmp qword [0x18034e488], 0
je 0x1800dfebf
call fcn.180178a70
test rax, rax
je 0x1800dfebf
call fcn.180178a70
mov rcx, rax
call fcn.1800aad90
test rax, rax
je 0x1800dfebf
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.180044ae0
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.1800596c0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180044ae0
movzx eax, byte [rax + 0x28]
mov byte [rsp + 0x60], al
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800df12c
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
movss xmm6, dword [r13 + 0x1bc]
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.1800596c0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180044ae0
movss xmm2, dword [rax + 0x28]
movaps xmm0, xmm6
unpcklps xmm0, xmm6
movq rdx, xmm0
lea rcx, [rbp - 0x30]
call fcn.1801854a0
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800df19c
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
test r12b, r12b
je 0x1800df1a9
movss xmm9, dword [rbp - 0x2c]
jmp 0x1800df1af
movss xmm9, dword [rbp - 0x30]
xorps xmm8, xmm8
xorps xmm11, xmm11
xorps xmm10, xmm10
lea rdi, [r13 + 0x198]
mov ebx, 4
mov qword [rbp - 0x30], rbx
movss xmm12, dword [0x1802b8418]
movss xmm7, dword [0x1802b8398]
movss xmm13, dword [0x1802b84c8]
test r12b, r12b
je 0x1800df1f1
addss xmm10, xmm9
jmp 0x1800df1f6
addss xmm11, xmm9
call fcn.180178a70
mov edx, esi
mov rcx, rax
call fcn.180174510
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800df5e9
cmp qword [rcx], 0
je 0x1800df5e9
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 0x1800df5c5
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 [0x1802af524]
mov word [rbp - 0x6c], ax
movzx eax, byte [0x1802af526]
mov byte [rbp - 0x6a], al
mov byte [rbp - 0x69], 0
lea rdx, [rbp - 0x70]
lea rcx, [r13 + 0x70]
call fcn.180044ae0
movzx ebx, byte [rax + 0x28]
lea rcx, [rbp - 0x70]
call fcn.180059890
test bl, bl
je 0x1800df32d
movd xmm0, dword [rdi - 4]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [rdi]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.180243ae8
cvttss2si edx, xmm0
lea rcx, [rbp + 0xc0]
call fcn.1800590f0
nop
mov r8d, 1
lea rdx, [0x1802ae8b0]
mov rcx, rax
call fcn.180058ee0
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 0x1800df30c
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.180059850
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
lea rcx, [rbp + 0xc0]
call fcn.180059890
movss xmm7, dword [0x1802b8398]
jmp 0x1800df407
mov edx, dword [rdi]
lea rcx, [rbp + 0xa0]
call fcn.1800590f0
mov rbx, rax
mov edx, dword [rdi - 4]
lea rcx, [rbp + 0xe0]
call fcn.1800590f0
nop
mov r8d, 1
lea rdx, [0x1802af740]
mov rcx, rax
call fcn.180058ee0
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.18016c4c0
bts r15d, 9
mov r8, qword [rbp - 0x38]
cmp r8, 0xf
jbe 0x1800df3b6
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.180059850
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.180059890
nop
lea rcx, [rbp + 0x40]
call fcn.180059890
nop
lea rcx, [rbp + 0xe0]
call fcn.180059890
nop
lea rcx, [rbp + 0xa0]
call fcn.180059890
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 0x1800df452
mov qword [rbp - 0x80], rcx
mov eax, 7
mov qword [rbp - 0x78], rax
mov word [rsp + 0x70], cx
jmp 0x1800df463
sub r9, rdx
lea rcx, [rsp + 0x70]
call fcn.1801408a0
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 [0x18029ba78]
mov byte [rbp - 0x6c], al
mov byte [rbp - 0x6b], 0
lea rdx, [rbp - 0x70]
lea rcx, [r13 + 0x70]
call fcn.180044ae0
cmp byte [rax + 0x28], 0
je 0x1800df4e5
movd xmm0, dword [rdi - 4]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [rdi]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.180243ae8
comiss xmm7, xmm0
jb 0x1800df4e1
movdqa xmm6, xmm15
jmp 0x1800df4e5
movups xmm6, xmmword [rbp + 0x10]
test r12b, r12b
je 0x1800df4f5
cmp dword [rdi], 0
je 0x1800df4f5
movaps xmm3, xmm9
jmp 0x1800df4f9
movaps xmm3, xmm8
cmp byte [rsp + 0x60], 0
je 0x1800df505
mulss xmm3, xmm13
test r12b, r12b
jne 0x1800df515
cmp dword [rdi], 0
je 0x1800df515
movaps xmm1, xmm9
jmp 0x1800df519
movaps xmm1, xmm8
movdqa xmmword [rbp - 0x10], xmm6
movss xmm4, dword [rsp + 0x64]
movaps xmm0, xmm4
mulss xmm0, dword [0x1802b8368]
movaps xmm2, xmm10
addss xmm2, dword [r13 + 0x17c]
addss xmm2, xmm1
addss xmm2, dword [r13 + 0x1b8]
movaps xmm1, xmm11
addss xmm1, dword [r13 + 0x178]
addss xmm1, xmm3
addss xmm1, dword [r13 + 0x1b4]
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.1800860c0
lea rcx, [rbp + 0xa0]
call fcn.180059890
nop
lea rcx, [rsp + 0x70]
call fcn.1800585d0
mov r8, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x30]
cmp r8, 0xf
jbe 0x1800df5d8
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.180059850
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 0x1800df1e5
call fcn.180178a70
mov rcx, rax
call fcn.1800aad90
mov rcx, rax
call fcn.1800a9170
mov rbx, rax
call fcn.180178a70
mov rcx, rax
call fcn.1800aad90
mov rcx, rax
call fcn.1800a90f0
mov edx, eax
mov rcx, rbx
call fcn.1801789a0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800dfa8f
cmp qword [rcx], 0
je 0x1800dfa8f
call fcn.180178a70
mov rcx, rax
call fcn.1800aad90
mov rcx, rax
call fcn.1800a9170
mov rbx, rax
call fcn.180178a70
mov rcx, rax
call fcn.1800aad90
mov rcx, rax
call fcn.1800a90f0
mov edx, eax
mov rcx, rbx
call fcn.1801789a0
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movdqa xmm1, xmmword [0x1802b8570]
movdqu xmmword [rbp + 0x30], xmm1
mov byte [rbp + 0x20], 0
mov ebx, dword [r13 + 0x188]
test ebx, ebx
je 0x1800df85e
movdqa xmm0, xmmword [0x1802b8550]
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], 0xf
mov rax, qword [str.percent]
mov dword [rsp + 0x70], eax
movzx eax, word [0x1802af524]
mov word [rsp + 0x74], ax
movzx eax, byte [0x1802af526]
mov byte [rsp + 0x76], al
mov byte [rsp + 0x77], 0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180044ae0
cmp byte [rax + 0x28], 0
je 0x1800df7a4
movd xmm0, dword [r13 + 0x184]
cvtdq2ps xmm0, xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.180243ae8
cvttss2si edx, xmm0
lea rcx, [rbp + 0x100]
call fcn.1800590f0
nop
mov r8d, 1
lea rdx, [0x1802ae8b0]
mov rcx, rax
call fcn.180058ee0
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.180040650
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800df793
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
nop
lea rcx, [rbp + 0x100]
call fcn.180059890
jmp 0x1800df889
mov edx, ebx
lea rcx, [rbp + 0x60]
call fcn.1800590f0
mov rbx, rax
mov edx, dword [r13 + 0x184]
lea rcx, [rbp + 0x120]
call fcn.1800590f0
nop
mov r8d, 1
lea rdx, [0x1802af740]
mov rcx, rax
call fcn.180058ee0
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.18016c4c0
or r15d, 0x40
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x20]
call fcn.180040650
lea rcx, [rbp + 0x40]
call fcn.180059890
nop
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800df846
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
nop
lea rcx, [rbp + 0x120]
call fcn.180059890
nop
lea rcx, [rbp + 0x60]
call fcn.180059890
jmp 0x1800df889
mov rcx, rax
call fcn.1800a9070
movzx edx, al
lea rcx, [rbp + 0x60]
call fcn.1800590f0
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.180040650
lea rcx, [rbp + 0x60]
call fcn.180059890
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 0x1800df8d2
movdqa xmm0, xmmword [0x1802b8550]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], di
jmp 0x1800df8e0
sub r9, rdx
lea rcx, [rsp + 0x70]
call fcn.1801408a0
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 [0x1802b85c0]
movdqu xmmword [rbp - 0x60], xmm1
mov eax, dword [str.color]
mov dword [rbp - 0x70], eax
movzx eax, byte [0x18029ba78]
mov byte [rbp - 0x6c], al
mov byte [rbp - 0x6b], 0
or r15d, 8
lea rdx, [rbp - 0x70]
lea rcx, [r13 + 0x70]
call fcn.180044ae0
cmp byte [rax + 0x28], 0
je 0x1800df945
cmp dword [r13 + 0x188], 0
je 0x1800df945
mov al, 1
jmp 0x1800df947
xor al, al
test r15b, 8
je 0x1800df951
and r15d, 0xfffffff7
test al, al
je 0x1800df98b
movd xmm0, dword [r13 + 0x184]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [r13 + 0x188]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.180243ae8
comiss xmm7, xmm0
jb 0x1800df987
movdqa xmm6, xmm15
jmp 0x1800df98b
movups xmm6, xmmword [rbp + 0x10]
test r12b, r12b
je 0x1800df9a5
addss xmm10, xmm9
cmp dword [r13 + 0x188], 0
je 0x1800df9aa
movaps xmm3, xmm9
jmp 0x1800df9ae
addss xmm11, xmm9
movaps xmm3, xmm8
movzx esi, byte [rsp + 0x60]
test sil, sil
je 0x1800df9bd
mulss xmm3, xmm13
test r12b, r12b
jne 0x1800df9d2
cmp dword [r13 + 0x188], 0
je 0x1800df9d2
movaps xmm1, xmm9
jmp 0x1800df9d6
movaps xmm1, xmm8
movdqa xmmword [rbp - 0x10], xmm6
movss xmm6, dword [rsp + 0x64]
movaps xmm0, xmm6
mulss xmm0, dword [0x1802b8368]
movss xmm2, dword [r13 + 0x1b8]
addss xmm2, dword [r13 + 0x17c]
addss xmm2, xmm10
addss xmm2, xmm1
movss xmm1, dword [r13 + 0x1b4]
addss xmm1, dword [r13 + 0x178]
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.1800860c0
lea rcx, [rbp + 0x60]
call fcn.180059890
nop
mov r8, qword [rbp - 0x78]
cmp r8, 7
jbe 0x1800dfa84
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180058580
nop
lea rcx, [rbp + 0x20]
call fcn.180059890
jmp 0x1800dfa9c
xor edi, edi
movzx esi, byte [rsp + 0x60]
movss xmm6, dword [rsp + 0x64]
cmp byte [rsp + 0x68], 0
je 0x1800dfebf
call fcn.180178a70
mov rcx, rax
call fcn.180175060
test rax, rax
je 0x1800dfebf
call fcn.180178a70
mov rcx, rax
call fcn.180175060
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800dfebf
cmp qword [rcx], 0
je 0x1800dfebf
call fcn.180178a70
mov rcx, rax
call fcn.180175060
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x1802b8570]
movdqu xmmword [rbp - 0x60], xmm1
mov byte [rbp - 0x70], 0
cmp dword [r13 + 0x190], 0
je 0x1800dfcb6
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.1800596c0
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180044ae0
movzx ebx, byte [rax + 0x28]
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800dfb63
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
test bl, bl
je 0x1800dfc0f
movd xmm0, dword [r13 + 0x18c]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [r13 + 0x190]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.180243ae8
cvttss2si edx, xmm0
lea rcx, [rbp + 0x140]
call fcn.1800590f0
nop
mov r8d, 1
lea rdx, [0x1802ae8b0]
mov rcx, rax
call fcn.180058ee0
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.180040650
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800dfc03
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
nop
lea rcx, [rbp + 0x140]
jmp 0x1800dfce0
mov edx, dword [r13 + 0x190]
lea rcx, [rbp + 0x80]
call fcn.1800590f0
mov rbx, rax
mov edx, dword [r13 + 0x18c]
lea rcx, [rbp + 0x180]
call fcn.1800590f0
nop
mov r8d, 1
lea rdx, [0x1802af740]
mov rcx, rax
call fcn.180058ee0
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.18016c6c0
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.180040650
lea rcx, [rbp + 0x160]
call fcn.180059890
nop
lea rcx, [rbp + 0x40]
call fcn.180059890
nop
lea rcx, [rbp + 0x180]
call fcn.180059890
nop
jmp 0x1800dfcd9
mov rcx, rax
call fcn.1800a9070
movzx edx, al
lea rcx, [rbp + 0x80]
call fcn.1800590f0
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.180040650
lea rcx, [rbp + 0x80]
call fcn.180059890
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.1801359a0
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.1800596c0
or r15d, 0x10
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x70]
call fcn.180044ae0
cmp byte [rax + 0x28], 0
je 0x1800dfd6a
cmp dword [r13 + 0x190], 0
je 0x1800dfd6a
mov bl, 1
jmp 0x1800dfd6c
xor bl, bl
test r15b, 0x10
je 0x1800dfd8b
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800dfd8b
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180059850
test bl, bl
je 0x1800dfdc6
movd xmm0, dword [r13 + 0x18c]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [r13 + 0x190]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm0, xmm12
call fcn.180243ae8
comiss xmm7, xmm0
jb 0x1800dfdc1
movdqa xmm14, xmm15
jmp 0x1800dfdc6
movups xmm14, xmmword [rbp + 0x10]
test r12b, r12b
je 0x1800dfde0
addss xmm10, xmm9
cmp dword [r13 + 0x190], 0
je 0x1800dfde5
movaps xmm3, xmm9
jmp 0x1800dfde9
addss xmm11, xmm9
movaps xmm3, xmm8
test sil, sil
je 0x1800dfdf3
mulss xmm3, xmm13
test r12b, r12b
jne 0x1800dfe06
cmp dword [r13 + 0x190], 0
je 0x1800dfe06
movaps xmm8, xmm9
movdqa xmmword [rbp - 0x10], xmm14
movaps xmm0, xmm6
mulss xmm0, dword [0x1802b8368]
movss xmm2, dword [r13 + 0x1b8]
addss xmm2, dword [r13 + 0x17c]
addss xmm2, xmm10
addss xmm2, xmm8
movss xmm1, dword [r13 + 0x1b4]
addss xmm1, dword [r13 + 0x178]
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.1800860c0
lea rcx, [rbp + 0x80]
call fcn.180059890
nop
lea rcx, [rbp - 0x30]
call fcn.1800585d0
nop
mov r8, qword [rbp - 0x58]
cmp r8, 0xf
jbe 0x1800dfebf
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.180059850
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.18020e120
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