Function at 0x180067350
Capabilities:
Create thread

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 - 0xf8]
sub rsp, 0x1c0
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 [0x18027d040]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov ebx, r8d
mov r14, rdx
mov rdx, rcx
mov qword [rbp - 0x60], rcx
mov r15, qword [0x1802b4ba8]
mov rax, qword [r15 + 0x3ec8]
mov byte [rax + 0x98], 1
mov rsi, qword [r15 + 0x3ec8]
cmp byte [rsi + 0x9b], 0
je 0x1800673f9
xor al, al
jmp 0x180068c75
mov rax, qword [rsi + 0x288]
mov qword [rbp - 0x28], rax
call fcn.18003b580
movaps xmm6, xmm0
mov dword [r15 + 0x3f7c], 0
mov rcx, rdx
call fcn.18003a5f0
call fcn.18003b720
mov edi, ebx
or edi, 0x10
bt ebx, 8
cmovb edi, ebx
test dil, 8
jne 0x180067440
mov edx, edi
mov rcx, r14
call fcn.180069680
mov ecx, 0xa900000
test edi, 0x6000000
jne 0x180067468
mov eax, dword [r15 + 0x52e4]
test eax, 0x6000000
mov ebx, ecx
cmovne ebx, eax
and ebx, 0x6000000
or ebx, edi
jmp 0x18006746a
mov ebx, edi
test ebx, 0x18000000
jne 0x180067489
mov eax, dword [r15 + 0x52e4]
test eax, 0x18000000
cmovne ecx, eax
and ecx, 0x18000000
or ebx, ecx
test bl, 8
jne 0x18006749c
mov eax, dword [r15 + 0x52e4]
and eax, 0x10000
or ebx, eax
mov r13d, ebx
and r13d, 2
mov dword [rbp - 0x2c], r13d
mov r12d, ebx
and r12d, 0x10002
mov dword [rbp - 0x30], r12d
movsd xmm0, qword [rsi + 0xe0]
movsd qword [rbp - 0x18], xmm0
movsd qword [rsp + 0x50], xmm0
movss xmm0, dword [rsi + 0xe4]
addss xmm0, dword [0x18026fe88]
movss dword [rbp - 0x74], xmm0
movss xmm0, dword [rsi + 0xe0]
xorps xmm11, xmm11
addss xmm0, xmm11
movss dword [rbp - 0x70], xmm0
xor ecx, ecx
mov eax, ecx
cmp r12d, 0x10000
sete al
inc eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [r15 + 0x383c]
movss xmm2, dword [0x18026fea8]
addss xmm0, xmm2
mulss xmm1, xmm0
subss xmm6, xmm1
movaps xmm9, xmm2
maxss xmm9, xmm6
addss xmm9, xmm11
cmp byte [0x1802b4d10], cl
jne 0x18006755f
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ecx
xor r9d, r9d
lea r8, [0x18003a0f0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov byte [0x1802b4d10], 1
mov rdi, qword [0x1802b4ba8]
mov rax, qword [rdi + 0x3ec8]
movss xmm0, dword [rax + 0x18]
addss xmm0, dword [r15 + 0x37f0]
movss dword [rbp - 0x80], xmm0
mov eax, 0xc
mov r8d, 0x10
test r13d, r13d
cmovne r8d, eax
mov rdx, r14
lea rcx, [rbp + 8]
call sub.VCRUNTIME140.dll_memcpy
movss xmm15, dword [r14]
movaps xmm12, xmm15
movss xmm6, dword [r14 + 4]
movaps xmm7, xmm6
movss xmm10, dword [r14 + 8]
movaps xmm8, xmm10
movss dword [rbp - 0x7c], xmm15
movss dword [rbp - 0x78], xmm6
movss dword [rsp + 0x7c], xmm10
movss xmm3, dword [0x18026fca4]
movss xmm13, dword [0x18026fd50]
bt ebx, 0x1b
jae 0x1800676d3
xorps xmm1, xmm1
movaps xmm2, xmm10
movaps xmm12, xmm6
comiss xmm10, xmm6
jbe 0x180067607
movaps xmm12, xmm10
movaps xmm2, xmm6
movss xmm1, dword [0x18026ff10]
movaps xmm8, xmm15
comiss xmm12, xmm15
jbe 0x180067628
movaps xmm8, xmm12
movaps xmm12, xmm15
movss xmm0, dword [0x18026fefc]
subss xmm0, xmm1
movaps xmm1, xmm0
movaps xmm0, xmm12
minss xmm0, xmm2
movaps xmm7, xmm8
subss xmm7, xmm0
subss xmm12, xmm2
movaps xmm0, xmm7
mulss xmm0, dword [0x18026fdbc]
addss xmm0, xmm3
divss xmm12, xmm0
addss xmm12, xmm1
andps xmm12, xmmword [0x180270460]
movaps xmm0, xmm8
addss xmm0, xmm3
divss xmm7, xmm0
movss dword [rsp + 0x60], xmm15
movss dword [rsp + 0x64], xmm6
movss dword [rsp + 0x68], xmm10
mov dword [rsp + 0x6c], 0
lea rcx, [rsp + 0x60]
call fcn.18002d030
cmp dword [rdi + 0x52f0], eax
jne 0x180067712
ucomiss xmm7, xmm11
jp 0x1800676a0
je 0x1800676b8
ucomiss xmm12, xmm11
jp 0x1800676c1
jne 0x1800676c1
movss xmm0, dword [rdi + 0x52e8]
ucomiss xmm0, xmm13
jp 0x1800676c1
jne 0x1800676c1
movss xmm12, dword [rdi + 0x52e8]
ucomiss xmm8, xmm11
jp 0x180067712
jne 0x180067712
movss xmm7, dword [rdi + 0x52ec]
jmp 0x180067712
bt ebx, 0x1c
jae 0x180067712
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x7c]
movaps xmm2, xmm10
movaps xmm1, xmm6
movaps xmm0, xmm15
call fcn.18002d190
movss xmm15, dword [rbp - 0x7c]
movss xmm6, dword [rbp - 0x78]
movss xmm10, dword [rsp + 0x7c]
xor dil, dil
mov byte [rsp + 0x58], dil
xor sil, sil
call fcn.18003a070
movss dword [rsp + 0x60], xmm9
movaps xmm0, xmm9
subss xmm0, dword [0x18026fe6c]
movss dword [rbp - 0x6c], xmm0
movss dword [rsp + 0x64], xmm0
lea rdx, [rsp + 0x60]
lea rcx, [0x18026f328]
call fcn.18005be80
mov r8, qword [0x1802b4ba8]
mov eax, dword [r8 + 0x3f14]
movss xmm14, dword [rsp + 0x50]
test eax, eax
je 0x180067828
cmp eax, dword [r8 + 0x3f90]
jne 0x180067828
movss xmm1, dword [r15 + 0xd84]
subss xmm1, xmm14
movaps xmm0, xmm9
subss xmm0, xmm13
divss xmm1, xmm0
comiss xmm11, xmm1
jbe 0x1800677a1
xorps xmm7, xmm7
jmp 0x1800677a9
movaps xmm7, xmm13
minss xmm7, xmm1
movss xmm0, dword [r15 + 0xd88]
subss xmm0, dword [rsp + 0x54]
divss xmm0, dword [rbp - 0x6c]
comiss xmm11, xmm0
jbe 0x1800677c8
xorps xmm1, xmm1
jmp 0x1800677d0
movaps xmm1, xmm13
minss xmm1, xmm0
movaps xmm8, xmm13
subss xmm8, xmm1
movss xmm2, dword [r14 + 8]
movss xmm1, dword [r14 + 4]
movss xmm0, dword [r14]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x68], xmm2
mov dword [rsp + 0x6c], 0
lea rcx, [rsp + 0x60]
call fcn.18002d030
cmp dword [r15 + 0x52f0], eax
jne 0x180067820
movss xmm12, dword [r15 + 0x52e8]
mov dil, 1
mov byte [rsp + 0x58], dil
mov byte [rsp + 0x78], dil
mov rax, qword [r8 + 0x3ec8]
mov byte [rax + 0x98], 1
mov rax, qword [r8 + 0x3ec8]
movss xmm2, dword [rbp - 0x80]
movss dword [rax + 0xe0], xmm2
movss xmm0, dword [rbp - 0x74]
movss dword [rax + 0xe4], xmm0
movss xmm1, dword [rax + 0xfc]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm0
movss dword [rax + 0xfc], xmm1
mov dword [rsp + 0x60], 0x43510000
mov dword [rsp + 0x64], 0x41b80000
lea rdx, [rsp + 0x60]
lea rcx, [0x18026f33c]
call fcn.18005be80
mov r13, qword [0x1802b4ba8]
mov eax, dword [r13 + 0x3f14]
test eax, eax
je 0x180067901
cmp eax, dword [r13 + 0x3f90]
jne 0x180067901
movss xmm0, dword [r15 + 0xd84]
subss xmm0, dword [rbp - 0x70]
divss xmm0, dword [0x18026fea4]
comiss xmm11, xmm0
jbe 0x1800678e1
xorps xmm1, xmm1
jmp 0x1800678e9
movaps xmm1, xmm13
minss xmm1, xmm0
movaps xmm0, xmm13
subss xmm0, xmm1
movaps xmm12, xmm0
mov sil, 1
movzx edi, sil
mov byte [rsp + 0x58], sil
mov rdx, r13
cmp r12d, 0x10000
jne 0x1800679e6
movss xmm0, dword [rbp - 0x74]
addss xmm0, dword [0x18026fe10]
mov rax, qword [r13 + 0x3ec8]
mov byte [rax + 0x98], 1
mov rax, qword [r13 + 0x3ec8]
movss xmm2, dword [rbp - 0x80]
movss dword [rax + 0xe0], xmm2
movss dword [rax + 0xe4], xmm0
movss xmm1, dword [rax + 0xfc]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm0
movss dword [rax + 0xfc], xmm1
mov dword [rsp + 0x60], 0x43510000
mov dword [rsp + 0x64], 0x41b80000
lea rdx, [rsp + 0x60]
lea rcx, str.alpha
call fcn.18005be80
mov r13, qword [0x1802b4ba8]
mov rdx, r13
mov eax, dword [r13 + 0x3f14]
test eax, eax
je 0x1800679e6
cmp eax, dword [r13 + 0x3f90]
jne 0x1800679e6
movss xmm0, dword [r15 + 0xd84]
subss xmm0, dword [rbp - 0x70]
divss xmm0, dword [0x18026fea4]
comiss xmm11, xmm0
jbe 0x1800679d0
xorps xmm1, xmm1
jmp 0x1800679d8
movaps xmm1, xmm13
minss xmm1, xmm0
movss dword [r14 + 0xc], xmm1
mov dil, 1
mov byte [rsp + 0x58], dil
movsxd rcx, dword [rdx + 0x4080]
lea eax, [rcx - 1]
mov dword [rdx + 0x4080], eax
mov rax, qword [rdx + 0x4088]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x3f78], ecx
test sil, sil
jne 0x180067a17
cmp byte [rsp + 0x78], sil
je 0x180067aa9
bt ebx, 0x1b
jae 0x180067a92
lea rax, [r14 + 8]
lea rcx, [r14 + 4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9, r14
movaps xmm2, xmm8
movaps xmm1, xmm7
movaps xmm0, xmm12
call fcn.18002d190
movss dword [r15 + 0x52e8], xmm12
movss dword [r15 + 0x52ec], xmm7
movss xmm2, dword [r14 + 8]
movss xmm1, dword [r14 + 4]
movss xmm0, dword [r14]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x68], xmm2
mov dword [rsp + 0x6c], 0
lea rcx, [rsp + 0x60]
call fcn.18002d030
mov dword [r15 + 0x52f0], eax
jmp 0x180067aa9
bt ebx, 0x1c
jae 0x180067aa9
movss dword [r14], xmm12
movss dword [r14 + 4], xmm7
movss dword [r14 + 8], xmm8
test dil, dil
je 0x180067c18
bt ebx, 0x1b
jae 0x180067bc8
movss xmm15, dword [r14]
movss xmm6, dword [r14 + 4]
movss xmm10, dword [r14 + 8]
xorps xmm1, xmm1
movaps xmm2, xmm10
movaps xmm12, xmm6
comiss xmm10, xmm6
jbe 0x180067aed
movaps xmm12, xmm10
movaps xmm2, xmm6
movss xmm1, dword [0x18026ff10]
movaps xmm8, xmm15
comiss xmm12, xmm15
jbe 0x180067b0e
movaps xmm8, xmm12
movaps xmm12, xmm15
movss xmm0, dword [0x18026fefc]
subss xmm0, xmm1
movaps xmm1, xmm0
movaps xmm0, xmm12
minss xmm0, xmm2
movaps xmm7, xmm8
subss xmm7, xmm0
subss xmm12, xmm2
movaps xmm0, xmm7
mulss xmm0, dword [0x18026fdbc]
addss xmm0, dword [0x18026fca4]
divss xmm12, xmm0
addss xmm12, xmm1
andps xmm12, xmmword [0x180270460]
movaps xmm0, xmm8
addss xmm0, dword [0x18026fca4]
divss xmm7, xmm0
movss dword [rsp + 0x60], xmm15
movss dword [rsp + 0x64], xmm6
movss dword [rsp + 0x68], xmm10
mov dword [rsp + 0x6c], 0
lea rcx, [rsp + 0x60]
call fcn.18002d030
cmp dword [r13 + 0x52f0], eax
jne 0x180067c18
ucomiss xmm7, xmm11
jp 0x180067b93
je 0x180067bac
ucomiss xmm12, xmm11
jp 0x180067bb5
jne 0x180067bb5
movss xmm0, dword [r13 + 0x52e8]
ucomiss xmm0, xmm13
jp 0x180067bb5
jne 0x180067bb5
movss xmm12, dword [r13 + 0x52e8]
ucomiss xmm8, xmm11
jp 0x180067c18
jne 0x180067c18
movss xmm7, dword [r13 + 0x52ec]
jmp 0x180067c18
bt ebx, 0x1c
jae 0x180067c18
movss xmm12, dword [r14]
movss xmm7, dword [r14 + 4]
movss xmm8, dword [r14 + 8]
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x7c]
movaps xmm2, xmm8
movaps xmm1, xmm7
movaps xmm0, xmm12
call fcn.18002d190
movss xmm15, dword [rbp - 0x7c]
movss xmm6, dword [rbp - 0x78]
movss xmm10, dword [rsp + 0x7c]
movss xmm1, dword [r15 + 0x37e8]
comiss xmm11, xmm1
jbe 0x180067c2c
xorps xmm0, xmm0
jmp 0x180067c34
movaps xmm0, xmm13
minss xmm0, xmm1
mulss xmm0, dword [0x18026feb4]
addss xmm0, dword [0x18026fd10]
cvttss2si esi, xmm0
shl esi, 0x18
mov edi, esi
or edi, 0xffffff
mov eax, esi
or eax, 0xff
mov dword [rbp - 0x6c], eax
mov eax, esi
or eax, 0xff00ff
mov dword [rbp - 0x78], eax
mov eax, esi
or eax, 0xff0000
mov dword [rbp - 0x7c], eax
mov eax, esi
or eax, 0xffff00
mov dword [rbp - 0x40], eax
mov eax, esi
or eax, 0xff00
mov dword [rbp - 0x3c], eax
mov eax, esi
or eax, 0xffff
mov dword [rbp - 0x38], eax
mov dword [rsp + 0x60], 0x3f800000
mov dword [rsp + 0x64], 0x3f800000
mov dword [rsp + 0x68], 0x3f800000
movss dword [rsp + 0x6c], xmm1
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
movaps xmm2, xmm13
movaps xmm1, xmm13
movaps xmm0, xmm12
call fcn.18002d190
lea rcx, [rsp + 0x60]
call fcn.18002d030
mov ebx, eax
movss dword [rsp + 0x60], xmm15
movss dword [rsp + 0x64], xmm6
movss dword [rsp + 0x68], xmm10
movss xmm0, dword [r15 + 0x37e8]
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.18002d030
mov dword [rbp - 0x34], eax
mov rcx, qword [r13 + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
mov r10, rax
mov rcx, qword [0x1802b4ba8]
movups xmm0, xmmword [rcx + 0x38fc]
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x37e8]
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.18002d030
movaps xmm6, xmm9
subss xmm6, dword [0x18026fe6c]
movss xmm15, dword [rsp + 0x54]
addss xmm6, xmm15
movaps xmm10, xmm14
addss xmm10, xmm9
movss dword [rsp + 0x60], xmm10
movss dword [rsp + 0x64], xmm6
mov dword [rsp + 0x48], 0xf0
movss xmm1, dword [0x18026fdb0]
movss dword [rsp + 0x40], xmm1
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.18004ab40
mov rax, qword [0x1802b4ba8]
mov rax, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.18002fdb0
mov r10, rax
mov rcx, qword [0x1802b4ba8]
movups xmm0, xmmword [rcx + 0x38fc]
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x37e8]
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.18002d030
movss dword [rsp + 0x60], xmm10
movss dword [rsp + 0x64], xmm6
mov dword [rsp + 0x48], 0xf0
movss xmm0, dword [0x18026fdb0]
movss dword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
xor ebx, ebx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.18004ab40
movaps xmm6, xmm15
addss xmm6, xmm9
xorps xmm2, xmm2
movaps xmm0, xmm10
unpcklps xmm0, xmm6
movq rdx, xmm0
mov rcx, qword [rbp - 0x18]
call fcn.18002e8c0
comiss xmm11, xmm7
jbe 0x180067e93
xorps xmm0, xmm0
jmp 0x180067e9b
movaps xmm0, xmm13
minss xmm0, xmm7
movss xmm2, dword [0x18026fd84]
subss xmm10, xmm2
movaps xmm1, xmm14
addss xmm1, xmm2
movss dword [rsp + 0x7c], xmm1
mulss xmm0, xmm9
addss xmm0, xmm14
movss xmm3, dword [0x18026fd10]
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
comiss xmm1, xmm4
ja 0x180067eea
movaps xmm1, xmm10
minss xmm1, xmm4
movss dword [rsp + 0x7c], xmm1
movaps xmm0, xmm13
subss xmm0, xmm8
comiss xmm11, xmm0
jbe 0x180067efe
xorps xmm1, xmm1
jmp 0x180067f06
movaps xmm1, xmm13
minss xmm1, xmm0
subss xmm6, dword [0x18026fe6c]
addss xmm15, xmm2
subss xmm9, dword [0x18026fe6c]
mulss xmm9, xmm1
addss xmm9, dword [rsp + 0x54]
addss xmm9, xmm3
cvttss2si eax, xmm9
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm15, xmm0
ja 0x180067f48
movaps xmm15, xmm6
minss xmm15, xmm0
mov ecx, dword [0x1802b4a90]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x1802b58ac], eax
jle 0x180067fc9
lea rcx, [0x1802b58ac]
call fcn.180074dc0
cmp dword [0x1802b58ac], 0xffffffff
jne 0x180067fc9
mov qword [0x1802b5908], rbx
mov qword [0x1802b5910], rbx
mov ecx, 0x38
call fcn.180074930
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1802b5908], rax
lea rcx, [0x1800784d0]
call fcn.180074cc4
nop
lea rcx, [0x1802b58ac]
call fcn.180074d54
mov rsi, qword [0x1802b4ba8]
mov rax, qword [rsi + 0x3ec8]
movsxd r8, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
mov r13, qword [rbp - 0x60]
mov rcx, r13
call fcn.18002cd10
mov r12d, eax
cmp dword [rsi + 0x3efc], eax
jne 0x180068019
mov r8, r13
mov edx, 0xb
mov ecx, eax
call fcn.180041e20
mov rsi, qword [0x1802b4ba8]
mov rdi, qword [0x1802b5908]
mov rcx, qword [rdi + 8]
mov rbx, rdi
cmp byte [rcx + 0x19], 0
jne 0x180068048
nop dword [rax]
cmp dword [rcx + 0x1c], r12d
jae 0x18006803c
mov rcx, qword [rcx + 0x10]
jmp 0x180068042
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180068030
cmp byte [rbx + 0x19], 0
jne 0x180068054
cmp r12d, dword [rbx + 0x1c]
jae 0x180068057
mov rbx, rdi
cmp rbx, rdi
jne 0x18006820b
mov rax, qword [rsi + 0x3ec8]
movsxd r8, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
mov rcx, r13
call fcn.18002cd10
mov ebx, eax
cmp dword [rsi + 0x3efc], eax
jne 0x1800680ab
mov r8, r13
mov edx, 0xb
mov ecx, eax
call fcn.180041e20
mov rsi, qword [0x1802b4ba8]
mov rdi, qword [0x1802b5908]
xor edx, edx
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], rdx
mov dword [rbp - 0x10], ebx
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp - 0xc], xmm0
movss dword [rbp + 4], xmm11
mov rax, qword [rdi + 8]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], edx
mov rcx, rdi
cmp byte [rax + 0x19], dl
jne 0x180068107
nop dword [rax + rax]
mov qword [rsp + 0x60], rax
cmp dword [rax + 0x1c], ebx
jae 0x1800680f4
mov dword [rsp + 0x68], edx
mov rax, qword [rax + 0x10]
jmp 0x180068102
mov dword [rsp + 0x68], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], dl
je 0x1800680e0
cmp byte [rcx + 0x19], dl
jne 0x180068111
cmp ebx, dword [rcx + 0x1c]
jae 0x18006818b
movabs rax, 0x492492492492492
cmp qword [0x1802b5910], rax
je 0x180068cd4
lea rbx, [0x1802b5908]
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], rdx
mov ecx, 0x38
call fcn.180074930
nop
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rax + 0x1c], xmm0
movsd xmm1, qword [rbp]
movsd qword [rax + 0x2c], xmm1
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x60], xmm0
mov r8, rax
lea rdx, [rbp - 0x60]
mov rcx, rbx
call fcn.180014160
mov rsi, qword [0x1802b4ba8]
mov rdi, qword [0x1802b5908]
mov r8, qword [rsi + 0x3ec8]
movsxd rax, dword [r8 + 0xd0]
mov r8, qword [r8 + 0xd8]
mov r8d, dword [r8 + rax*4 - 4]
xor edx, edx
mov rcx, r13
call fcn.18002cd10
mov r12d, eax
cmp dword [rsi + 0x3efc], eax
jne 0x1800681d7
mov r8, r13
mov edx, 0xb
mov ecx, eax
call fcn.180041e20
mov rsi, qword [0x1802b4ba8]
mov rdi, qword [0x1802b5908]
mov rcx, qword [rdi + 8]
mov rbx, rdi
cmp byte [rcx + 0x19], 0
jne 0x1800681fc
cmp dword [rcx + 0x1c], r12d
jae 0x1800681f0
mov rcx, qword [rcx + 0x10]
jmp 0x1800681f6
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1800681e4
cmp byte [rbx + 0x19], 0
jne 0x180068208
cmp r12d, dword [rbx + 0x1c]
jae 0x18006820b
mov rbx, rdi
mov rax, qword [rsi + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.18002fdb0
movss xmm8, dword [rbp - 0x80]
movaps xmm7, xmm8
addss xmm7, dword [0x18026fe50]
movss dword [rsp + 0x60], xmm7
movss xmm1, dword [rbp - 0x74]
movaps xmm10, xmm1
addss xmm10, dword [0x18026fe2c]
subss xmm10, dword [0x18026fde0]
movss dword [rsp + 0x64], xmm10
movaps xmm0, xmm8
addss xmm0, xmm11
movss dword [rsp + 0x50], xmm0
movaps xmm9, xmm1
addss xmm9, dword [0x18026fdbc]
movss dword [rsp + 0x54], xmm9
mov r12d, dword [rbp - 0x6c]
mov dword [rsp + 0x30], r12d
mov edi, dword [rbp - 0x78]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
mov r9d, r12d
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004e0c0
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
movaps xmm6, xmm8
addss xmm6, dword [0x18026fe68]
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x50], xmm7
mov dword [rsp + 0x30], edi
mov esi, dword [rbp - 0x7c]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov r9d, edi
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004e0c0
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
movaps xmm7, xmm8
addss xmm7, dword [0x18026fe78]
movss dword [rsp + 0x60], xmm7
movss dword [rsp + 0x50], xmm6
mov dword [rsp + 0x30], esi
mov edi, dword [rbp - 0x40]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
mov r9d, esi
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004e0c0
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
addss xmm8, dword [0x18026fe8c]
movss dword [rsp + 0x60], xmm8
movss dword [rsp + 0x50], xmm7
mov dword [rsp + 0x30], edi
mov esi, dword [rbp - 0x3c]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov r9d, edi
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004e0c0
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
movss xmm7, dword [rbp - 0x80]
movaps xmm6, xmm7
addss xmm6, dword [0x18026fe98]
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x50], xmm8
mov dword [rsp + 0x30], esi
mov edi, dword [rbp - 0x38]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
mov r9d, esi
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004e0c0
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
addss xmm7, dword [0x18026fea8]
movss dword [rsp + 0x60], xmm7
movss dword [rsp + 0x50], xmm6
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
mov r9d, edi
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004e0c0
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
mov r10, rax
mov rcx, qword [0x1802b4ba8]
movups xmm0, xmmword [rcx + 0x38fc]
movups xmmword [rbp - 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x37e8]
movss dword [rbp - 0x54], xmm0
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm10
movss xmm0, dword [rbp - 0x80]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm9
lea rcx, [rbp - 0x60]
call fcn.18002d030
mov r9d, eax
mov dword [rsp + 0x48], 0xf0
movss xmm8, dword [0x18026fe48]
movss dword [rsp + 0x40], xmm8
xor r13d, r13d
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x60]
mov rcx, r10
call fcn.18004ab40
movaps xmm0, xmm13
subss xmm0, xmm12
mulss xmm0, dword [0x18026fea8]
movss xmm9, dword [rbp - 0x70]
addss xmm0, xmm9
movss xmm12, dword [0x18026fd10]
addss xmm0, xmm12
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm2, xmm14
movss xmm6, dword [0x18026fd98]
addss xmm2, xmm6
comiss xmm2, xmm1
ja 0x18006858e
movaps xmm2, xmm14
addss xmm2, dword [0x18026fea0]
minss xmm2, xmm1
subss xmm2, xmm9
subss xmm2, dword [rbx + 0x20]
movss xmm0, dword [r15 + 0x18]
movss xmm7, dword [0x18026fe24]
mulss xmm0, xmm7
mulss xmm2, xmm0
addss xmm2, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm2
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
mov r10, rax
movdqa xmm0, xmmword [0x180270430]
movups xmmword [rbp - 0x60], xmm0
movaps xmm2, xmm9
addss xmm2, dword [rbx + 0x20]
movaps xmm0, xmm2
addss xmm0, dword [0x18026fdb0]
movss dword [rsp + 0x50], xmm0
movss xmm10, dword [rbp - 0x74]
movaps xmm1, xmm10
addss xmm1, dword [0x18026fe20]
movss dword [rsp + 0x54], xmm1
subss xmm2, xmm6
movss dword [rsp + 0x60], xmm2
movaps xmm0, xmm10
addss xmm0, xmm6
movss dword [rsp + 0x64], xmm0
lea rcx, [rbp - 0x60]
call fcn.18002d030
mov r9d, eax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm8
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x60]
mov rcx, r10
call fcn.18004df10
movss xmm1, dword [r15 + 0x18]
mulss xmm1, xmm7
movss xmm2, dword [rsp + 0x7c]
subss xmm2, xmm9
subss xmm2, dword [rbx + 0x2c]
mulss xmm2, xmm1
addss xmm2, dword [rbx + 0x2c]
subss xmm15, xmm10
subss xmm15, dword [rbx + 0x30]
mulss xmm15, xmm1
addss xmm15, dword [rbx + 0x30]
movss dword [rbx + 0x2c], xmm2
movss dword [rbx + 0x30], xmm15
movss xmm3, dword [r15 + 0x18]
mulss xmm3, xmm7
cmp byte [rsp + 0x78], r13b
je 0x1800686bc
movss xmm1, dword [0x18026fda4]
jmp 0x1800686c4
movss xmm1, dword [0x18026fde0]
subss xmm1, dword [rbx + 0x28]
mulss xmm1, xmm3
addss xmm1, dword [rbx + 0x28]
movss dword [rbx + 0x28], xmm1
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
mov rdi, rax
movss xmm2, dword [rbx + 0x28]
movaps xmm0, xmm9
addss xmm0, dword [rbx + 0x2c]
movss dword [rsp + 0x50], xmm0
movaps xmm1, xmm10
addss xmm1, dword [rbx + 0x30]
movss dword [rsp + 0x54], xmm1
movss xmm6, dword [0x18026fdc0]
mov r12d, dword [rbp - 0x34]
test r12d, 0xff000000
je 0x180068773
comiss xmm12, xmm2
ja 0x180068773
mov dword [rsp + 0x28], 0x1f
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm11
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004d440
mov r9d, r12d
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.18004c950
mov dword [rdi + 0x78], r13d
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
mov rdi, rax
movss xmm0, dword [r15 + 0x37e8]
mulss xmm0, dword [0x18026fe90]
cvttss2si rcx, xmm0
shl ecx, 0x18
mov esi, ecx
or esi, 0x323232
movss xmm2, dword [rbx + 0x28]
movaps xmm0, xmm9
addss xmm0, dword [rbx + 0x2c]
addss xmm0, xmm11
movss dword [rsp + 0x50], xmm0
movaps xmm0, xmm10
addss xmm0, dword [rbx + 0x30]
addss xmm0, xmm13
movss dword [rsp + 0x54], xmm0
test ecx, ecx
je 0x18006883d
comiss xmm12, xmm2
ja 0x18006883d
subss xmm2, xmm12
mov dword [rsp + 0x28], 0x1f
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm11
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004d440
movss dword [rsp + 0x28], xmm13
mov dword [rsp + 0x20], 1
mov r9d, esi
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.18004ba20
mov dword [rdi + 0x78], r13d
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
mov rdi, rax
movss xmm0, dword [r15 + 0x37e8]
mulss xmm0, dword [0x18026feb4]
cvttss2si rcx, xmm0
shl ecx, 0x18
mov esi, ecx
or esi, 0xe6e6e6
movss xmm2, dword [rbx + 0x28]
movaps xmm0, xmm9
addss xmm0, dword [rbx + 0x2c]
movss dword [rsp + 0x50], xmm0
movaps xmm1, xmm10
addss xmm1, dword [rbx + 0x30]
movss dword [rsp + 0x54], xmm1
test ecx, ecx
je 0x1800688fd
comiss xmm12, xmm2
ja 0x1800688fd
subss xmm2, xmm12
mov dword [rsp + 0x28], 0x1f
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm11
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004d440
movss dword [rsp + 0x28], xmm13
mov dword [rsp + 0x20], 1
mov r9d, esi
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.18004ba20
mov dword [rdi + 0x78], r13d
movss xmm6, dword [0x18026fea8]
movaps xmm0, xmm6
call fcn.18003b4d0
mov rcx, qword [0x1802b4ba8]
mov rax, qword [rcx + 0x3ec8]
mov byte [rax + 0x98], 1
mov r8, qword [rcx + 0x3ec8]
movsxd rdx, dword [r8 + 0x1b8]
mov rax, qword [r8 + 0x1c0]
mov ecx, dword [rax + rdx*4 - 4]
mov dword [r8 + 0x1ac], ecx
lea eax, [rdx - 1]
mov dword [r8 + 0x1b8], eax
cmp dword [rbp - 0x30], 0x10000
jne 0x180068c16
movss xmm0, dword [r14 + 0xc]
comiss xmm11, xmm0
jbe 0x18006896b
movaps xmm13, xmm11
jmp 0x180068970
minss xmm13, xmm0
addss xmm10, xmm7
movss xmm15, dword [rbp - 0x80]
movaps xmm2, xmm15
addss xmm2, xmm6
movaps xmm8, xmm2
subss xmm8, xmm11
movaps xmm7, xmm10
addss xmm7, dword [0x18026fe2c]
subss xmm7, dword [0x18026fdb0]
movaps xmm1, xmm15
addss xmm1, xmm11
movaps xmm6, xmm10
addss xmm6, dword [0x18026fdf0]
subss xmm2, xmm15
divss xmm2, dword [0x18026fe60]
mov dword [rsp + 0x38], r13d
movss dword [rsp + 0x30], xmm11
movaps xmm0, xmm11
unpcklps xmm0, xmm11
movsd qword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm2
xor r9d, r9d
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movq r8, xmm0
unpcklps xmm1, xmm6
movq rdx, xmm1
mov rcx, qword [rbp - 0x28]
call fcn.180055e40
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
movss dword [rsp + 0x50], xmm8
movss dword [rsp + 0x54], xmm7
movaps xmm0, xmm15
addss xmm0, xmm11
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm6
mov r9d, r12d
and r9d, 0xffffff
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.18004e0c0
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
mov r10, rax
mov rcx, qword [0x1802b4ba8]
movups xmm0, xmmword [rcx + 0x38fc]
movups xmmword [rbp - 0x28], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x37e8]
movss dword [rbp - 0x1c], xmm0
movss dword [rsp + 0x50], xmm8
movss dword [rsp + 0x54], xmm7
addss xmm15, xmm11
movss dword [rsp + 0x60], xmm15
movss dword [rsp + 0x64], xmm6
lea rcx, [rbp - 0x28]
call fcn.18002d030
mov r9d, eax
mov dword [rsp + 0x48], 0xf0
movss xmm6, dword [0x18026fdb0]
movss dword [rsp + 0x40], xmm6
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x60]
mov rcx, r10
call fcn.18004ab40
mulss xmm13, dword [0x18026fea8]
addss xmm13, xmm9
addss xmm13, xmm12
cvttss2si eax, xmm13
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm9, xmm0
jbe 0x180068b4b
movaps xmm14, xmm9
jmp 0x180068b59
addss xmm14, dword [0x18026fe9c]
minss xmm14, xmm0
subss xmm14, xmm9
addss xmm14, xmm6
subss xmm14, dword [rbx + 0x24]
movss xmm0, dword [r15 + 0x18]
mulss xmm0, dword [0x18026fe34]
mulss xmm14, xmm0
addss xmm14, dword [rbx + 0x24]
movss dword [rbx + 0x24], xmm14
mov rax, qword [0x1802b4ba8]
mov rcx, qword [rax + 0x40d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.18002fdb0
mov rdi, rax
addss xmm9, dword [rbx + 0x24]
movss dword [rsp + 0x50], xmm9
addss xmm10, dword [0x18026fe00]
movss dword [rsp + 0x54], xmm10
mov dword [rsp + 0x28], 0x63
movss xmm0, dword [0x18026fdc8]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm11
movss xmm2, dword [0x18026fdbc]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18004d440
mov r9d, 0xffffffff
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.18004c950
mov dword [rdi + 0x78], r13d
call fcn.18003b850
mov rbx, qword [0x1802b4ba8]
movzx edi, byte [rsp + 0x58]
test dil, dil
je 0x180068c64
cmp dword [rbp - 0x2c], r13d
mov ecx, 0xc
mov r8d, 0x10
cmovne r8d, ecx
mov rdx, r14
lea rcx, [rbp + 8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180068c54
xor dil, dil
jmp 0x180068c64
mov word [rbx + 0x3f24], 0x101
or dword [rbx + 0x3f98], 4
mov rcx, qword [rbx + 0x3ec8]
dec dword [rcx + 0xd0]
movzx eax, dil
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.180074910
lea r11, [rsp + 0x1c0]
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
call fcn.180005180
int3