Function at 0x1400a7540
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f8]
sub rsp, 0x6d0
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 [0x1400c9040]
xor rax, rsp
mov qword [rbp + 0x520], rax
xor r14d, r14d
cmp byte [0x1400c9533], r14b
je 0x1400a76c1
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov rbx, rax
movups xmm0, xmmword [0x1400c9570]
movups xmmword [rbp + 0x358], xmm0
lea rcx, [rbp + 0x358]
call fcn.140054720
mov edi, eax
movd xmm7, dword [0x1400c9548]
cvtdq2ps xmm7, xmm7
lea ecx, [r14 + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm6
movss xmm6, dword [0x1400bebd0]
test edi, 0xff000000
je 0x1400a76c9
movss xmm8, dword [0x1400becc0]
xorps xmm13, xmm13
comiss xmm6, xmm7
ja 0x1400a76d6
subss xmm7, xmm6
mov dword [rsp + 0x28], 0x1ff
movss dword [rsp + 0x20], xmm8
xorps xmm3, xmm3
movaps xmm2, xmm7
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140076d40
movss xmm12, dword [0x1400bec10]
movss dword [rsp + 0x28], xmm12
mov dword [rsp + 0x20], 1
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140075310
mov dword [rbx + 0x78], r14d
jmp 0x1400a76df
movss xmm6, dword [0x1400bebd0]
movss xmm8, dword [0x1400becc0]
xorps xmm13, xmm13
movss xmm12, dword [0x1400bec10]
cmp byte [0x1400cb488], r14b
je 0x1400a790b
mov rdx, qword [0x1400c9ff8]
add rdx, 0x1fb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x388], xmm0
mov qword [rbp + 0x398], r14
mov r9d, 0x1c
lea r8, [rbp + 0x388]
call fcn.1400ab3a0
test al, al
jne 0x1400a773a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x388], xmm0
mov qword [rbp + 0x398], rax
mov dword [rbp + 0x3a0], eax
mov rdx, qword [0x1400ca020]
add rdx, 0x448
mov qword [rbp + 0x348], r14
mov dword [rbp + 0x350], r14d
mov r9d, 0xc
lea r8, [rbp + 0x348]
call fcn.1400ab3a0
test al, al
jne 0x1400a777b
xor eax, eax
mov qword [rbp + 0x348], rax
mov dword [rbp + 0x350], eax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movss xmm3, dword [rbp + 0x398]
subss xmm3, dword [rbp + 0x34c]
movss xmm4, dword [rbp + 0x394]
subss xmm4, dword [rbp + 0x348]
movss xmm0, dword [0x1400bed48]
comiss xmm13, xmm4
jbe 0x1400a77ce
addss xmm4, xmm0
movss xmm1, dword [0x1400bedcc]
comiss xmm4, xmm0
jbe 0x1400a77df
addss xmm4, xmm1
comiss xmm13, xmm3
jbe 0x1400a77e9
addss xmm3, xmm0
comiss xmm3, xmm0
jbe 0x1400a77f2
addss xmm3, xmm1
movaps xmm0, xmm7
divss xmm0, dword [0x1400bed1c]
cvttss2si eax, xmm0
movaps xmm0, xmm5
divss xmm0, dword [0x1400bed1c]
cvttss2si ecx, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm3
mulss xmm7, xmm6
cvttss2si eax, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm2, xmm0
cvttss2si edi, xmm2
mulss xmm5, xmm6
cvttss2si eax, xmm5
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
subss xmm1, xmm0
cvttss2si ebx, xmm1
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov rsi, rax
movups xmm0, xmmword [0x1400c9598]
movups xmmword [rbp + 0x358], xmm0
lea rcx, [rbp + 0x358]
call fcn.140054720
mov r14d, eax
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x44], xmm1
test eax, 0xff000000
je 0x1400a7908
mov dword [rsp + 0x28], 0x1ff
movss dword [rsp + 0x20], xmm8
xorps xmm3, xmm3
movss xmm2, dword [0x1400beca8]
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140076d40
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 1
mov r9d, r14d
mov r8d, dword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
mov rcx, rsi
call fcn.140075310
xor r14d, r14d
mov dword [rsi + 0x78], r14d
jmp 0x1400a790b
xor r14d, r14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x388], xmm0
mov qword [rbp + 0x398], rax
lea rcx, [rbp + 0x388]
call fcn.1400aa7f0
nop
mov rsi, qword [rbp + 0x388]
mov rcx, qword [rbp + 0x390]
cmp rsi, rcx
je 0x1400a8e90
mov r15d, r14d
sub rcx, rsi
movabs rax, 0x4924924924924925
imul rcx
mov r12, rdx
sar r12, 4
mov rax, r12
shr rax, 0x3f
add r12, rax
mov qword [rbp + 0x230], r12
je 0x1400a8e90
nop dword [rax]
nop word [rax + rax]
movups xmm15, xmmword [rsi]
movups xmmword [rbp + 0x278], xmm15
movups xmm6, xmmword [rsi + 0x10]
movups xmmword [rbp + 0x288], xmm6
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rbp + 0x260], xmm0
movsd xmm1, qword [rsi + 0x30]
movsd qword [rbp + 0x3b8], xmm1
xor r8d, r8d
movq rdi, xmm0
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.1400a1af0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp + 0x240], xmm0
mov ebx, dword [rsp + 0x58]
mov dword [rbp + 0x248], ebx
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0x2c8]
call fcn.1400a1cf0
movss xmm0, dword [rsp + 0x58]
subss xmm0, dword [0x1400bece0]
movss xmm1, dword [rsp + 0x50]
movss dword [rsp + 0x6c], xmm1
movss dword [rbp + 0x70], xmm1
movss xmm2, dword [rsp + 0x54]
movss dword [rsp + 0x68], xmm2
movss dword [rbp + 0x74], xmm2
movss dword [rbp + 0x78], xmm0
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x3d0]
call fcn.1400a1cf0
mov r8d, 8
mov rdx, rdi
lea rcx, [rbp + 0x80]
call fcn.1400a1af0
movss xmm9, dword [rbp + 0x80]
movss dword [rbp + 0x90], xmm9
movss xmm11, dword [rbp + 0x84]
movss dword [rbp + 0x94], xmm11
movss xmm8, dword [rbp + 0x88]
movss dword [rbp + 0x98], xmm8
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x2d8]
call fcn.1400a1cf0
movss dword [rbp + 0xa0], xmm9
movss dword [rbp + 0xa4], xmm11
movss dword [rbp + 0xa8], xmm8
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x358]
call fcn.1400a1cf0
mov rcx, qword [0x1400ca000]
add rcx, 0x238
call fcn.1400aaa70
mov qword [rbp + 0x368], 0
mov dword [rbp + 0x370], 0
lea rdx, [rax + 0x164]
mov r9d, 0xc
lea r8, [rbp + 0x368]
call fcn.1400ab3a0
test al, al
jne 0x1400a7b14
xor eax, eax
mov qword [rbp + 0x368], rax
mov dword [rbp + 0x370], eax
mov qword [rbp + 0x348], 0
mov dword [rbp + 0x350], 0
movdqa xmm0, xmm6
psrldq xmm0, 8
movq r13, xmm0
mov qword [rbp + 0x270], r13
lea rdx, [r13 + 0x164]
mov r9d, 0xc
lea r8, [rbp + 0x348]
call fcn.1400ab3a0
test al, al
jne 0x1400a7b6a
xor eax, eax
mov qword [rbp + 0x348], rax
mov dword [rbp + 0x350], eax
movss xmm1, dword [rbp + 0x368]
subss xmm1, dword [rbp + 0x348]
movss xmm2, dword [rbp + 0x36c]
subss xmm2, dword [rbp + 0x34c]
movss xmm0, dword [rbp + 0x370]
subss xmm0, dword [rbp + 0x350]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1400a7bc1
xorps xmm10, xmm10
sqrtss xmm10, xmm2
jmp 0x1400a7bcd
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm10, xmm0
mulss xmm10, dword [0x1400beb98]
movss dword [rsp + 0x60], xmm10
movss xmm14, dword [rbp + 0x2dc]
movss dword [rsp + 0x48], xmm14
movaps xmm6, xmm14
subss xmm6, dword [rbp + 0x2cc]
andps xmm6, xmmword [0x1400bef60]
movss dword [rsp + 0x70], xmm6
cvtps2pd xmm1, xmm6
movaps xmm0, xmm1
mulsd xmm0, qword [0x1400bec30]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x64], xmm0
mulsd xmm1, qword [0x1400bec40]
cvtpd2ps xmm7, xmm1
movss dword [rsp + 0x74], xmm7
mov rdx, qword [0x1400c9ff8]
add rdx, 0x1200
mov qword [rbp + 0x3c0], 0
mov dword [rbp + 0x3c8], 0
mov r9d, 0xc
lea r8, [rbp + 0x3c0]
call fcn.1400ab3a0
test al, al
jne 0x1400a7c78
xor eax, eax
mov qword [rbp + 0x3c0], rax
mov dword [rbp + 0x3c8], eax
movdqa xmm0, xmm15
psrldq xmm0, 8
movq rbx, xmm0
lea rcx, [rbx + 0x1b0]
call fcn.1400aace0
movss dword [rsp + 0x4c], xmm0
lea rcx, [rbx + 0x1b4]
call fcn.1400aace0
movq rdi, xmm15
lea rcx, [rdi + 0x1180]
call fcn.1400aaa70
lea rcx, [rax + 0x501]
call fcn.1400aad70
comiss xmm13, dword [rsp + 0x4c]
jae 0x1400a8e7d
movss xmm0, dword [0x1400bed5c]
comiss xmm0, xmm10
jb 0x1400a8e7d
cmp byte [0x1400c9ece], 0
je 0x1400a7eea
lea rcx, [rdi + 0x1188]
call fcn.1400aaa70
mov r14, rax
lea rcx, [rdi + 0x1180]
call fcn.1400aaa70
mov rbx, rax
test r14, r14
je 0x1400a7ee7
test rax, rax
je 0x1400a7ee7
mov byte [rbp + 0x338], 1
xor eax, eax
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x508], rax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x510], xmm0
mov ecx, dword [0x1400cbf20]
mov dword [rbp + 0x4e8], ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x4ec], eax
lea rax, [r14 + 0x530]
mov qword [rbp + 0x4f0], rax
lea rax, [rbp + 0x338]
mov qword [rbp + 0x4f8], rax
mov qword [rbp + 0x500], 1
mov edx, 2
lea rcx, [rbp + 0x4e0]
call fcn.1400ab430
mov byte [rbp + 0x338], 1
xor eax, eax
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x508], rax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x510], xmm0
mov eax, dword [0x1400cbf20]
mov dword [rbp + 0x4e8], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x4ec], eax
lea rax, [rbx + 0x530]
mov qword [rbp + 0x4f0], rax
lea rax, [rbp + 0x338]
mov qword [rbp + 0x4f8], rax
mov qword [rbp + 0x500], 1
mov edx, 2
lea rcx, [rbp + 0x4e0]
call fcn.1400ab430
mov byte [rbp + 0x338], 1
xor eax, eax
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x508], rax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x510], xmm0
mov eax, dword [0x1400cbf20]
mov dword [rbp + 0x4e8], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x4ec], eax
lea rax, [r14 + 0x501]
mov qword [rbp + 0x4f0], rax
lea rax, [rbp + 0x338]
mov qword [rbp + 0x4f8], rax
mov qword [rbp + 0x500], 1
mov edx, 2
lea rcx, [rbp + 0x4e0]
call fcn.1400ab430
mov byte [rbp + 0x338], 1
xor r14d, r14d
mov qword [rbp + 0x3e0], r14
mov qword [rbp + 0x408], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x410], xmm0
mov eax, dword [0x1400cbf20]
mov dword [rbp + 0x3e8], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x3ec], eax
lea rax, [rbx + 0x501]
mov qword [rbp + 0x3f0], rax
lea rax, [rbp + 0x338]
mov qword [rbp + 0x3f8], rax
mov qword [rbp + 0x400], 1
lea edx, [r14 + 2]
lea rcx, [rbp + 0x3e0]
call fcn.1400ab430
jmp 0x1400a7eea
xor r14d, r14d
cmp byte [0x1400c9ecd], 0
je 0x1400a7f72
lea rcx, [rdi + 0x11d0]
call fcn.1400aaa70
mov rbx, rax
mov byte [rbp + 0x340], 1
mov qword [rbp + 0x420], r14
mov qword [rbp + 0x448], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x450], xmm0
mov ecx, dword [0x1400cbf20]
mov dword [rbp + 0x428], ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x42c], eax
lea rax, [rbx + 0x2b1]
mov qword [rbp + 0x430], rax
lea rax, [rbp + 0x340]
mov qword [rbp + 0x438], rax
mov qword [rbp + 0x440], 1
mov edx, 2
lea rcx, [rbp + 0x420]
call fcn.1400ab430
cmp byte [0x1400c9ecf], 0
je 0x1400a7ff5
mov dword [rbp + 0x3a8], 0x42dc0000
mov rbx, qword [0x1400c9ff8]
add rbx, 0x3f4
mov qword [rbp + 0x460], r14
mov qword [rbp + 0x488], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x490], xmm0
mov eax, dword [0x1400cbf20]
mov dword [rbp + 0x468], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x46c], eax
mov qword [rbp + 0x470], rbx
lea rax, [rbp + 0x3a8]
mov qword [rbp + 0x478], rax
mov qword [rbp + 0x480], 4
mov edx, 2
lea rcx, [rbp + 0x460]
call fcn.1400ab430
cmp byte [0x1400c9ee8], 0
je 0x1400a8084
lea rcx, [rdi + 0x8a8]
call fcn.1400aaa70
mov rbx, rax
mov dword [rbp + 0x3b0], 0x461c4000
mov qword [rbp + 0x4a0], r14
mov qword [rbp + 0x4c8], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x4d0], xmm0
mov ecx, dword [0x1400cbf20]
mov dword [rbp + 0x4a8], ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x4ac], eax
lea rax, [rbx + 0x1c8]
mov qword [rbp + 0x4b0], rax
lea rax, [rbp + 0x3b0]
mov qword [rbp + 0x4b8], rax
mov qword [rbp + 0x4c0], 4
mov edx, 2
lea rcx, [rbp + 0x4a0]
call fcn.1400ab430
cmp byte [0x1400cb464], 0
je 0x1400a8862
movss xmm12, dword [rsp + 0x68]
movaps xmm6, xmm12
movss xmm15, dword [0x1400becf8]
subss xmm6, xmm15
movss xmm10, dword [rsp + 0x6c]
movaps xmm7, xmm10
addss xmm7, xmm15
movss dword [rbp + 0xb0], xmm7
movss dword [rbp + 0xb4], xmm6
movss xmm14, dword [rsp + 0x58]
movss dword [rbp + 0xb8], xmm14
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x328]
call fcn.1400a1cf0
subss xmm10, xmm15
movss dword [rbp + 0xc0], xmm10
movss dword [rbp + 0xc4], xmm6
movss dword [rbp + 0xc8], xmm14
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x318]
call fcn.1400a1cf0
addss xmm12, xmm15
movss dword [rbp + 0xd0], xmm10
movss dword [rbp + 0xd4], xmm12
movss dword [rbp + 0xd8], xmm14
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x2f8]
call fcn.1400a1cf0
movss dword [rbp + 0xe0], xmm7
movss dword [rbp + 0xe4], xmm12
movss dword [rbp + 0xe8], xmm14
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x2e8]
call fcn.1400a1cf0
addss xmm8, dword [0x1400bece0]
movaps xmm6, xmm11
subss xmm6, xmm13
movaps xmm7, xmm9
addss xmm7, xmm15
movss dword [rbp + 0xf0], xmm7
movss dword [rbp + 0xf4], xmm6
movss dword [rbp + 0xf8], xmm8
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x298]
call fcn.1400a1cf0
subss xmm9, xmm15
movss dword [rbp + 0x100], xmm9
movss dword [rbp + 0x104], xmm6
movss dword [rbp + 0x108], xmm8
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x2b8]
call fcn.1400a1cf0
addss xmm11, xmm13
movss dword [rbp + 0x60], xmm9
movss dword [rbp + 0x64], xmm11
movss dword [rbp + 0x68], xmm8
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x2a8]
call fcn.1400a1cf0
movss dword [rbp + 0x110], xmm7
movss dword [rbp + 0x114], xmm11
movss dword [rbp + 0x118], xmm8
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x308]
call fcn.1400a1cf0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x140], xmm0
lea rcx, [rbp + 0x140]
call fcn.140054720
movss xmm0, dword [rbp + 0x298]
movss dword [rbp - 0x70], xmm0
movss xmm0, dword [rbp + 0x29c]
movss dword [rbp - 0x6c], xmm0
movss xmm13, dword [rbp + 0x328]
movss dword [rbp - 0x68], xmm13
movss xmm12, dword [rbp + 0x32c]
movss dword [rbp - 0x64], xmm12
movss xmm6, dword [0x1400bec10]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x68]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x170], xmm0
lea rcx, [rbp + 0x170]
call fcn.140054720
movss xmm0, dword [rbp + 0x2b8]
movss dword [rbp - 0x60], xmm0
movss xmm0, dword [rbp + 0x2bc]
movss dword [rbp - 0x5c], xmm0
movss xmm11, dword [rbp + 0x318]
movss dword [rbp - 0x58], xmm11
movss xmm10, dword [rbp + 0x31c]
movss dword [rbp - 0x54], xmm10
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x58]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x210], xmm0
lea rcx, [rbp + 0x210]
call fcn.140054720
movss xmm0, dword [rbp + 0x2a8]
movss dword [rbp - 0x50], xmm0
movss xmm0, dword [rbp + 0x2ac]
movss dword [rbp - 0x4c], xmm0
movss xmm9, dword [rbp + 0x2f8]
movss dword [rbp - 0x48], xmm9
movss xmm8, dword [rbp + 0x2fc]
movss dword [rbp - 0x44], xmm8
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x48]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x160], xmm0
lea rcx, [rbp + 0x160]
call fcn.140054720
movss xmm15, dword [rbp + 0x308]
movss dword [rbp - 0x40], xmm15
movss xmm14, dword [rbp + 0x30c]
movss dword [rbp - 0x3c], xmm14
movss xmm7, dword [rbp + 0x2e8]
movss dword [rbp - 0x38], xmm7
movss xmm6, dword [rbp + 0x2ec]
movss dword [rbp - 0x34], xmm6
movss xmm0, dword [0x1400bec10]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x38]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x150], xmm0
lea rcx, [rbp + 0x150]
call fcn.140054720
movss dword [rbp - 0x30], xmm11
movss dword [rbp - 0x2c], xmm10
movss dword [rbp - 0x28], xmm13
movss dword [rbp - 0x24], xmm12
movss xmm0, dword [0x1400bec10]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x28]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x130], xmm0
lea rcx, [rbp + 0x130]
call fcn.140054720
movss dword [rbp - 0x20], xmm9
movss dword [rbp - 0x1c], xmm8
movss dword [rbp - 0x78], xmm11
movss dword [rbp - 0x74], xmm10
movss xmm10, dword [0x1400bec10]
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x78]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x180], xmm0
lea rcx, [rbp + 0x180]
call fcn.140054720
movss dword [rbp - 0x10], xmm7
movss dword [rbp - 0xc], xmm6
movss dword [rbp - 8], xmm9
movss dword [rbp - 4], xmm8
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x10]
lea rdx, [rbp - 8]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x120], xmm0
lea rcx, [rbp + 0x120]
call fcn.140054720
movss dword [rbp], xmm13
movss dword [rbp + 4], xmm12
movss dword [rbp + 8], xmm7
movss dword [rbp + 0xc], xmm6
movaps xmm12, xmm10
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp]
lea rdx, [rbp + 8]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x220], xmm0
lea rcx, [rbp + 0x220]
call fcn.140054720
movss xmm9, dword [rbp + 0x2b8]
movss dword [rbp + 0x10], xmm9
movss xmm8, dword [rbp + 0x2bc]
movss dword [rbp + 0x14], xmm8
movss xmm11, dword [rbp + 0x298]
movss dword [rbp + 0x18], xmm11
movss xmm10, dword [rbp + 0x29c]
movss dword [rbp + 0x1c], xmm10
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x18]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x200], xmm0
lea rcx, [rbp + 0x200]
call fcn.140054720
movss xmm7, dword [rbp + 0x2a8]
movss dword [rbp + 0x20], xmm7
movss xmm6, dword [rbp + 0x2ac]
movss dword [rbp + 0x24], xmm6
movss dword [rbp + 0x28], xmm9
movss dword [rbp + 0x2c], xmm8
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x28]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x1f0], xmm0
lea rcx, [rbp + 0x1f0]
call fcn.140054720
movss dword [rbp + 0x30], xmm15
movss dword [rbp + 0x34], xmm14
movss dword [rbp + 0x38], xmm7
movss dword [rbp + 0x3c], xmm6
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, r10
call fcn.1400776e0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r10, rax
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x1e0], xmm0
lea rcx, [rbp + 0x1e0]
call fcn.140054720
movss dword [rbp + 0x40], xmm11
movss dword [rbp + 0x44], xmm10
movss dword [rbp + 0x48], xmm15
movss dword [rbp + 0x4c], xmm14
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x48]
mov rcx, r10
call fcn.1400776e0
movss xmm6, dword [rsp + 0x70]
movss xmm7, dword [rsp + 0x74]
movss xmm10, dword [rsp + 0x60]
movss xmm14, dword [rsp + 0x48]
movups xmm15, xmmword [rbp + 0x278]
movss xmm8, dword [rbp + 0x3d0]
movss xmm9, dword [rbp + 0x35c]
cmp byte [0x1400cb466], 0
je 0x1400a899c
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x1d0], xmm0
lea rcx, [rbp + 0x1d0]
call fcn.140054720
mov ebx, eax
cvttss2si r12d, xmm6
cvttss2si r13d, xmm7
cvttss2si edi, xmm9
movaps xmm0, xmm7
movss xmm13, dword [0x1400bebd0]
mulss xmm0, xmm13
movaps xmm1, xmm8
subss xmm1, xmm0
addss xmm1, dword [0x1400bec50]
cvttss2si r14d, xmm1
mov rcx, qword [0x1400c9ed0]
mov rcx, qword [rcx + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140058a60
mov r10, rax
mov rcx, qword [0x1400c9ed0]
movss xmm1, dword [rcx + 0x37e0]
comiss xmm1, xmm12
jae 0x1400a892a
mov eax, ebx
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
cvttss2si rax, xmm0
and ebx, 0xffffff
shl eax, 0x18
or ebx, eax
lea eax, [r14 + r13]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x50], xmm0
lea eax, [rdi + r12]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x54], xmm1
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x58], xmm0
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x5c], xmm1
movss dword [rsp + 0x30], xmm12
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
mov rcx, r10
call fcn.140077840
mov r13, qword [rbp + 0x270]
mov r12, qword [rbp + 0x230]
jmp 0x1400a89a5
movss xmm13, dword [0x1400bebd0]
cmp byte [0x1400c9534], 0
je 0x1400a8a03
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x1c0], xmm0
lea rcx, [rbp + 0x1c0]
call fcn.140054720
mov dword [rsp + 0x48], eax
cvttss2si r9d, xmm6
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
movaps xmm0, xmm7
mulss xmm0, xmm13
movaps xmm1, xmm8
subss xmm1, xmm0
addss xmm1, xmm12
cvttss2si ecx, xmm1
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.1400a29e0
cmp byte [0x1400ca0af], 0
je 0x1400a8a61
movups xmm0, xmmword [0x1400c9550]
movups xmmword [rbp + 0x1b0], xmm0
lea rcx, [rbp + 0x1b0]
call fcn.140054720
mov dword [rsp + 0x48], eax
cvttss2si r9d, xmm6
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
movaps xmm0, xmm7
mulss xmm0, xmm13
movaps xmm1, xmm8
subss xmm1, xmm0
addss xmm1, xmm12
cvttss2si ecx, xmm1
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.1400a2f70
movss xmm11, dword [rbp + 0x2d8]
cmp byte [0x1400c9535], 0
je 0x1400a8b4a
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov rbx, rax
movups xmm0, xmmword [0x1400c9560]
movups xmmword [rbp + 0x1a0], xmm0
lea rcx, [rbp + 0x1a0]
call fcn.140054720
mov edi, eax
movss dword [rbp - 0x18], xmm11
movss dword [rbp - 0x14], xmm14
movaps xmm0, xmm10
mulss xmm0, dword [0x1400beb84]
movss xmm2, dword [0x1400becc8]
divss xmm2, xmm0
divss xmm2, dword [0x1400becf0]
test eax, 0xff000000
je 0x1400a8b4a
comiss xmm13, xmm2
ja 0x1400a8b4a
subss xmm2, xmm13
mov dword [rsp + 0x28], 0x1ff
movss xmm0, dword [0x1400becc0]
movss dword [rsp + 0x20], xmm0
xorps xmm13, xmm13
xorps xmm3, xmm3
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.140076d40
movss dword [rsp + 0x28], xmm12
mov dword [rsp + 0x20], 1
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140075310
xor r14d, r14d
mov dword [rbx + 0x78], r14d
jmp 0x1400a8b51
xorps xmm13, xmm13
xor r14d, r14d
cmp byte [0x1400c9532], 0
je 0x1400a8b9a
movaps xmmword [rbp + 0x4e0], xmm15
movups xmm0, xmmword [rbp + 0x288]
movaps xmmword [rbp + 0x4f0], xmm0
movups xmm1, xmmword [rbp + 0x260]
movaps xmmword [rbp + 0x500], xmm1
movsd xmm0, qword [rbp + 0x3b8]
movsd qword [rbp + 0x510], xmm0
lea rcx, [rbp + 0x4e0]
call fcn.1400a3b00
cmp byte [0x1400ca0ae], 0
je 0x1400a8c96
mov eax, dword [0x1400be478]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x1400be47c]
mov word [rsp + 0x44], cx
movzx eax, byte [0x1400be47e]
mov byte [rsp + 0x40], 0x5b
xor byte [rsp + 0x41], 0x3a
xor byte [rsp + 0x42], 0x3b
xor byte [rsp + 0x43], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3e
xor al, 0x3f
mov byte [rsp + 0x46], al
xorps xmm2, xmm2
cvtss2sd xmm2, xmm10
movq r8, xmm2
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x4e0]
call fcn.1400aae50
subss xmm14, dword [0x1400becdc]
cvttss2si ebx, xmm14
movaps xmm0, xmm11
subss xmm0, dword [0x1400becbc]
cvttss2si edx, xmm0
lea rax, [rbp + 0x4e0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
lea r9, [0x1400c9280]
mov r8d, ebx
movss xmm0, dword [0x1400becd4]
movd ecx, xmm0
call fcn.1400a2010
subss xmm11, dword [0x1400becac]
cvttss2si edx, xmm11
lea rax, [rbp + 0x4e0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
lea r9, [0x1400c92c0]
mov r8d, ebx
movss xmm0, dword [0x1400becd0]
movd ecx, xmm0
call fcn.1400a2010
cmp byte [0x1400c9536], 0
je 0x1400a8cdd
cvttss2si eax, dword [rsp + 0x4c]
movss xmm1, dword [rsp + 0x64]
movaps xmm0, xmm1
addss xmm0, xmm6
cvttss2si r9d, xmm0
cvttss2si r8d, xmm7
subss xmm9, xmm1
cvttss2si edx, xmm9
subss xmm8, dword [0x1400beccc]
cvttss2si ecx, xmm8
mov dword [rsp + 0x28], eax
call fcn.1400a3590
cmp byte [0x1400ca0ac], 0
je 0x1400a8d87
movups xmm0, xmmword [0x1400c9580]
movups xmmword [rbp + 0x190], xmm0
lea rcx, [rbp + 0x190]
call fcn.140054720
mov ebx, eax
movd xmm1, dword [0x1400ca0a8]
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1400cb460]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
movss xmm1, dword [rbp + 0x2c8]
movss xmm0, dword [rbp + 0x2cc]
unpcklps xmm1, xmm0
movsd qword [rbp + 0x3b8], xmm1
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x3b8]
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.1400776e0
mov dword [0x1400cb490], 0x44cd0000
mov dword [0x1400cb494], 0x41a00000
cmp byte [0x1400c9530], 0
je 0x1400a8e7d
movups xmm0, xmmword [0x1400bcd88]
movdqa xmmword [rbp + 0x260], xmm0
mov rax, qword [0x1400c9ed0]
mov rax, qword [rax + 0x4878]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140058a60
mov r8, rax
lea rcx, [rbp + 0x260]
call fcn.140054720
mov dword [rbp - 0x80], 0x44dd4000
mov dword [rbp - 0x7c], 0x43160000
mov dword [rsp + 0x20], 0x3e8
mov r9d, eax
movss xmm2, dword [0x1400bec68]
lea rdx, [rbp - 0x80]
mov rcx, r8
call fcn.140077e30
mov qword [rbp + 0x378], 0
mov dword [rbp + 0x380], 0
lea rdx, [r13 + 0x164]
mov r9d, 0xc
lea r8, [rbp + 0x378]
call fcn.1400ab3a0
test al, al
jne 0x1400a8e55
xor eax, eax
mov qword [rbp + 0x378], rax
mov dword [rbp + 0x380], eax
jmp 0x1400a8e5b
mov eax, dword [rbp + 0x380]
movsd xmm0, qword [rbp + 0x378]
movsd qword [rbp + 0x250], xmm0
mov dword [rbp + 0x258], eax
lea rcx, [rbp + 0x250]
call fcn.1400a5260
inc r15d
add rsi, 0x38
movsxd rax, r15d
cmp rax, r12
jb 0x1400a7980
lea rcx, [rbp + 0x388]
call fcn.1400aa9f0
mov rcx, qword [rbp + 0x520]
xor rcx, rsp
call fcn.1400ab510
lea r11, [rsp + 0x6d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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