Function at 0x18003f260
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x210
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 rax, qword [0x1800d8040]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov ebx, r8d
mov r13, rdx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
xor r14d, r14d
mov rdi, qword [0x18013a110]
mov rax, qword [rdi + 0x1c50]
mov byte [rax + 0x91], 1
mov rax, qword [rdi + 0x1c50]
mov qword [rbp - 0x68], rax
cmp byte [rax + 0x94], r14b
je 0x18003f313
xor al, al
jmp 0x1800402d5
movss xmm0, dword [rdi + 0x1570]
movss dword [rsp + 0x68], xmm0
movss xmm10, dword [rdi + 0x15b0]
addss xmm10, xmm10
addss xmm10, dword [rdi + 0x19b0]
call fcn.1800120a0
movaps xmm9, xmm0
xorps xmm6, xmm6
test bl, 0x10
je 0x18003f34e
xorps xmm7, xmm7
jmp 0x18003f35a
movaps xmm7, xmm10
addss xmm7, dword [rdi + 0x15c4]
subss xmm9, xmm7
mov dword [rdi + 0x1cf4], r14d
call fcn.180012240
mov rcx, qword [rsp + 0x70]
call fcn.180011990
mov dword [rsp + 0x6c], ebx
test bl, 0x20
je 0x18003f38a
and ebx, 0xff9fffff
or ebx, 0x100008
test bl, 8
jne 0x18003f399
mov edx, ebx
mov rcx, r13
call fcn.180043790
test ebx, 0x700000
jne 0x18003f3ae
mov eax, dword [rdi + 0x305c]
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x18003f3c3
mov eax, dword [rdi + 0x305c]
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x18003f3d8
mov eax, dword [rdi + 0x305c]
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x18003f3ed
mov eax, dword [rdi + 0x305c]
and eax, 0x18000000
or ebx, eax
mov eax, dword [rdi + 0x305c]
and eax, 0xe00fffff
or ebx, eax
mov dword [rsp + 0x64], ebx
mov eax, ebx
shr eax, 1
not al
and al, 1
movzx esi, al
mov dword [rsp + 0x60], esi
mov eax, ebx
shr eax, 0x13
and al, 1
mov dword [rsp + 0x5c], eax
lea ecx, [rsi + 3]
mov dword [rsp + 0x58], ecx
movss xmm3, dword [r13]
movss dword [rbp - 8], xmm3
movss xmm1, dword [r13 + 4]
movss dword [rbp - 4], xmm1
movss xmm2, dword [r13 + 8]
movss dword [rbp], xmm2
movss xmm11, dword [0x1800c5518]
test sil, sil
je 0x18003f456
movss xmm0, dword [r13 + 0xc]
jmp 0x18003f45a
movaps xmm0, xmm11
movss dword [rbp + 4], xmm0
mov eax, ebx
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x18003f48d
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 4]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 8]
movaps xmm0, xmm3
call fcn.180005580
jmp 0x18003f4cd
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x18003f4e5
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 4]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 8]
movaps xmm0, xmm3
call fcn.1800054d0
lea r9, [rbp]
lea r8, [rbp - 4]
lea rdx, [rbp - 8]
mov rcx, r13
call fcn.18003f1b0
mov ecx, dword [rsp + 0x58]
movss xmm3, dword [rbp - 8]
movss xmm1, dword [rbp - 4]
movss xmm2, dword [rbp]
movss xmm0, dword [rbp + 4]
movss xmm4, dword [0x1800c57c8]
movss xmm12, dword [0x1800c5488]
comiss xmm3, xmm6
jb 0x18003f501
movaps xmm8, xmm12
jmp 0x18003f505
movaps xmm8, xmm4
movss xmm5, dword [0x1800c573c]
mulss xmm3, xmm5
addss xmm3, xmm8
cvttss2si eax, xmm3
mov dword [rbp + 8], eax
comiss xmm1, xmm6
jb 0x18003f528
movaps xmm3, xmm12
jmp 0x18003f52b
movaps xmm3, xmm4
mulss xmm1, xmm5
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp + 0xc], eax
comiss xmm2, xmm6
jb 0x18003f545
movaps xmm1, xmm12
jmp 0x18003f548
movaps xmm1, xmm4
mulss xmm2, xmm5
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp + 0x10], eax
comiss xmm0, xmm6
jb 0x18003f560
movaps xmm4, xmm12
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [rbp + 0x14], eax
xor al, al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x53], al
mov rdx, qword [rbp - 0x68]
movss xmm13, dword [rdx + 0xd8]
movss xmm15, dword [rdx + 0xdc]
cmp dword [rdi + 0x1604], r14d
je 0x18003f59b
xorps xmm7, xmm7
movaps xmm0, xmm13
addss xmm0, xmm7
movss dword [rdx + 0xd8], xmm0
movss xmm14, dword [0x1800c57a4]
test ebx, 0x300000
je 0x18003f8da
test bl, 0x20
jne 0x18003f8da
lea eax, [rcx - 1]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm2, dword [rdi + 0x15c4]
movaps xmm0, xmm3
mulss xmm0, xmm2
movaps xmm1, xmm9
subss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm8, xmm11
maxss xmm8, xmm1
movaps xmm0, xmm8
addss xmm0, xmm2
mulss xmm0, xmm3
subss xmm9, xmm0
cvttss2si eax, xmm9
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm9, xmm11
maxss xmm9, xmm0
mov r12d, ebx
and r12d, 0x1000000
lea rcx, str.M:0.000
lea rax, str.M:000
cmovne rax, rcx
mov rsi, qword [0x18013a110]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1800c57d8]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm14
movss xmm2, dword [rsi + 0x19b0]
lea rdx, [rbp - 0x48]
mov rcx, qword [rsi + 0x19a8]
call fcn.18002dd60
movss xmm0, dword [rbp - 0x48]
addss xmm0, dword [0x1800c5510]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm8
setae al
test al, al
je 0x18003f6af
mov qword [rbp - 0x50], r14
jmp 0x18003f6c0
bt ebx, 0x15
mov rax, r14
setb al
inc rax
mov qword [rbp - 0x50], rax
mov r15d, r14d
mov r10d, dword [rsp + 0x58]
test r10d, r10d
je 0x18003fa8c
test r12d, r12d
je 0x18003f7dc
mov eax, ebx
and eax, 8
mov dword [rbp - 0x48], eax
lea r12, [0x1800bf100]
lea rbx, [rbp - 8]
mov r13, qword [rbp - 0x50]
shl r13, 5
sub r13, r12
lea rax, str._0.3f
add r13, rax
movss xmm7, dword [0x1800c53b4]
nop word [rax + rax]
test r15d, r15d
je 0x18003f725
movss xmm1, dword [rdi + 0x15c4]
movaps xmm0, xmm6
call fcn.180011da0
lea eax, [r15 + 1]
mov r15d, eax
cmp eax, r10d
jge 0x18003f737
movaps xmm0, xmm8
jmp 0x18003f73b
movaps xmm0, xmm9
or dword [rsi + 0x1cf4], 1
movss dword [rsi + 0x1cf8], xmm0
mov rax, qword [r12 + r13]
cmp byte [rsp + 0x5c], 0
je 0x18003f75a
movaps xmm0, xmm6
jmp 0x18003f75e
movaps xmm0, xmm11
movss dword [rbp - 0x58], xmm0
mov dword [rbp - 0x50], 0
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm7
mov r8, rbx
mov edx, 8
mov rcx, qword [r12]
call fcn.180036950
or r14b, al
or byte [rsp + 0x53], r14b
cmp dword [rbp - 0x48], 0
jne 0x18003f7a8
call fcn.180013680
add rbx, 4
add r12, 8
mov r10d, dword [rsp + 0x58]
cmp r15d, r10d
jge 0x18003f7c6
mov rsi, qword [0x18013a110]
jmp 0x18003f710
mov byte [rsp + 0x50], r14b
mov ebx, dword [rsp + 0x64]
xor r14d, r14d
mov r13, qword [rsp + 0x78]
jmp 0x18003fa8c
mov r9d, r14d
test r10d, r10d
je 0x18003fa8c
mov r12, r14
mov r15d, 0xff
cmp byte [rsp + 0x5c], r9b
cmovne r15d, r14d
mov eax, ebx
and eax, 8
mov dword [rbp - 0x58], eax
mov rbx, qword [rbp - 0x50]
shl rbx, 5
lea rax, [0x1800bf1b0]
add rbx, rax
lea r13, [0x1800bf100]
nop dword [rax + rax]
mov r8d, r9d
test r9d, r9d
je 0x18003f838
movss xmm1, dword [rdi + 0x15c4]
movaps xmm0, xmm6
call fcn.180011da0
lea eax, [r9 + 1]
mov dword [rsp + 0x5c], eax
cmp eax, r10d
jge 0x18003f84b
movaps xmm0, xmm8
jmp 0x18003f84f
movaps xmm0, xmm9
or dword [rsi + 0x1cf4], 1
movss dword [rsi + 0x1cf8], xmm0
mov rdx, qword [rbx + r12*8]
mov dword [rbp - 0x48], r15d
mov dword [rbp - 0x50], r14d
mov rax, r8
lea r8, [rbp + 8]
lea r8, [r8 + rax*4]
mov qword [rsp + 0x30], rdx
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm11
mov edx, 4
mov rcx, qword [r13 + r12*8]
call fcn.180036950
or byte [rsp + 0x50], al
cmp dword [rbp - 0x58], r14d
jne 0x18003f8ae
call fcn.180013680
inc r12
mov r10d, dword [rsp + 0x58]
cmp r12, r10
jge 0x18003f8cc
mov rsi, qword [0x18013a110]
mov r9d, dword [rsp + 0x5c]
jmp 0x18003f820
mov ebx, dword [rsp + 0x64]
mov r13, qword [rsp + 0x78]
jmp 0x18003fa8c
bt ebx, 0x16
jae 0x18003fa8c
test bl, 0x20
jne 0x18003fa8c
mov r15d, 0xff
test sil, sil
je 0x18003f969
mov edx, dword [rbp + 0x14]
test edx, edx
jns 0x18003f904
mov edx, r14d
jmp 0x18003f90b
cmp edx, r15d
cmovg edx, r15d
mov ecx, dword [rbp + 0x10]
test ecx, ecx
jns 0x18003f917
mov ecx, r14d
jmp 0x18003f91e
cmp ecx, r15d
cmovg ecx, r15d
mov eax, dword [rbp + 0xc]
test eax, eax
jns 0x18003f92a
mov eax, r14d
jmp 0x18003f931
cmp eax, r15d
cmovg eax, r15d
mov r9d, dword [rbp + 8]
test r9d, r9d
jns 0x18003f93f
mov r9d, r14d
jmp 0x18003f946
cmp r9d, r15d
cmovg r9d, r15d
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea r8, [0x1800beec8]
mov edx, 0x40
lea rcx, [rbp + 0x20]
call fcn.180004e10
jmp 0x18003f9c1
mov ecx, dword [rbp + 0x10]
test ecx, ecx
jns 0x18003f975
mov ecx, r14d
jmp 0x18003f97c
cmp ecx, r15d
cmovg ecx, r15d
mov eax, dword [rbp + 0xc]
test eax, eax
jns 0x18003f988
mov eax, r14d
jmp 0x18003f98f
cmp eax, r15d
cmovg eax, r15d
mov r9d, dword [rbp + 8]
test r9d, r9d
jns 0x18003f99d
mov r9d, r14d
jmp 0x18003f9a4
cmp r9d, r15d
cmovg r9d, r15d
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea r8, [0x1800beee0]
mov edx, 0x40
lea rcx, [rbp + 0x20]
call fcn.180004e10
mov rax, qword [0x18013a110]
or dword [rax + 0x1cf4], 1
movss dword [rax + 0x1cf8], xmm9
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 6
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
lea r8, [rbp + 0x20]
xor edx, edx
lea rcx, [0x1800beef0]
call fcn.18003b740
test al, al
je 0x18003fa82
mov byte [rsp + 0x50], 1
lea rcx, [rbp + 0x20]
nop
movzx eax, byte [rcx]
cmp al, 0x23
je 0x18003fa2f
cmp al, 0x20
je 0x18003fa2f
cmp al, 9
jne 0x18003fa34
inc rcx
jmp 0x18003fa20
mov qword [rbp + 0xc], r14
mov dword [rbp + 8], r14d
mov dword [rbp + 0x14], r15d
lea r9, [rbp + 0xc]
lea r8, [rbp + 8]
test sil, sil
je 0x18003fa6d
lea rax, [rbp + 0x14]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea rdx, str._02X_02X_02X_02X
call fcn.180003770
jmp 0x18003fa82
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea rdx, str._02X_02X_02X
call fcn.180003770
test bl, 8
jne 0x18003fa8c
call fcn.180013680
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x68]
call fcn.180007390
mov esi, eax
mov r15d, eax
shr r15d, 0x18
mov r12d, eax
shr r12d, 0x10
shr eax, 8
mov dword [rbp - 0x48], eax
movzx edx, sil
movzx r8d, al
mov ecx, dword [0x18013a0b4]
mov rax, qword gs:[0x58]
mov r9d, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [r9 + rax]
cmp dword [0x18013ad20], ecx
jle 0x18003fbe3
lea rcx, [0x18013ad20]
call fcn.1800ad598
movzx edx, sil
mov eax, dword [rbp - 0x48]
movzx r8d, al
movzx r9d, r12b
movzx r10d, r15b
cmp dword [0x18013ad20], 0xffffffff
jne 0x18003fbeb
xorps xmm0, xmm0
movups xmmword [0x18013aca0], xmm0
movups xmmword [0x18013acb0], xmm0
movups xmmword [0x18013acc0], xmm0
movups xmmword [0x18013acd0], xmm0
mov dword [0x18013aca0], 0
mov qword [0x18013aca8], r14
mov qword [0x18013acb0], r14
mov byte [rsp + 0x52], r15b
mov byte [rsp + 0x51], r12b
mov byte [rsp + 0x55], al
mov byte [rsp + 0x54], sil
mov ecx, 0x18
call fcn.1800ad758
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x18013aca8], rax
mov qword [0x18013acb8], r14
xorps xmm0, xmm0
movdqu xmmword [0x18013acc0], xmm0
mov qword [0x18013acd0], 7
mov qword [0x18013acd8], 8
mov dword [0x18013aca0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x18013acb8]
call fcn.18001c550
nop
lea rcx, [0x1800b2700]
call fcn.1800adaec
nop
lea rcx, [0x18013ad20]
call fcn.1800ad52c
movzx edx, sil
movzx r8d, byte [rsp + 0x55]
movzx r9d, r12b
movzx r10d, r15b
jmp 0x18003fbeb
movzx r9d, r12b
movzx r10d, r15b
movzx ecx, dl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, r8b
xor rcx, rax
imul rcx, rdx
movzx eax, r9b
xor rcx, rax
imul rcx, rdx
movzx eax, r10b
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x18013acd0]
add rcx, rcx
mov rdx, qword [0x18013acb8]
mov rax, qword [rdx + rcx*8 + 8]
mov r12, qword [0x18013aca8]
cmp rax, r12
je 0x18003fc65
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x18003fc68
cmp rax, rdx
je 0x18003fc65
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x18003fc55
jmp 0x18003fc68
mov rax, r14
test rax, rax
cmovne r12, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
mov rsi, 0xffffffffffffffff
mov r8, rsi
mov rax, qword [rsp + 0x70]
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18003fc90
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.18001c9b0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
mov r8d, 6
lea rdx, str.popup_
lea rcx, [rsp + 0x78]
call fcn.18001c9b0
nop
lea r9, [rbp - 0x48]
lea r8, [rsp + 0x78]
lea rcx, [rbp - 0x28]
call fcn.180048bf0
nop
lea rcx, [rsp + 0x78]
call fcn.18001c4e0
nop
lea rcx, [rbp - 0x48]
call fcn.18001c4e0
test bl, 0x10
jne 0x18004006c
call fcn.1800120a0
addss xmm0, xmm13
movss xmm2, dword [rdi + 0x15b0]
mulss xmm2, dword [0x1800c55c0]
subss xmm0, xmm2
mov rax, qword [rbp - 0x68]
movss dword [rax + 0xd8], xmm0
movss dword [rax + 0xdc], xmm15
mov r15, qword [0x18013a1b8]
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm14
movss xmm2, dword [r15 + 0x14]
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.18002dd60
mov rax, qword [rbp - 0x68]
mov r8, qword [rax + 0x270]
mov rax, qword [0x18013a110]
movups xmm0, xmmword [rax + 0x1644]
movups xmmword [rbp - 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rbp - 0x5c], xmm0
lea rcx, [rbp - 0x68]
call fcn.180005420
mov ecx, eax
movss xmm1, dword [rsp + 0x7c]
mulss xmm1, xmm12
addss xmm1, xmm15
addss xmm13, xmm6
movss xmm2, dword [r15 + 0x14]
test eax, 0xff000000
je 0x18003fe3a
mov rdx, qword [rsp + 0x70]
inc rsi
cmp byte [rdx + rsi], 0
jne 0x18003fdc5
add rsi, rdx
cmp rdx, rsi
je 0x18003fe3a
test r15, r15
jne 0x18003fde3
mov rax, qword [r8 + 0x38]
mov r15, qword [rax + 8]
ucomiss xmm2, xmm6
jp 0x18003fdf3
jne 0x18003fdf3
mov rax, qword [r8 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r8 + 0x88]
movups xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm6
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rdx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
movaps xmm0, xmm13
unpcklps xmm0, xmm1
movq r9, xmm0
mov rdx, r8
mov rcx, r15
call fcn.18002df80
mov esi, dword [rsp + 0x60]
test sil, sil
je 0x18003fe4b
movss xmm3, dword [r13 + 0xc]
jmp 0x18003fe4f
movaps xmm3, xmm11
movss xmm2, dword [r13 + 8]
movss xmm1, dword [r13 + 4]
movss xmm0, dword [r13]
movss dword [rbp - 0x48], xmm0
movss dword [rbp - 0x44], xmm1
movss dword [rbp - 0x40], xmm2
movss dword [rbp - 0x3c], xmm3
movaps xmm0, xmm6
unpcklps xmm0, xmm6
movq r9, xmm0
mov r8d, ebx
lea rdx, [rbp - 0x48]
lea rcx, str.ColorButton
call fcn.180042b10
test al, al
je 0x18003ff2d
test bl, 4
jne 0x18003ff2d
mov dword [r12 + 0x14], r14d
movups xmm0, xmmword [rbp - 0x48]
movups xmmword [rdi + 0x306c], xmm0
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rdx, qword [rbp - 0x28]
mov rax, qword [0x18013a110]
mov rcx, qword [rax + 0x1c50]
call fcn.180007390
mov ecx, eax
xor edx, edx
call fcn.180012f60
movss xmm1, dword [rdi + 0x1d20]
addss xmm1, dword [rdi + 0x15c0]
movss xmm0, dword [rdi + 0x1d14]
addss xmm0, xmm6
mov rax, qword [0x18013a110]
or dword [rax + 0x1d48], 1
movss dword [rax + 0x1d58], xmm0
movss dword [rax + 0x1d5c], xmm1
mov qword [rax + 0x1d60], 0
mov dword [rax + 0x1d4c], 1
test bl, 8
jne 0x18003ff37
call fcn.180013680
movss xmm7, dword [rsp + 0x68]
movaps xmm0, xmm7
mulss xmm0, dword [r12 + 0x14]
movss dword [rdi + 0x1570], xmm0
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rdx, qword [rbp - 0x28]
mov rcx, qword [0x18013a110]
mov eax, dword [rcx + 0x1e28]
cmp dword [rcx + 0x1e18], eax
jg 0x18003ff7e
mov dword [rcx + 0x1d48], r14d
jmp 0x180040076
mov rcx, qword [rcx + 0x1c50]
call fcn.180007390
mov ecx, eax
call fcn.1800134c0
test al, al
je 0x180040076
movss xmm0, dword [rdi + 0x18]
mulss xmm0, dword [0x1800c5610]
addss xmm0, dword [r12 + 0x14]
comiss xmm6, xmm0
ja 0x18003ffba
movaps xmm6, xmm11
minss xmm6, xmm0
movss dword [r12 + 0x14], xmm6
mov r14, qword [rdi + 0x1c50]
mov r8d, dword [rsp + 0x6c]
and r8d, 0x1f890002
or r8d, 0x440198
mov rax, qword [0x18013a110]
or dword [rax + 0x1cf4], 1
mulss xmm10, dword [0x1800c5638]
movss dword [rax + 0x1cf8], xmm10
lea r9, [rdi + 0x306c]
mov rdx, r13
lea rcx, str.picker
call fcn.180040340
movzx r15d, byte [rsp + 0x50]
or r15b, al
mov rsi, qword [0x18013a110]
mov rax, qword [rsi + 0x1c50]
cmp qword [rsi + 0x1e50], rax
jne 0x18004004a
cmp byte [rsi + 0x1ead], 0
je 0x18004004a
cmp dword [rsi + 0x1e8c], 0
jne 0x18004004a
or dword [rsi + 0x1eb0], 2
test dword [rax + 0xc], 0x1000000
je 0x18004005a
mov byte [rsi + 0x1bde], 1
call fcn.180010fa0
mov byte [rsi + 0x1bde], 0
mov esi, dword [rsp + 0x60]
jmp 0x18004007c
movss xmm7, dword [rsp + 0x68]
mov esi, dword [rsp + 0x60]
movzx r15d, byte [rsp + 0x50]
movss dword [rdi + 0x1570], xmm7
test r15b, r15b
je 0x1800401a8
test r14, r14
jne 0x1800401a8
cmp byte [rsp + 0x53], r14b
jne 0x1800400b0
movdqu xmm0, xmmword [rbp + 8]
cvtdq2ps xmm1, xmm0
divps xmm1, xmmword [0x1800c5d60]
movups xmmword [rbp - 8], xmm1
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x180040133
movss xmm0, dword [rbp - 8]
movss dword [rdi + 0x3060], xmm0
movss xmm1, dword [rbp - 4]
movss dword [rdi + 0x3064], xmm1
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 4]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 8]
movss xmm2, dword [rbp]
call fcn.180005580
movss xmm6, dword [rbp - 8]
movss dword [rsp + 0x78], xmm6
movss xmm7, dword [rbp - 4]
movss dword [rsp + 0x7c], xmm7
movss xmm8, dword [rbp]
movss dword [rbp - 0x80], xmm8
mov dword [rbp - 0x7c], 0
lea rcx, [rsp + 0x78]
call fcn.180005420
mov dword [rdi + 0x3068], eax
jmp 0x180040143
movss xmm8, dword [rbp]
movss xmm7, dword [rbp - 4]
movss xmm6, dword [rbp - 8]
mov eax, ebx
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x180040186
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 4]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 8]
movaps xmm2, xmm8
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.1800054d0
movss xmm8, dword [rbp]
movss xmm7, dword [rbp - 4]
movss xmm6, dword [rbp - 8]
movss dword [r13], xmm6
movss dword [r13 + 4], xmm7
movss dword [r13 + 8], xmm8
test sil, sil
je 0x1800401a8
movss xmm0, dword [rbp + 4]
movss dword [r13 + 0xc], xmm0
mov rax, qword [0x18013a110]
mov rcx, qword [rax + 0x1c50]
dec dword [rcx + 0xc8]
call fcn.180012370
test byte [rdi + 0x1d10], 1
je 0x180040285
bt ebx, 9
jb 0x180040285
call fcn.180016f80
test al, al
je 0x180040285
xor sil, sil
lea rcx, str._COL3F
call fcn.180017030
test rax, rax
je 0x180040214
mov rax, qword [rax]
movsd xmm0, qword [rax]
movsd qword [r13], xmm0
mov eax, dword [rax + 8]
mov dword [r13 + 8], eax
mov sil, 1
movzx r15d, sil
lea rcx, str._COL4F
call fcn.180017030
test rax, rax
je 0x18004023e
mov r8d, dword [rsp + 0x58]
shl r8, 2
mov rdx, qword [rax]
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r15b, 1
jmp 0x180040243
test sil, sil
je 0x180040275
bt ebx, 0x1c
jae 0x180040275
lea rax, [r13 + 8]
lea rcx, [r13 + 4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9, r13
movss xmm2, dword [r13 + 8]
movss xmm1, dword [r13 + 4]
movss xmm0, dword [r13]
call fcn.1800054d0
mov rax, qword [0x18013a110]
mov byte [rax + 0x1fe6], 0
jmp 0x18004028c
mov rax, qword [0x18013a110]
test r14, r14
je 0x1800402aa
mov ecx, dword [rdi + 0x1c9c]
test ecx, ecx
je 0x1800402aa
cmp qword [rdi + 0x1cc8], r14
jne 0x1800402aa
mov dword [rdi + 0x1d08], ecx
test r15b, r15b
je 0x1800402c8
cmp dword [rdi + 0x1d08], 0
je 0x1800402c8
mov word [rax + 0x1cac], 0x101
or dword [rax + 0x1d10], 4
lea rcx, [rbp - 0x28]
call fcn.18001c4e0
movzx eax, r15b
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1800ad4d0
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x58]
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