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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x138]
sub rsp, 0x238
mov rsi, qword [0x1802cb5a0]
mov edi, r8d
mov rbx, rdx
mov r14, rcx
mov rax, qword [rsi + 0x3ea0]
mov byte [rax + 0xb0], 1
mov r15, qword [rsi + 0x3ea0]
mov qword [rbp - 0x38], r15
cmp byte [r15 + 0xb3], 0
je 0x180081126
xor al, al
add rsp, 0x238
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x230], r12
mov qword [rsp + 0x228], r13
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x1f0], xmm8
movaps xmmword [rsp + 0x1e0], xmm9
movaps xmmword [rsp + 0x1d0], xmm10
movaps xmmword [rsp + 0x1c0], xmm11
movss xmm11, dword [rsi + 0x3820]
movaps xmmword [rsp + 0x1b0], xmm12
addss xmm11, xmm11
movaps xmmword [rsp + 0x1a0], xmm13
movaps xmmword [rsp + 0x190], xmm14
movaps xmmword [rsp + 0x180], xmm15
addss xmm11, dword [rsi + 0x3c00]
call fcn.1800625b0
movss dword [rbp - 0x44], xmm0
xorps xmm9, xmm9
test dil, 0x10
je 0x1800811bf
xorps xmm12, xmm12
jmp 0x1800811cc
movaps xmm12, xmm11
addss xmm12, dword [rsi + 0x3834]
mov qword [rbp - 0x50], r14
movaps xmm13, xmm0
subss xmm13, xmm12
cmp r14, 0xffffffffffffffff
jae 0x18008120a
mov rbx, r14
movzx ecx, byte [rbx]
test cl, cl
je 0x180081203
lea rax, [rbx + 1]
cmp cl, 0x23
jne 0x1800811f6
cmp byte [rax], cl
je 0x180081203
mov qword [rbp - 0x50], rax
mov rbx, rax
cmp rax, 0xffffffffffffffff
jb 0x1800811e2
mov rbx, qword [rbp + 0x178]
xor eax, eax
mov dword [rsi + 0x3f58], eax
call fcn.180062750
mov rcx, r14
call fcn.1800613e0
mov eax, dword [rsi + 0x5304]
mov dword [rbp - 0x40], eax
test eax, eax
jne 0x180081244
movsxd rcx, dword [r15 + 0xe8]
mov rax, qword [r15 + 0xf0]
mov ecx, dword [rax + rcx*4 - 4]
mov dword [rsi + 0x5304], ecx
mov dword [rbp - 0x48], edi
test dil, 0x20
je 0x180081259
and edi, 0xff9fffff
or edi, 0x100008
test dil, 8
jne 0x180081269
mov edx, edi
mov rcx, rbx
call fcn.180085b80
test edi, 0x700000
jne 0x18008127e
mov eax, dword [rsi + 0x52dc]
and eax, 0x700000
or edi, eax
test edi, 0x1800000
jne 0x180081293
mov eax, dword [rsi + 0x52dc]
and eax, 0x1800000
or edi, eax
test edi, 0x6000000
jne 0x1800812a8
mov eax, dword [rsi + 0x52dc]
and eax, 0x6000000
or edi, eax
test edi, 0x18000000
jne 0x1800812bd
mov eax, dword [rsi + 0x52dc]
and eax, 0x18000000
or edi, eax
mov eax, dword [rsi + 0x52dc]
movss xmm6, dword [rbx]
and eax, 0xe00fffff
movss xmm7, dword [rbx + 4]
or edi, eax
movss xmm8, dword [rbx + 8]
mov eax, edi
movss xmm10, dword [0x180273f3c]
mov r12d, edi
shr eax, 1
shr r12d, 0x13
not al
and al, 1
movss dword [rsp + 0x48], xmm6
movzx r13d, al
and r12b, 1
movss dword [rsp + 0x4c], xmm7
movss dword [rsp + 0x50], xmm8
mov dword [rbp + 0x180], edi
mov dword [rbp - 0x78], r13d
lea ecx, [r13 + 3]
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x68], r12d
test al, al
je 0x180081334
movss xmm0, dword [rbx + 0xc]
movss dword [rsp + 0x54], xmm0
jmp 0x18008133c
mov dword [rsp + 0x54], 0x3f800000
mov rbx, qword [0x1802cb5a0]
mov eax, edi
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1800813b2
lea rax, [rsp + 0x50]
movaps xmm2, xmm8
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
movaps xmm1, xmm7
movaps xmm0, xmm6
mov qword [rsp + 0x20], rax
call fcn.1800548b0
mov ecx, dword [rsp + 0x58]
movss xmm6, dword [rsp + 0x48]
movss xmm7, dword [rsp + 0x4c]
movss xmm8, dword [rsp + 0x50]
comiss xmm6, xmm9
movss xmm2, dword [0x180274468]
movss xmm1, dword [0x180273e1c]
jb 0x18008146c
movaps xmm0, xmm1
jmp 0x18008146f
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x180081390
lea rax, [rsp + 0x50]
movaps xmm2, xmm8
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
movaps xmm1, xmm7
movaps xmm0, xmm6
mov qword [rsp + 0x20], rax
call fcn.180054800
lea rcx, [rbp - 0x70]
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm7
movss dword [rbp - 0x68], xmm8
mov dword [rbp - 0x64], 0
call fcn.180054750
cmp dword [rbx + 0x52e8], eax
jne 0x180081379
movss xmm7, dword [rsp + 0x4c]
ucomiss xmm7, xmm9
je 0x180081436
movss xmm6, dword [rsp + 0x48]
ucomiss xmm6, xmm9
jne 0x180081444
ucomiss xmm10, dword [rbx + 0x52e0]
jne 0x180081444
movss xmm6, dword [rbx + 0x52e0]
movss dword [rsp + 0x48], xmm6
movss xmm8, dword [rsp + 0x50]
ucomiss xmm8, xmm9
mov ecx, dword [rsp + 0x58]
jne 0x180081390
movss xmm7, dword [rbx + 0x52e4]
movss dword [rsp + 0x4c], xmm7
jmp 0x180081390
movaps xmm0, xmm2
comiss xmm7, xmm9
movss xmm3, dword [0x1802743b4]
mulss xmm6, xmm3
addss xmm6, xmm0
cvttss2si eax, xmm6
mov dword [rsp + 0x70], eax
jb 0x180081492
movaps xmm0, xmm1
jmp 0x180081495
movaps xmm0, xmm2
comiss xmm8, xmm9
mulss xmm7, xmm3
addss xmm7, xmm0
cvttss2si eax, xmm7
mov dword [rsp + 0x74], eax
jb 0x1800814b0
movaps xmm0, xmm1
jmp 0x1800814b3
movaps xmm0, xmm2
mulss xmm8, xmm3
addss xmm8, xmm0
movss xmm0, dword [rsp + 0x54]
comiss xmm0, xmm9
cvttss2si eax, xmm8
mov dword [rsp + 0x78], eax
jae 0x1800814d5
movaps xmm1, xmm2
cmp dword [rsi + 0x3874], 0
movss xmm0, dword [rsp + 0x54]
mulss xmm0, xmm3
mov byte [rbp + 0x188], 0
mov byte [rsp + 0x40], 0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0x7c], eax
movss xmm14, dword [r15 + 0xf8]
movss xmm15, dword [r15 + 0xfc]
jne 0x180081518
movaps xmm1, xmm12
jmp 0x18008151c
movaps xmm1, xmm9
movaps xmm0, xmm14
addss xmm0, xmm1
movss dword [r15 + 0xf8], xmm0
test edi, 0x300000
je 0x180081a8a
test dil, 0x20
jne 0x180081a8a
movss xmm2, dword [rsi + 0x3834]
lea eax, [rcx - 1]
movd xmm3, eax
lea rdx, [rsp + 0x60]
cvtdq2ps xmm3, xmm3
mov r15d, edi
and r15d, 0x1000000
movaps xmm1, xmm13
movaps xmm0, xmm3
mulss xmm0, xmm2
subss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
lea rcx, str.M:0.000
divss xmm1, xmm0
movaps xmm0, xmm13
cvttss2si eax, xmm1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
maxss xmm7, xmm10
addss xmm2, xmm7
mulss xmm2, xmm3
subss xmm0, xmm2
movss xmm2, dword [rbx + 0x3c00]
cvttss2si eax, xmm0
movss xmm0, dword [0x180274474]
movd xmm8, eax
lea rax, str.M:000
cmovne rax, rcx
xor ecx, ecx
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbx + 0x3bf8]
cvtdq2ps xmm8, xmm8
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
maxss xmm8, xmm10
call fcn.180070980
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [0x180273f34]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm7
setae al
test al, al
je 0x18008161a
xor ecx, ecx
mov r13d, ecx
jmp 0x18008162d
bt edi, 0x15
mov ecx, 0
mov r13d, ecx
setb r13b
inc r13
mov edx, dword [rsp + 0x58]
mov r14d, ecx
test edx, edx
je 0x18008173a
test r15d, r15d
je 0x1800819a5
movss xmm6, dword [0x180273ce0]
lea r12, [0x180273a60]
mov eax, edi
shl r13, 5
mov edi, dword [rsp + 0x68]
lea r15, [rsp + 0x48]
and eax, 8
sub r13, r12
mov dword [rsp + 0x60], eax
lea rax, str._0.3f
add r13, rax
test r14d, r14d
je 0x180081689
movss xmm1, dword [rsi + 0x3834]
call fcn.180062430
lea eax, [r14 + 1]
mov r14d, eax
cmp eax, edx
jge 0x180081699
movaps xmm0, xmm7
jmp 0x18008169d
movaps xmm0, xmm8
or dword [rbx + 0x3f58], 1
mov rax, qword [r12 + r13]
movss dword [rbx + 0x3f5c], xmm0
test dil, dil
je 0x1800816bb
movaps xmm0, xmm9
jmp 0x1800816bf
movaps xmm0, xmm10
mov rcx, qword [r12]
movaps xmm3, xmm6
mov qword [rsp + 0x30], rax
mov r8, r15
lea rax, [rsp + 0x68]
movss dword [rsp + 0x68], xmm0
mov qword [rsp + 0x28], rax
mov edx, 8
lea rax, [rbp - 0x80]
mov dword [rbp - 0x80], 0
mov qword [rsp + 0x20], rax
call fcn.180078e90
movzx edx, byte [rbp + 0x188]
or dl, al
or byte [rsp + 0x40], dl
cmp dword [rsp + 0x60], 0
mov byte [rbp + 0x188], dl
jne 0x180081717
call fcn.180063d70
mov edx, dword [rsp + 0x58]
add r15, 4
add r12, 8
cmp r14d, edx
jge 0x180081734
mov rbx, qword [0x1802cb5a0]
jmp 0x180081677
mov edi, dword [rbp + 0x180]
mov r14, qword [rbp + 0x170]
xor ebx, ebx
mov ecx, dword [0x1802cb2a0]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x1802cc610], eax
jg 0x180082291
xorps xmm0, xmm0
xorps xmm1, xmm1
mov r15, 0xffffffffffffffff
movups xmmword [rbp - 0x70], xmm0
mov r8, r15
movdqu xmmword [rbp - 0x60], xmm1
inc r8
cmp byte [r14 + r8], 0
jne 0x180081783
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.180005510
mov r13, qword [rbp - 0x58]
lea rdx, [rbp - 0x70]
mov r12, qword [rbp - 0x70]
cmp r13, 0xf
mov r8, qword [rbp - 0x60]
movabs r14, 0xcbf29ce484222325
cmova rdx, r12
mov r9, r14
mov rcx, rbx
movabs r10, 0x100000001b3
test r8, r8
je 0x1800817e3
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, r10
cmp rcx, r8
jb 0x1800817d0
lea r8, [rbp - 0x70]
lea rdx, [rbp - 8]
call fcn.180089280
mov rcx, qword [rax + 8]
mov rax, qword [0x1802cc628]
test rcx, rcx
mov rbx, rax
cmovne rbx, rcx
cmp r13, 0xf
jbe 0x180081844
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x180081835
mov r12, qword [r12 - 8]
add rdx, 0x27
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008199e
mov rcx, r12
call fcn.1800fc12c
mov rax, qword [0x1802cc628]
mov r12, qword [rbp + 0x170]
cmp rbx, rax
jne 0x180081c6e
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x28], xmm0
mov r8, r15
movdqu xmmword [rbp - 0x18], xmm1
inc r8
cmp byte [r12 + r8], 0
jne 0x180081866
mov rdx, r12
lea rcx, [rbp - 0x28]
call fcn.180005510
movups xmm0, xmmword [rbp - 0x28]
lea r8, [rbp + 0x10]
mov dword [rbp + 0x30], 0
movups xmm1, xmmword [rbp - 0x18]
lea rdx, [rbp - 0x70]
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm1
call fcn.180088590
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1800818db
mov rcx, qword [rbp + 0x10]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800818d6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008199e
call fcn.1800fc12c
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x28], xmm0
movdqu xmmword [rbp - 0x18], xmm1
nop word [rax + rax]
inc r15
cmp byte [r12 + r15], 0
jne 0x1800818f0
mov r8, r15
lea rcx, [rbp - 0x28]
mov rdx, r12
call fcn.180005510
mov r13, qword [rbp - 0x10]
lea rdx, [rbp - 0x28]
mov r15, qword [rbp - 0x28]
cmp r13, 0xf
mov r8, qword [rbp - 0x18]
cmova rdx, r15
xor ecx, ecx
test r8, r8
je 0x180081945
movabs r9, 0x100000001b3
movzx eax, byte [rcx + rdx]
inc rcx
xor r14, rax
imul r14, r9
cmp rcx, r8
jb 0x180081932
mov r9, r14
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x70]
call fcn.180089280
mov rbx, qword [0x1802cc628]
mov rcx, qword [rax + 8]
test rcx, rcx
cmovne rbx, rcx
cmp r13, 0xf
jbe 0x180081c6e
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x180081c66
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180081c66
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test edx, edx
je 0x18008173a
test r12b, r12b
mov eax, edi
mov r14d, 0xff
lea r12, [0x180273a60]
cmovne r14d, ecx
mov r15, rcx
and eax, 8
shl r13, 5
mov dword [rsp + 0x68], eax
mov edi, ecx
lea rax, [0x180273a80]
add r13, rax
nop dword [rax]
mov r8d, edi
test edi, edi
je 0x1800819f6
movss xmm1, dword [rsi + 0x3834]
call fcn.180062430
xor ecx, ecx
lea eax, [rdi + 1]
mov edi, eax
cmp eax, edx
jge 0x180081a04
movaps xmm0, xmm7
jmp 0x180081a08
movaps xmm0, xmm8
mov rdx, qword [r13 + r15*8]
mov rax, r8
or dword [rbx + 0x3f58], 1
lea r8, [rsp + 0x70]
mov qword [rsp + 0x30], rdx
movaps xmm3, xmm10
mov dword [rbp - 0x80], ecx
mov edx, 4
mov rcx, qword [r12 + r15*8]
lea r8, [r8 + rax*4]
lea rax, [rsp + 0x60]
movss dword [rbx + 0x3f5c], xmm0
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x60], r14d
call fcn.180078e90
or byte [rbp + 0x188], al
cmp dword [rsp + 0x68], 0
jne 0x180081a6c
call fcn.180063d70
mov edx, dword [rsp + 0x58]
inc r15
cmp r15, rdx
jge 0x180081734
mov rbx, qword [0x1802cb5a0]
xor ecx, ecx
jmp 0x1800819e0
bt edi, 0x16
jae 0x180081741
test dil, 0x20
jne 0x180081741
mov r14d, 0xff
test r13b, r13b
je 0x180081b24
mov edx, dword [rsp + 0x7c]
test edx, edx
jns 0x180081ab9
xor r8d, r8d
mov edx, r8d
jmp 0x180081ac3
cmp edx, r14d
cmovg edx, r14d
xor r8d, r8d
mov ecx, dword [rsp + 0x78]
test ecx, ecx
jns 0x180081ad0
mov ecx, r8d
jmp 0x180081ad7
cmp ecx, r14d
cmovg ecx, r14d
mov eax, dword [rsp + 0x74]
test eax, eax
jns 0x180081ae4
mov eax, r8d
jmp 0x180081aeb
cmp eax, r14d
cmovg eax, r14d
mov r9d, dword [rsp + 0x70]
test r9d, r9d
jns 0x180081afa
mov r9d, r8d
jmp 0x180081b01
cmp r9d, r14d
cmovg r9d, r14d
mov dword [rsp + 0x30], edx
lea r8, [0x180273828]
mov dword [rsp + 0x28], ecx
mov edx, 0x40
lea rcx, [rbp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.180053c20
jmp 0x180081b81
mov ecx, dword [rsp + 0x78]
test ecx, ecx
jns 0x180081b32
xor edx, edx
mov ecx, edx
jmp 0x180081b3b
cmp ecx, r14d
cmovg ecx, r14d
xor edx, edx
mov eax, dword [rsp + 0x74]
test eax, eax
jns 0x180081b47
mov eax, edx
jmp 0x180081b4e
cmp eax, r14d
cmovg eax, r14d
mov r9d, dword [rsp + 0x70]
test r9d, r9d
jns 0x180081b5d
mov r9d, edx
jmp 0x180081b64
cmp r9d, r14d
cmovg r9d, r14d
mov dword [rsp + 0x28], ecx
lea r8, [0x180273840]
lea rcx, [rbp + 0x40]
mov dword [rsp + 0x20], eax
mov edx, 0x40
call fcn.180053c20
mov rax, qword [0x1802cb5a0]
lea r8, [rbp + 0x40]
xor ebx, ebx
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x38], rbx
lea rcx, str.Text
mov qword [rsp + 0x30], rbx
mov r9d, 0x40
or dword [rax + 0x3f58], 1
xor edx, edx
movss dword [rax + 0x3f5c], xmm13
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 6
mov qword [rsp + 0x20], rax
call fcn.18007df90
test al, al
je 0x180081c4f
mov byte [rbp + 0x188], 1
lea rcx, [rbp + 0x40]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x180081bf5
cmp al, 0x20
je 0x180081bf5
cmp al, 9
jne 0x180081bfa
inc rcx
jmp 0x180081be6
mov qword [rsp + 0x74], rbx
lea r9, [rsp + 0x74]
mov dword [rsp + 0x70], ebx
lea r8, [rsp + 0x70]
mov dword [rsp + 0x7c], r14d
test r13b, r13b
je 0x180081c39
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rdx, str._02X_02X_02X_02X
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.1800522e0
jmp 0x180081c4f
lea rax, [rsp + 0x78]
lea rdx, str._02X_02X_02X
mov qword [rsp + 0x20], rax
call fcn.1800522e0
test dil, 8
jne 0x180081c5a
call fcn.180063d70
mov r14, qword [rbp + 0x170]
jmp 0x180081743
mov rcx, r15
call fcn.1800fc12c
call fcn.180063520
test al, al
je 0x180081c7d
movaps xmm1, xmm10
jmp 0x180081c81
movaps xmm1, xmm9
subss xmm1, dword [rbx + 0x30]
xor r14d, r14d
mov r15d, r14d
mulss xmm1, dword [0x180273d50]
addss xmm1, dword [rbx + 0x30]
movss dword [rbx + 0x30], xmm1
test dil, 0x10
jne 0x180081f45
test dil, 0x20
jne 0x180081cc2
cmp dword [rsi + 0x3874], r14d
je 0x180081cc2
addss xmm13, dword [rsi + 0x3834]
jmp 0x180081cc6
movaps xmm13, xmm9
movaps xmm0, xmm14
mov rax, qword [rbp - 0x38]
addss xmm0, xmm13
mov r13, qword [rbp + 0x178]
movss dword [rax + 0xfc], xmm15
movss dword [rax + 0xf8], xmm0
cmp byte [rbp - 0x78], r14b
je 0x180081cf9
movss xmm2, dword [r13 + 0xc]
jmp 0x180081cfd
movaps xmm2, xmm10
movss xmm0, dword [r13]
lea r9, [rsp + 0x60]
movss xmm1, dword [r13 + 4]
lea rdx, [rbp - 0x70]
movss dword [rbp - 0x70], xmm0
lea rcx, str.ColorButton
movss xmm0, dword [r13 + 8]
mov r8d, edi
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x6c], xmm1
movss dword [rbp - 0x64], xmm2
mov dword [rsp + 0x60], 0x41400000
mov dword [rsp + 0x64], 0x41400000
call fcn.180085100
test al, al
je 0x180081db3
test dil, 4
jne 0x180081db3
movups xmm0, xmmword [rbp - 0x70]
lea rcx, [0x180273878]
movups xmmword [rsi + 0x530c], xmm0
call fcn.1800635e0
movss xmm1, dword [rsi + 0x3f84]
addss xmm1, dword [rsi + 0x3830]
mov rax, qword [0x1802cb5a0]
movss xmm0, dword [rsi + 0x3f78]
or dword [rax + 0x3fa8], 1
movss dword [rax + 0x3fbc], xmm1
movss dword [rax + 0x3fb8], xmm0
mov qword [rax + 0x3fc0], r14
mov dword [rax + 0x3fac], 1
test dil, 8
jne 0x180081dbe
call fcn.180063d70
mov r14d, 2
mov dword [rsp + 0x60], 0x41200000
mov ecx, r14d
mov dword [rsp + 0x64], 0x41200000
lea rdx, [rsp + 0x60]
call fcn.180055020
movss xmm1, dword [0x180274264]
mov ecx, 9
call fcn.180054fa0
movss xmm1, dword [rbx + 0x30]
xor ecx, ecx
call fcn.180054fa0
movaps xmm1, xmm10
mov ecx, r14d
call fcn.180054c60
mov edx, eax
call fcn.180054e20
mov rbx, qword [0x1802cb5a0]
lea rdx, [rbp - 8]
movdqa xmm6, xmmword [0x1802746d0]
mov dword [rbp - 8], 5
movups xmm0, xmmword [rbx + 0x38f8]
lea rcx, [rbx + 0x4018]
movups xmmword [rbp - 4], xmm0
call fcn.180069bc0
lea rcx, [0x180273878]
movups xmmword [rbx + 0x38f8], xmm6
call fcn.180063c80
test al, al
je 0x180081ee1
mov rax, qword [rsi + 0x3ea0]
cmp word [rax + 0xba], 1
jne 0x180081edc
mov r15, rax
mov rax, qword [rbp - 0x50]
cmp r12, rax
je 0x180081e8e
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.180074ea0
call fcn.180078480
mov rax, qword [0x1802cb5a0]
lea r9, [rsi + 0x530c]
mulss xmm11, dword [0x1802742b8]
lea rcx, str.picker
mov r8d, dword [rbp - 0x48]
mov rdx, r13
and r8d, 0x1f890002
or dword [rax + 0x3f58], 1
or r8d, 0x7401a0
movss dword [rax + 0x3f5c], xmm11
call fcn.1800827b0
or byte [rbp + 0x188], al
call fcn.180063d10
mov r8, qword [0x1802cb5a0]
mov eax, dword [r8 + 0x4018]
cmp eax, r14d
jge 0x180081f00
mov r14d, eax
test eax, eax
jle 0x180081f39
nop dword [rax + rax]
mov rcx, qword [r8 + 0x4020]
dec r14d
cdqe
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x38a8], xmm0
dec dword [r8 + 0x4018]
mov eax, dword [r8 + 0x4018]
test r14d, r14d
jg 0x180081f00
mov ecx, 3
call fcn.1800550b0
jmp 0x180081f4c
mov r13, qword [rbp + 0x178]
mov rdx, qword [rbp - 0x50]
cmp r12, rdx
je 0x180081f9b
test dil, dil
js 0x180081f9b
movss xmm1, dword [rsi + 0x3834]
call fcn.180062430
test dil, 0x20
jne 0x180081f7e
movss xmm0, dword [rbp - 0x44]
addss xmm0, dword [rsi + 0x3834]
movaps xmm12, xmm0
mov rax, qword [rbp - 0x38]
addss xmm12, xmm14
xor r8d, r8d
mov rcx, r12
movss dword [rax + 0xf8], xmm12
call fcn.180074ea0
movzx r14d, byte [rbp + 0x188]
test r14b, r14b
je 0x1800820ea
test r15, r15
jne 0x1800820ea
cmp byte [rsp + 0x40], r15b
jne 0x180081fd1
movdqu xmm0, xmmword [rsp + 0x70]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmmword [0x1802746a0]
movups xmmword [rsp + 0x48], xmm1
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x18008206a
movss xmm0, dword [rsp + 0x48]
lea rax, [rsp + 0x50]
movss xmm1, dword [rsp + 0x4c]
lea r9, [rsp + 0x48]
movss xmm2, dword [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
movss dword [rsi + 0x52f8], xmm0
movss dword [rsi + 0x52fc], xmm1
call fcn.1800548b0
mov eax, dword [rsi + 0x5304]
lea rcx, [rbp - 0x38]
movss xmm6, dword [rsp + 0x48]
movss xmm7, dword [rsp + 0x4c]
movss xmm8, dword [rsp + 0x50]
movss dword [rbp - 0x38], xmm6
movss dword [rbp - 0x34], xmm7
movss dword [rbp - 0x30], xmm8
mov dword [rsi + 0x5300], eax
mov dword [rbp - 0x2c], 0
call fcn.180054750
mov dword [rsi + 0x5308], eax
jmp 0x18008207d
movss xmm8, dword [rsp + 0x50]
movss xmm7, dword [rsp + 0x4c]
movss xmm6, dword [rsp + 0x48]
mov eax, edi
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1800820c6
lea rax, [rsp + 0x50]
movaps xmm2, xmm8
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
movaps xmm1, xmm7
movaps xmm0, xmm6
mov qword [rsp + 0x20], rax
call fcn.180054800
movss xmm8, dword [rsp + 0x50]
movss xmm7, dword [rsp + 0x4c]
movss xmm6, dword [rsp + 0x48]
cmp byte [rbp - 0x78], 0
movss dword [r13], xmm6
movss dword [r13 + 4], xmm7
movss dword [r13 + 8], xmm8
je 0x1800820ea
movss xmm0, dword [rsp + 0x54]
movss dword [r13 + 0xc], xmm0
cmp dword [rbp - 0x40], 0
jne 0x1800820f8
xor ecx, ecx
mov dword [rsi + 0x5304], ecx
mov rax, qword [0x1802cb5a0]
mov rcx, qword [rax + 0x3ea0]
dec dword [rcx + 0xe8]
call fcn.180062880
test byte [rsi + 0x3f74], 1
je 0x1800821d2
bt edi, 9
jb 0x1800821d2
call fcn.180067dd0
test al, al
je 0x1800821d2
lea rcx, str._COL3F
xor bl, bl
call fcn.180067eb0
test rax, rax
je 0x180082162
mov rax, qword [rax]
mov bl, 1
movzx r14d, bl
movsd xmm0, qword [rax]
movsd qword [r13], xmm0
mov eax, dword [rax + 8]
mov dword [r13 + 8], eax
lea rcx, str._COL4F
call fcn.180067eb0
test rax, rax
je 0x18008218c
mov r8d, dword [rsp + 0x58]
mov rcx, r13
mov rdx, qword [rax]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov r14b, 1
jmp 0x180082190
test bl, bl
je 0x1800821c2
bt edi, 0x1c
jae 0x1800821c2
movss xmm2, dword [r13 + 8]
lea rax, [r13 + 8]
movss xmm1, dword [r13 + 4]
lea rcx, [r13 + 4]
movss xmm0, dword [r13]
mov r9, r13
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
call fcn.180054800
mov rax, qword [0x1802cb5a0]
mov byte [rax + 0x4256], 0
jmp 0x1800821d9
mov rax, qword [0x1802cb5a0]
test r15, r15
je 0x1800821f7
mov ecx, dword [rsi + 0x3eec]
test ecx, ecx
je 0x1800821f7
cmp qword [rsi + 0x3f08], r15
jne 0x1800821f7
mov dword [rsi + 0x3f6c], ecx
test r14b, r14b
je 0x180082215
cmp dword [rsi + 0x3f6c], 0
je 0x180082215
or dword [rax + 0x3f74], 4
mov word [rax + 0x3efc], 0x101
movaps xmm14, xmmword [rsp + 0x190]
movzx eax, r14b
movaps xmm13, xmmword [rsp + 0x1a0]
movaps xmm12, xmmword [rsp + 0x1b0]
movaps xmm11, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm9, xmmword [rsp + 0x1e0]
movaps xmm8, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm6, xmmword [rsp + 0x210]
mov r13, qword [rsp + 0x228]
mov r12, qword [rsp + 0x230]
movaps xmm15, xmmword [rsp + 0x180]
add rsp, 0x238
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [0x1802cc610]
call fcn.1800fbd08
cmp dword [0x1802cc610], 0xffffffff
jne 0x18008176a
mov ecx, 0x38
call fcn.1800fbd80
xorps xmm0, xmm0
lea rcx, [0x1802cc638]
mov r8, rax
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1802cc628], rax
mov qword [0x1802cc638], rbx
movdqu xmmword [0x1802cc640], xmm0
mov qword [0x1802cc650], 7
mov qword [0x1802cc658], 8
mov dword [0x1802cc620], 0x3f800000
call fcn.180004e00
lea rcx, [0x1800ffba0]
call fcn.1800fc114
lea rcx, [0x1802cc610]
call fcn.1800fbc9c
jmp 0x18008176a