Function at 0x140048c10
Capabilities:
Encode data using xor

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 - 0x308]
sub rsp, 0x3e0
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 [0x140063020]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov r14, rcx
xor ecx, ecx
mov dword [rbp - 0x80], ecx
mov rdi, qword [0x14008a6c8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
lea r12, [rbp + 0x308]
movabs r15, 0xff00ff00ff00ff00
mov qword [rbp + 0x178], r15
mov qword [rbp + 0x180], r12
mov rbx, qword [r12]
mov rsi, rbx
xor rsi, r15
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x170], rsi
mov qword [r12], rcx
lea rcx, [r14 + 0x10d8]
call fcn.14004df60
cmp eax, dword [0x14008a6b8]
je 0x14004b094
test rdi, rdi
je 0x14004b094
lea rcx, [r14 + 0x308]
call fcn.14004dc80
test rax, rax
je 0x14004b094
cmp rax, rdi
je 0x14004b094
lea rcx, [rax + 0x318]
call fcn.14004dc80
mov r13, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x14004b094
mov r8d, 0x6d
mov rdx, rax
lea rcx, [rbp + 0x130]
call fcn.140044390
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp + 0xf0]
call fcn.140044390
movsd xmm9, qword [rbp + 0x140]
movaps xmm6, xmm9
addsd xmm6, qword [0x140059cf0]
movsd xmm8, qword [rbp + 0x130]
movsd qword [rbp + 0xd0], xmm8
movsd xmm7, qword [rbp + 0x138]
movsd qword [rbp + 0xd8], xmm7
movsd qword [rbp + 0xe0], xmm6
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x190]
call fcn.140044000
movsd qword [rbp + 0x130], xmm8
movsd qword [rbp + 0x138], xmm7
movsd qword [rbp + 0x140], xmm6
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x20]
call fcn.140044000
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp - 0x40]
call fcn.140044390
mov r8d, 0x44
mov rdx, r13
lea rcx, [rbp - 0x20]
call fcn.140044390
movaps xmm0, xmm8
unpcklpd xmm0, xmm7
movaps xmmword [rbp + 0xb0], xmm0
movsd qword [rbp + 0xc0], xmm9
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x60]
call fcn.140044000
movups xmm7, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0x130], xmm7
movsd xmm8, qword [rbp + 0x100]
movsd qword [rbp + 0x140], xmm8
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x40]
call fcn.140044000
movsd xmm12, qword [rbp + 0x68]
movaps xmm0, xmm12
movsd xmm14, qword [rbp + 0x48]
subsd xmm0, xmm14
andps xmm0, xmmword [0x140059f80]
cvtpd2ps xmm13, xmm0
movaps xmm10, xmm13
mulss xmm10, dword [0x140059c5c]
movaps xmm0, xmm7
unpckhpd xmm0, xmm7
subsd xmm0, qword [0x14008a800]
movsd xmm6, qword [0x140059cd0]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm9, xmm0
subsd xmm7, qword [0x14008a7f8]
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm9, xmm0
subsd xmm8, qword [0x14008a808]
movaps xmm1, xmm6
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm9, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm9
ja 0x140048ee4
xorps xmm0, xmm0
sqrtsd xmm0, xmm9
jmp 0x140048eed
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
divsd xmm0, qword [0x140059d20]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rbp - 0x70], xmm1
movss xmm0, dword [0x140063068]
comiss xmm0, xmm1
jbe 0x14004b08b
cmp byte [0x14008a5fd], 0
je 0x14004b00f
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
lea rcx, [rbp + 0x308]
movabs rsi, 0xff00ff00ff00ff00
mov qword [rbp + 0x138], rsi
mov qword [rbp + 0x140], rcx
mov rax, qword [rcx]
xor rax, rsi
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x130], rax
xor edi, edi
mov qword [rcx], rdi
lea r15, [r13 + 0x360]
mov qword [rbp], r15
mov rcx, r15
call fcn.14004de60
movaps xmm6, xmm0
lea r12, [r13 + 0x368]
mov qword [rbp + 8], r12
mov rcx, r12
call fcn.14004de60
movss xmm7, dword [0x140059c30]
addss xmm0, xmm7
mov rax, qword [0x14008a5c8]
lea rcx, [rsp + 0x48]
comiss xmm0, xmm6
jb 0x140048fbe
movss xmm0, dword [0x14008a5f8]
movss xmm1, dword [0x14008a5fc]
movss xmm2, dword [0x14008a600]
jmp 0x140048fd6
movss xmm0, dword [0x14008a650]
movss xmm1, dword [0x14008a654]
movss xmm2, dword [0x14008a658]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rax + 0x37c8]
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x50], xmm2
movss dword [rsp + 0x54], xmm0
call fcn.1400034e0
xorps xmm4, xmm4
movzx ecx, al
cvtsi2ss xmm4, rcx
mov ecx, eax
shr ecx, 8
xorps xmm1, xmm1
movzx ecx, cl
cvtsi2ss xmm1, rcx
mov ecx, eax
movss xmm0, dword [0x140059c1c]
shr ecx, 0x10
mulss xmm4, xmm0
xorps xmm2, xmm2
movzx ecx, cl
mulss xmm1, xmm0
shufps xmm4, xmm4, 0xe1
cvtsi2ss xmm2, rcx
movss xmm4, xmm1
xorps xmm3, xmm3
shr eax, 0x18
mulss xmm2, xmm0
shufps xmm4, xmm4, 0xc6
cvtsi2ss xmm3, rax
movss xmm4, xmm2
mulss xmm3, xmm0
shufps xmm4, xmm4, 0x27
movss xmm4, xmm3
shufps xmm4, xmm4, 0x39
movups xmmword [0x14008a818], xmm4
movups xmmword [rsp + 0x48], xmm4
mov rcx, r15
call fcn.14004de60
mov rcx, r12
call fcn.14004de60
mov rcx, r15
call fcn.14004de60
mov rcx, r12
call fcn.14004de60
movsd xmm9, qword [rbp + 0x28]
movsd xmm11, qword [rbp + 0x20]
cmp byte [0x14008a5ff], 0
je 0x14004920d
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
lea rcx, [rbp + 0x308]
mov qword [rbp + 0xf8], rsi
mov qword [rbp + 0x100], rcx
mov rbx, qword [rcx]
mov rax, rbx
xor rax, rsi
mov qword [rbp + 0xf0], rax
mov qword [rcx], rdi
mov eax, dword [0x14008a708]
test eax, eax
jne 0x140049174
movups xmmword [rbp + 0x150], xmm0
lea rax, [rbp + 0x308]
mov qword [rbp + 0x158], rsi
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x150], rsi
mov rcx, r15
call fcn.14004de60
movaps xmm6, xmm0
mov rcx, r12
call fcn.14004de60
cvttss2si r9d, xmm13
cvttss2si r8d, xmm10
mulss xmm10, dword [0x140059c64]
cvtps2pd xmm2, xmm10
addss xmm0, xmm7
cvttsd2si edx, xmm9
movaps xmm1, xmm11
lea rax, [rbp + 0xd0]
subsd xmm1, xmm2
mov qword [rsp + 0x20], rax
cvttsd2si ecx, xmm1
comiss xmm0, xmm6
movups xmm0, xmmword [0x14008a818]
movdqa xmmword [rbp + 0xd0], xmm0
call fcn.140044960
jmp 0x140049203
cmp eax, 1
jne 0x14004920a
movups xmmword [rbp + 0x150], xmm0
lea rax, [rbp + 0x308]
mov qword [rbp + 0x158], rsi
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x150], rsi
mov rcx, r15
call fcn.14004de60
movaps xmm6, xmm0
mov rcx, r12
call fcn.14004de60
cvttss2si r9d, xmm13
cvttss2si r8d, xmm10
mulss xmm10, dword [0x140059c64]
cvtps2pd xmm2, xmm10
addss xmm0, xmm7
cvttsd2si edx, xmm9
movaps xmm1, xmm11
lea rax, [rbp + 0xd0]
subsd xmm1, xmm2
mov qword [rsp + 0x20], rax
cvttsd2si ecx, xmm1
comiss xmm0, xmm6
movups xmm0, xmmword [0x14008a818]
movdqa xmmword [rbp + 0xd0], xmm0
call fcn.1400445b0
nop
lea rcx, [rbp + 0x308]
mov qword [rcx], rbx
cmp byte [0x14008a5fc], 0
je 0x1400499ca
xorps xmm0, xmm0
movsd xmm13, qword [rbp - 0x10]
movsd xmm14, qword [rbp - 0x18]
movsd xmm15, qword [rbp - 0x20]
ucomisd xmm15, xmm0
jp 0x14004924e
jne 0x14004924e
ucomisd xmm14, xmm0
jp 0x14004924e
jne 0x14004924e
ucomisd xmm13, xmm0
jp 0x14004924e
je 0x1400499c4
mov rcx, r15
call fcn.14004de60
movaps xmm6, xmm0
mov rcx, r12
call fcn.14004de60
addss xmm0, xmm7
comiss xmm0, xmm6
jb 0x140049288
movaps xmm0, xmmword [0x140059f30]
movups xmmword [rbp + 0xd0], xmm0
lea rcx, [rbp + 0xd0]
call fcn.1400034e0
mov ebx, eax
jmp 0x1400492c5
mov rcx, r15
call fcn.14004de60
movaps xmm6, xmm0
mov rcx, r12
call fcn.14004de60
addss xmm0, xmm7
comiss xmm0, xmm6
jb 0x1400492c2
movaps xmm0, xmmword [0x140059f30]
movups xmmword [rbp + 0xd0], xmm0
lea rcx, [rbp + 0xd0]
call fcn.1400034e0
mov ebx, eax
jmp 0x1400492c5
mov ebx, dword [rbp - 0x70]
movsd xmm10, qword [rbp - 0x38]
movaps xmm6, xmm10
movsd xmm11, qword [0x140059d10]
subsd xmm6, xmm11
movsd xmm7, qword [rbp - 0x40]
movaps xmm9, xmm7
addsd xmm9, xmm11
movsd qword [rbp + 0xd0], xmm9
movsd qword [rbp + 0xd8], xmm6
movsd xmm8, qword [rbp - 0x30]
movsd qword [rbp + 0xe0], xmm8
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x70]
call fcn.140044000
subsd xmm7, xmm11
movsd qword [rbp + 0xd0], xmm7
movsd qword [rbp + 0xd8], xmm6
movsd qword [rbp + 0xe0], xmm8
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x40]
call fcn.140044000
addsd xmm10, xmm11
movsd qword [rbp + 0xd0], xmm7
movsd qword [rbp + 0xd8], xmm10
movsd qword [rbp + 0xe0], xmm8
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x150]
call fcn.140044000
movsd qword [rbp + 0xf0], xmm9
movsd qword [rbp + 0xf8], xmm10
movsd qword [rbp + 0x100], xmm8
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xd0]
call fcn.140044000
addsd xmm13, qword [0x140059cf0]
movaps xmm6, xmm14
subsd xmm6, xmm11
movaps xmm7, xmm15
addsd xmm7, xmm11
movsd qword [rbp + 0xf0], xmm7
movsd qword [rbp + 0xf8], xmm6
movsd qword [rbp + 0x100], xmm13
lea rdx, [rbp + 0xf0]
lea rcx, [rsp + 0x48]
call fcn.140044000
subsd xmm15, xmm11
movsd qword [rbp + 0xf0], xmm15
movsd qword [rbp + 0xf8], xmm6
movsd qword [rbp + 0x100], xmm13
lea rdx, [rbp + 0xf0]
lea rcx, [rsp + 0x58]
call fcn.140044000
addsd xmm14, xmm11
movsd qword [rbp + 0xf0], xmm15
movsd qword [rbp + 0xf8], xmm14
movsd qword [rbp + 0x100], xmm13
lea rdx, [rbp + 0xf0]
lea rcx, [rbp - 0x20]
call fcn.140044000
movsd qword [rbp + 0xb0], xmm7
movsd qword [rbp + 0xb8], xmm14
movsd qword [rbp + 0xc0], xmm13
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0xf0]
call fcn.140044000
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movsd xmm1, qword [rsp + 0x50]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x74], xmm1
movsd xmm0, qword [rsp + 0x48]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm1
movsd xmm13, qword [rsp + 0x78]
cvtpd2ps xmm13, xmm13
movsd xmm12, qword [rsp + 0x70]
cvtpd2ps xmm12, xmm12
movss dword [rbp - 0x7c], xmm12
movss dword [rbp - 0x78], xmm13
movss xmm6, dword [0x140059c3c]
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x7c]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movsd xmm1, qword [rsp + 0x60]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x80], xmm1
movsd xmm0, qword [rsp + 0x58]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x7c], xmm0
movss dword [rbp - 0x78], xmm1
movsd xmm11, qword [rbp - 0x38]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp - 0x40]
cvtpd2ps xmm10, xmm10
movss dword [rsp + 0x58], xmm10
movss dword [rsp + 0x5c], xmm11
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rbp - 0x7c]
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movsd xmm0, qword [rbp - 0x18]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movsd xmm15, qword [rbp - 0x20]
cvtpd2ps xmm15, xmm15
movss dword [rsp + 0x58], xmm15
movss dword [rsp + 0x5c], xmm0
movsd xmm9, qword [rbp + 0x158]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x150]
cvtpd2ps xmm7, xmm7
movss dword [rsp + 0x70], xmm7
movss dword [rsp + 0x74], xmm9
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movsd xmm0, qword [rbp + 0xf8]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x58], xmm0
movsd xmm14, qword [rbp + 0xf0]
cvtpd2ps xmm14, xmm14
movss dword [rsp + 0x70], xmm14
movss dword [rsp + 0x74], xmm0
movsd xmm8, qword [rbp + 0xd8]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0xd0]
cvtpd2ps xmm6, xmm6
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm8
movss xmm0, dword [0x140059c3c]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x4c], xmm11
movss dword [rsp + 0x70], xmm12
movss dword [rsp + 0x74], xmm13
movss xmm0, dword [0x140059c3c]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movss dword [rsp + 0x48], xmm7
movss dword [rsp + 0x4c], xmm9
movss dword [rsp + 0x70], xmm10
movss dword [rsp + 0x74], xmm11
movss xmm11, dword [0x140059c3c]
movss dword [rsp + 0x20], xmm11
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm8
movss dword [rsp + 0x70], xmm7
movss dword [rsp + 0x74], xmm9
movss dword [rsp + 0x20], xmm11
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movss dword [rsp + 0x48], xmm12
movss dword [rsp + 0x4c], xmm13
movss dword [rsp + 0x70], xmm6
movss dword [rsp + 0x74], xmm8
movss dword [rsp + 0x20], xmm11
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movss xmm6, dword [rbp - 0x7c]
movss dword [rsp + 0x48], xmm6
movss xmm8, dword [rbp - 0x80]
movss dword [rsp + 0x4c], xmm8
movss xmm9, dword [rsp + 0x68]
movss dword [rsp + 0x70], xmm9
movss xmm10, dword [rbp - 0x74]
movss dword [rsp + 0x74], xmm10
movss dword [rsp + 0x20], xmm11
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movss dword [rsp + 0x48], xmm15
movss xmm7, dword [rsp + 0x40]
movss dword [rsp + 0x4c], xmm7
movss dword [rsp + 0x70], xmm6
movss dword [rsp + 0x74], xmm8
movss dword [rsp + 0x20], xmm11
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movss dword [rsp + 0x48], xmm14
movss xmm6, dword [rsp + 0x58]
movss dword [rsp + 0x4c], xmm6
movss dword [rsp + 0x70], xmm15
movss dword [rsp + 0x74], xmm7
movss dword [rsp + 0x20], xmm11
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007220
movss dword [rsp + 0x48], xmm9
movss dword [rsp + 0x4c], xmm10
movss dword [rsp + 0x70], xmm14
movss dword [rsp + 0x74], xmm6
movss dword [rsp + 0x20], xmm11
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140026e70
movsd xmm9, qword [rbp + 0x28]
movsd xmm11, qword [rbp + 0x20]
movsd xmm12, qword [rbp + 0x68]
movss xmm7, dword [0x140059c30]
movsd xmm14, qword [rbp + 0x48]
movsd xmm10, qword [rbp + 0x40]
cmp byte [0x14008a5d7], 0
je 0x140049ada
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
lea rcx, [rbp + 0x308]
mov qword [rbp + 0xf8], rsi
mov qword [rbp + 0x100], rcx
mov rbx, qword [rcx]
mov rax, rbx
xor rax, rsi
mov qword [rbp + 0xf0], rax
mov qword [rcx], rdi
mov rcx, r15
call fcn.14004de60
movaps xmm6, xmm0
mov rcx, r12
call fcn.14004de60
addss xmm0, xmm7
mov rax, qword [0x14008a5c8]
lea r8, str.Foreground
mov edx, 1
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
comiss xmm0, xmm6
jb 0x140049a51
movaps xmm0, xmmword [0x140059f10]
jmp 0x140049a58
movaps xmm0, xmmword [0x140059f00]
movdqa xmmword [rbp + 0xd0], xmm0
call fcn.140007220
mov r10, rax
lea rcx, [rbp + 0xd0]
call fcn.1400034e0
cvtpd2ps xmm0, xmm10
movss dword [rsp + 0x48], xmm0
movd xmm0, dword [0x14008a6e8]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
movd xmm2, dword [0x14008a6f4]
movss xmm0, dword [0x140059c3c]
cvtpd2ps xmm1, xmm14
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x20], xmm0
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x74], xmm2
mov r9d, eax
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, r10
call fcn.140026e70
nop
lea rax, [rbp + 0x308]
mov qword [rax], rbx
movss xmm13, dword [0x140059de4]
movss xmm15, dword [0x140059dc4]
cmp byte [0x14008a5fe], 0
je 0x140049ccc
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
lea rax, [rbp + 0x308]
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe0], rax
mov rdi, qword [rax]
xor rdi, rsi
mov qword [rbp + 0xd0], rdi
mov qword [rax], 0
mov rdx, r14
lea rcx, [rbp + 0xb0]
call fcn.140046640
mov rbx, rax
lea rsi, [0x140089c20]
cmp rsi, rax
je 0x140049bc6
mov rdx, qword [0x140089c38]
cmp rdx, 0x10
jb 0x140049b87
mov rcx, qword [0x140089c20]
inc rdx
cmp rdx, 0x1000
jb 0x140049b82
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140049bfe
mov rcx, r8
call fcn.14004f76c
movdqa xmm0, xmmword [0x140059e60]
movdqu xmmword [0x140089c30], xmm0
mov byte [0x140089c20], 0
movups xmm0, xmmword [rbx]
movups xmmword [0x140089c20], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x140089c30], xmm1
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x140049c0a
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049c05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140049c05
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004f76c
movsd xmm0, qword [rbp + 0x198]
subsd xmm0, qword [0x140059ce8]
cvtpd2ps xmm8, xmm0
movsd xmm7, qword [rbp + 0x190]
cvtpd2ps xmm7, xmm7
movaps xmm6, xmmword [0x140059f50]
mov rdx, rsi
lea rcx, [rbp + 0x90]
call fcn.14004d630
movdqa xmmword [rbp + 0x190], xmm6
mov r8, rax
lea rdx, [rbp + 0x190]
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq rcx, xmm0
call fcn.140045d40
cmp qword [0x140089c38], 0x10
cmovae rsi, qword [0x140089c20]
mov rax, qword [0x14008a5c8]
test rsi, rsi
je 0x140049cb3
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rsi
movss dword [rsp + 0x20], xmm13
movaps xmm3, xmm15
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rsp + 0x48]
mov rcx, qword [rax + 0x3c08]
call fcn.14002b860
nop
movabs rsi, 0xff00ff00ff00ff00
xor rdi, rsi
lea rax, [rbp + 0x308]
mov qword [rax], rdi
xor edi, edi
cmp byte [0x14008a5d4], 0
je 0x14004ab21
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
lea rcx, [rbp + 0x308]
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe0], rcx
mov rax, qword [rcx]
xor rax, rsi
mov qword [rsp + 0x70], rax
mov qword [rbp + 0xd0], rax
mov qword [rcx], rdi
lea rcx, [r14 + 0x438]
call fcn.14004dc80
mov r9d, 0x80
lea r8, [rbp + 0x1b0]
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.140043820
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x140049d76
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049d71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004aad6
call fcn.14004f76c
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0xf0]
call fcn.14004d360
nop
lea rdx, [rbp + 0xf0]
cmp qword [rbp + 0x108], 8
cmovae rdx, qword [rbp + 0xf0]
mov rax, qword [rbp + 0x100]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0xf0]
cmovae rdx, qword [rbp + 0xf0]
lea rcx, [rbp + 0x110]
call fcn.14004e190
nop
lea rdx, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae rdx, qword [rbp + 0x110]
mov rax, qword [0x14008a5c8]
test rdx, rdx
je 0x140049e19
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdx
movss dword [rsp + 0x20], xmm13
movaps xmm3, xmm15
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rsp + 0x48]
mov rcx, qword [rax + 0x3c08]
call fcn.14002b860
mov dword [rsp + 0x58], 0xc4c5de
mov byte [rsp + 0x5c], 1
mov rcx, rdi
nop dword [rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x58], al
inc rcx
cmp rcx, 3
jb 0x140049e30
mov byte [rsp + 0x5c], 0
lea r8, [rsp + 0x5b]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x190]
call fcn.14004e4e0
nop
mov edi, 0x301
mov dword [rbp - 0x80], edi
lea r14, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 0x10
cmovae r14, qword [rbp + 0x190]
lea r15, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r15, qword [rbp + 0x110]
mov rsi, qword [rbp + 0x1a0]
mov rcx, qword [rbp + 0x120]
cmp rsi, rcx
ja 0x140049f14
test rsi, rsi
je 0x14004a057
mov r12, r15
sub r12, rsi
add r12, rcx
movsx r13d, byte [r14]
lea r8, [r12 + 1]
sub r8, r15
mov edx, r13d
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140049f14
nop word [rax + rax]
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a04a
inc rbx
lea r8, [r12 + 1]
sub r8, rbx
mov edx, r13d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140049ee0
mov dword [rsp + 0x40], 0xd0d4de
mov byte [rsp + 0x44], 1
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x140049f30
mov byte [rsp + 0x44], 0
lea r8, [rsp + 0x43]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xb0]
call fcn.14004e4e0
mov edi, 0x3303
lea r14, [rbp + 0xb0]
mov r15, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xc8]
cmp rcx, 0x10
cmovae r14, r15
lea r12, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r12, qword [rbp + 0x110]
mov rsi, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x120]
cmp rsi, rax
ja 0x14004a00d
sub rax, rsi
test rsi, rsi
je 0x14004a079
lea r13, [rax + r12]
movsx edx, byte [r14]
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a006
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a069
inc rbx
lea r8, [r13 + 1]
sub r8, rbx
movsx edx, byte [r14]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140049fd2
mov rcx, qword [rbp + 0xc8]
xor bl, bl
test dil, 2
je 0x14004a086
and edi, 0xfffffffd
cmp rcx, 0x10
jb 0x14004a086
lea rdx, [rcx + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x14004a07d
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a07d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r15
cmp rbx, 0xffffffffffffffff
je 0x140049f14
mov r15, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xc8]
mov bl, 1
jmp 0x14004a00f
sub rbx, r12
cmp rbx, 0xffffffffffffffff
je 0x14004a006
mov rcx, qword [rbp + 0xc8]
mov bl, 1
jmp 0x14004a00f
mov rcx, r15
call fcn.14004f76c
nop
test dil, 1
je 0x14004a0da
and edi, 0xfffffffe
mov rax, qword [rbp + 0x1a8]
cmp rax, 0x10
jb 0x14004a0da
lea r8, [rax + 1]
mov rcx, qword [rbp + 0x190]
mov rdx, rcx
cmp r8, 0x1000
jb 0x14004a0d2
add r8, 0x27
mov rax, qword [rcx - 8]
mov qword [rsp + 0x48], rax
sub rdx, rax
lea rax, [rdx - 8]
cmp rax, 0x1f
ja 0x14004a124
mov rcx, qword [rsp + 0x48]
mov rdx, r8
call fcn.14004f76c
test bl, bl
je 0x14004a12b
mov dword [rbp - 0x7c], 0xd1c7c5de
mov word [rbp - 0x78], 0x100
xor edi, edi
mov ecx, edi
nop
lea eax, [rcx - 0x7a]
xor byte [rbp + rcx - 0x7c], al
inc rcx
cmp rcx, 4
jb 0x14004a0f0
mov byte [rbp - 0x77], dil
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x7c]
lea rcx, [rbp + 0x150]
call fcn.14004e4e0
lea r8, [rbp + 0x150]
jmp 0x14004a9ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov dword [rsp + 0x58], 0xc6d4d6
mov byte [rsp + 0x5c], 1
xor ecx, ecx
nop word [rax + rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x58], al
inc rcx
cmp rcx, 3
jb 0x14004a140
mov byte [rsp + 0x5c], 0
lea r8, [rsp + 0x5b]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x190]
call fcn.14004e4e0
or edi, 0xc000
or edi, 4
mov dword [rbp - 0x80], edi
lea r14, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 0x10
cmovae r14, qword [rbp + 0x190]
lea r15, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r15, qword [rbp + 0x110]
mov rsi, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x120]
cmp rsi, rax
ja 0x14004a224
sub rax, rsi
test rsi, rsi
je 0x14004a375
lea r12, [rax + r15]
movsx r13d, byte [r14]
lea r8, [r12 + 1]
sub r8, r15
mov edx, r13d
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a224
nop word [rax + rax]
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a368
inc rbx
lea r8, [r12 + 1]
sub r8, rbx
mov edx, r13d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x14004a1f0
mov dword [rsp + 0x40], 0xbdd4d6
mov byte [rsp + 0x44], 1
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x14004a240
mov byte [rsp + 0x44], 0
lea r8, [rsp + 0x43]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xb0]
call fcn.14004e4e0
or edi, 0x30008
lea r14, [rbp + 0xb0]
mov r15, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xc8]
cmp rcx, 0x10
cmovae r14, r15
lea r12, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r12, qword [rbp + 0x110]
mov rsi, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x120]
cmp rsi, rax
ja 0x14004a32b
sub rax, rsi
test rsi, rsi
je 0x14004a397
lea r13, [rax + r12]
movsx edx, byte [r14]
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a324
nop dword [rax]
nop word [rax + rax]
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a387
inc rbx
lea r8, [r13 + 1]
sub r8, rbx
movsx edx, byte [r14]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x14004a2f0
mov rcx, qword [rbp + 0xc8]
xor bl, bl
test dil, 8
je 0x14004a3a4
and edi, 0xfffffff7
cmp rcx, 0x10
jb 0x14004a3a4
lea rdx, [rcx + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x14004a39b
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a39b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r15
cmp rbx, 0xffffffffffffffff
je 0x14004a224
mov r15, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xc8]
mov bl, 1
jmp 0x14004a32d
sub rbx, r12
cmp rbx, 0xffffffffffffffff
je 0x14004a324
mov rcx, qword [rbp + 0xc8]
mov bl, 1
jmp 0x14004a32d
mov rcx, r15
call fcn.14004f76c
nop
test dil, 4
je 0x14004a3f5
mov rax, qword [rbp + 0x1a8]
cmp rax, 0x10
jb 0x14004a3f5
lea r8, [rax + 1]
mov rcx, qword [rbp + 0x190]
mov rdx, rcx
cmp r8, 0x1000
jb 0x14004a3ed
add r8, 0x27
mov rax, qword [rcx - 8]
mov qword [rsp + 0x48], rax
sub rdx, rax
lea rax, [rdx - 8]
cmp rax, 0x1f
ja 0x14004a441
mov rcx, qword [rsp + 0x48]
mov rdx, r8
call fcn.14004f76c
mov byte [rsp + 0x5c], 1
test bl, bl
je 0x14004a448
mov dword [rsp + 0x58], 0xc6d4d6
xor edi, edi
mov ecx, edi
nop word [rax + rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x58], al
inc rcx
cmp rcx, 3
jb 0x14004a410
mov byte [rsp + 0x5c], dil
lea r8, [rsp + 0x5b]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x20]
call fcn.14004e4e0
lea r8, [rbp - 0x20]
jmp 0x14004a9ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov dword [rsp + 0x58], 0xc6ced1
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x58], al
inc rcx
cmp rcx, 3
jb 0x14004a460
mov byte [rsp + 0x5c], 0
lea r8, [rsp + 0x5b]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xb0]
call fcn.14004e4e0
lea rsi, [rbp + 0xb0]
mov r13, qword [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae rsi, r13
lea r14, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r14, qword [rbp + 0x110]
mov rdi, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x120]
cmp rdi, rax
ja 0x14004a52f
sub rax, rdi
test rdi, rdi
jne 0x14004a4dc
mov rbx, rdi
jmp 0x14004a538
lea r15, [rax + r14]
movsx r12d, byte [rsi]
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a52f
nop
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a571
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x14004a500
mov rbx, 0xffffffffffffffff
xor edi, edi
mov rax, qword [rbp + 0xc8]
cmp rax, 0x10
jb 0x14004a57e
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x14004a576
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a576
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r14
jmp 0x14004a536
mov rcx, r13
call fcn.14004f76c
mov rcx, rdi
cmp rbx, 0xffffffffffffffff
je 0x14004a5d1
mov dword [rsp + 0x40], 0xc6ced1
mov byte [rsp + 0x44], 1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x14004a5a0
mov byte [rsp + 0x44], 0
lea r8, [rsp + 0x43]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.14004e4e0
lea r8, [rbp - 0x40]
jmp 0x14004a9ff
mov dword [rsp + 0x58], 0xdcd0d5
mov byte [rsp + 0x5c], 1
nop
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x58], al
inc rcx
cmp rcx, 3
jb 0x14004a5e0
mov byte [rsp + 0x5c], 0
lea r8, [rsp + 0x5b]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xb0]
call fcn.14004e4e0
lea rsi, [rbp + 0xb0]
mov r13, qword [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae rsi, r13
lea r14, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r14, qword [rbp + 0x110]
mov rdi, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x120]
cmp rdi, rax
ja 0x14004a6af
sub rax, rdi
test rdi, rdi
jne 0x14004a65c
mov rbx, rdi
jmp 0x14004a6b8
lea r15, [r14 + rax]
movsx r12d, byte [rsi]
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a6af
nop
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a6f1
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x14004a680
mov rbx, 0xffffffffffffffff
xor edi, edi
mov rax, qword [rbp + 0xc8]
cmp rax, 0x10
jb 0x14004a6fe
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x14004a6f6
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a6f6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r14
jmp 0x14004a6b6
mov rcx, r13
call fcn.14004f76c
mov byte [rsp + 0x6c], 1
mov rcx, rdi
cmp rbx, 0xffffffffffffffff
je 0x14004a751
mov dword [rsp + 0x68], 0xdcd0d5
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x68], al
inc rcx
cmp rcx, 3
jb 0x14004a720
mov byte [rsp + 0x6c], 0
lea r8, [rsp + 0x6b]
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0x40]
call fcn.14004e4e0
lea r8, [rbp + 0x40]
jmp 0x14004a9ff
mov dword [rsp + 0x68], 0xccc9c7
nop dword [rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x68], al
inc rcx
cmp rcx, 3
jb 0x14004a760
mov byte [rsp + 0x6c], 0
lea r8, [rsp + 0x6b]
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xb0]
call fcn.14004e4e0
lea rsi, [rbp + 0xb0]
mov r13, qword [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae rsi, r13
lea r14, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r14, qword [rbp + 0x110]
mov rdi, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x120]
cmp rdi, rax
ja 0x14004a82f
sub rax, rdi
test rdi, rdi
jne 0x14004a7dc
mov rbx, rdi
jmp 0x14004a838
lea r15, [r14 + rax]
movsx r12d, byte [rsi]
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a82f
nop
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a871
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x14004a800
mov rbx, 0xffffffffffffffff
xor edi, edi
mov rax, qword [rbp + 0xc8]
cmp rax, 0x10
jb 0x14004a87e
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x14004a876
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a876
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r14
jmp 0x14004a836
mov rcx, r13
call fcn.14004f76c
cmp rbx, 0xffffffffffffffff
je 0x14004a8d1
mov dword [rsp + 0x48], 0xfbece9c7
mov dword [rsp + 0x4c], 0xe8e2e5
mov byte [rsp + 0x50], 1
mov rcx, rdi
nop dword [rax]
lea eax, [rcx - 0x7a]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 7
jb 0x14004a8a0
mov byte [rsp + 0x50], 0
lea r8, [rsp + 0x4f]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x20]
call fcn.14004e4e0
lea r8, [rbp + 0x20]
jmp 0x14004a9ff
xor eax, eax
mov word [rbp - 0x74], ax
lea r8, [rbp - 0x74]
lea rdx, [rbp - 0x74]
lea rcx, [rbp + 0xb0]
call fcn.14004e4e0
lea rsi, [rbp + 0xb0]
mov r13, qword [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae rsi, r13
lea r14, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r14, qword [rbp + 0x110]
mov rdi, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x120]
cmp rdi, rax
ja 0x14004a98f
sub rax, rdi
test rdi, rdi
jne 0x14004a93c
mov rbx, rdi
jmp 0x14004a998
lea r15, [rax + r14]
movsx r12d, byte [rsi]
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a98f
nop
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a9d1
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x14004a960
mov rbx, 0xffffffffffffffff
xor edi, edi
mov rax, qword [rbp + 0xc8]
cmp rax, 0x10
jb 0x14004a9de
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x14004a9d6
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a9d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r14
jmp 0x14004a996
mov rcx, r13
call fcn.14004f76c
cmp rbx, 0xffffffffffffffff
je 0x14004aa3c
xor eax, eax
mov word [rbp - 0x80], ax
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x70]
call fcn.14004e4e0
lea r8, [rbp + 0x70]
xorps xmm0, xmm0
xorps xmm1, xmm1
subsd xmm9, qword [0x140059d00]
cvtsd2ss xmm0, xmm11
cvtsd2ss xmm1, xmm9
movaps xmm2, xmmword [0x140059f50]
unpcklps xmm0, xmm1
movdqa xmmword [rbp + 0x190], xmm2
lea rdx, [rbp + 0x190]
movq rcx, xmm0
call fcn.140045d40
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x14004aa80
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004aa7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004aa7b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004f76c
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x128], 0xf
mov byte [rbp + 0x110], 0
mov rdx, qword [rbp + 0x108]
cmp rdx, 8
jb 0x14004aae2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004aadd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004aadd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004f76c
movdqa xmm0, xmmword [0x140059e50]
movdqu xmmword [rbp + 0x100], xmm0
mov word [rbp + 0xf0], di
mov rax, qword [rsp + 0x70]
movabs rsi, 0xff00ff00ff00ff00
xor rax, rsi
lea rcx, [rbp + 0x308]
mov qword [rcx], rax
mov r15, qword [rbp]
mov r12, qword [rbp + 8]
mov r13, qword [rbp - 0x68]
xorps xmm7, xmm7
cmp byte [0x14008a5d5], 0
je 0x14004af25
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
lea rax, [rbp + 0x308]
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe0], rax
mov rsi, qword [rax]
movabs r14, 0xff00ff00ff00ff00
xor rsi, r14
mov qword [rbp + 0xd0], rsi
mov qword [rax], rdi
mov rcx, qword [0x14008a6e0]
call fcn.14000fa00
cvttss2si r8d, dword [rbp - 0x70]
lea r9, [rbp + 0x1a5]
test r8d, r8d
jns 0x14004abd0
neg r8d
nop dword [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14004ab90
dec r9
mov byte [r9], 0x2d
jmp 0x14004abfa
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14004abd0
lea r8, [rbp + 0x1a5]
mov rdx, r9
lea rcx, [rbp - 0x60]
call fcn.14004e4e0
nop
lea rbx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rbx, qword [rbp - 0x60]
lea rcx, [0x1400528bc]
mov r8, qword [rbp - 0x50]
cmp rcx, rbx
jbe 0x14004ac40
lea rax, [r8 + rbx]
cmp rcx, rax
ja 0x14004ac40
cmp rbx, rcx
jbe 0x14004ac40
mov rdi, rbx
sub rdi, rcx
inc r8
mov rdx, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [0x1400528bc]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rdi]
mov r8, rdi
neg r8
lea rdx, [0x1400528bc]
add rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp + 0xf0], xmm0
movups xmm1, xmmword [rbp - 0x50]
movdqu xmmword [rbp + 0x100], xmm1
xor edi, edi
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], dil
movq rcx, xmm1
psrldq xmm1, 8
movq rdx, xmm1
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14004acea
lea rax, [rcx + 1]
mov qword [rbp + 0x100], rax
lea rax, [rbp + 0xf0]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0xf0]
mov word [rax + rcx], 0x6d
lea rax, [rbp + 0xf0]
jmp 0x14004ad04
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rbp + 0xf0]
call fcn.14004eb20
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xc0], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xc0], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp + 0x108]
cmp rdx, 0x10
jb 0x14004ad81
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ad7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004ad7c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004f76c
movdqa xmm0, xmmword [0x140059e60]
movdqu xmmword [rbp + 0x100], xmm0
mov byte [rbp + 0xf0], 0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14004add6
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004add1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004add1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004f76c
movdqa xmm0, xmmword [0x140059e60]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xc8]
cmp r8, 0x10
cmovae rcx, rdx
mov rax, qword [0x14008a5c8]
test rcx, rcx
jne 0x14004ae15
movaps xmm0, xmm7
jmp 0x14004ae68
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm13
movaps xmm3, xmm15
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rbp - 0x68]
mov rcx, qword [rax + 0x3c08]
call fcn.14002b860
movss xmm0, dword [rbp - 0x68]
addss xmm0, dword [0x140059c98]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov r8, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0xb0]
subsd xmm14, qword [0x140059cc0]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm14
divss xmm0, dword [0x140059d0c]
cvtss2sd xmm0, xmm0
subsd xmm10, xmm0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm10
lea rcx, [rbp + 0xb0]
cmp r8, 0x10
cmovae rcx, rdx
movaps xmm0, xmmword [0x140059f60]
movaps xmmword [rbp + 0x190], xmm0
lea r8, [rbp + 0x190]
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.1400458b0
call fcn.14000faa0
nop
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x14004af0e
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004af08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004af08
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004f76c
nop
xor rsi, r14
lea rax, [rbp + 0x308]
mov qword [rax], rsi
movabs rsi, 0xff00ff00ff00ff00
cmp byte [0x14008a5d6], 0
je 0x14004afe9
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
lea rcx, [rbp + 0x308]
mov qword [rbp + 0xf8], rsi
mov qword [rbp + 0x100], rcx
mov rax, qword [rcx]
xor rax, rsi
mov qword [rbp + 0xf0], rax
mov qword [rcx], rdi
mov rcx, r15
call fcn.14004de60
movaps xmm6, xmm0
mov rcx, r12
call fcn.14004de60
addss xmm0, dword [0x140059c30]
lea rbx, [rbp + 0x190]
comiss xmm0, xmm6
jb 0x14004af91
movaps xmm0, xmmword [0x140059f20]
jmp 0x14004af98
movaps xmm0, xmmword [0x140059f40]
movups xmmword [rbp + 0x190], xmm0
mov rax, qword [0x14008a5c8]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007220
movups xmm0, xmmword [rbx]
movaps xmmword [rbp + 0xd0], xmm0
movss dword [rsp + 0x20], xmm7
movss xmm3, dword [0x140059ce0]
lea r8, [rbp + 0xd0]
mov rdx, rax
mov rcx, r13
call fcn.140044d00
nop
mov rax, qword [rbp + 0x10]
xor rax, rsi
lea rcx, [rbp + 0x308]
mov qword [rcx], rax
mov rsi, qword [rbp + 0x18]
movabs r15, 0xff00ff00ff00ff00
lea r12, [rbp + 0x308]
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x14008a6e8]
movsd xmm2, qword [rbp + 0x60]
subsd xmm2, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [0x14008a6f0]
subsd xmm12, xmm1
mulsd xmm12, xmm12
mulsd xmm2, xmm2
addsd xmm12, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm12
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14004b05a
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14004b062
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x140063064]
comiss xmm1, xmm0
jb 0x14004b08b
movss xmm1, dword [0x14008a654]
comiss xmm1, xmm0
jbe 0x14004b08b
movss dword [0x14008a654], xmm0
mov qword [0x14008a6d0], r13
xor rsi, r15
mov qword [r12], rsi
jmp 0x14004b098
mov qword [r12], rbx
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.14004f500
lea r11, [rsp + 0x3e0]
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