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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1f0
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 rsi, rdx
mov rdi, rcx
movss xmm13, dword [0x1401b7354]
xorps xmm12, xmm12
addss xmm13, xmm12
movss xmm11, dword [0x1401b7338]
subss xmm11, dword [0x140154548]
subss xmm11, dword [0x140154550]
addss xmm11, dword [0x1401b7350]
movd xmm0, dword [0x1401b7284]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1401b7dbc]
cvttss2si ecx, xmm0
mov eax, dword [str._f_f_f]
mov dword [rsp + 0x40], eax
mov eax, dword [0x1401b727c]
mov dword [rsp + 0x44], eax
mov eax, dword [0x1401b7280]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], ecx
movss xmm9, dword [0x1401544d0]
mov dword [rsp + 0x60], 0x3f800000
mov dword [rsp + 0x64], 0x3f800000
movaps xmm8, xmmword [0x140154730]
movdqu xmm0, xmmword [rsp + 0x40]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmm8
movups xmmword [rsp + 0x40], xmm1
lea rcx, [rsp + 0x40]
call fcn.140003550
movaps xmm10, xmm13
addss xmm10, dword [0x140154528]
movaps xmm14, xmm11
addss xmm14, dword [0x140154550]
movss dword [rsp + 0x40], xmm14
movss dword [rsp + 0x44], xmm10
movss dword [rsp + 0x50], xmm11
movss dword [rsp + 0x54], xmm13
movss xmm15, dword [0x1401544f0]
movss dword [rsp + 0x38], xmm15
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x140154534]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1401b7da8]
call fcn.1400201a0
movd xmm0, dword [0x1401b72f4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1401b7dbc]
cvttss2si ecx, xmm0
mov eax, dword [0x1401b72e8]
mov dword [rsp + 0x60], eax
mov eax, dword [0x1401b72ec]
mov dword [rsp + 0x64], eax
mov eax, dword [0x1401b72f0]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], ecx
movdqu xmm0, xmmword [rsp + 0x60]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmm8
movups xmmword [rsp + 0x60], xmm1
lea rcx, [rsp + 0x60]
call fcn.140003550
movss dword [rsp + 0x60], xmm14
movss dword [rsp + 0x64], xmm10
movss dword [rsp + 0x40], xmm11
movss dword [rsp + 0x44], xmm13
xor r15d, r15d
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm15
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1401b7da8]
call fcn.14001e9e0
movd xmm0, dword [rsi + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1401b7dbc]
cvttss2si eax, xmm0
movd xmm0, dword [rsi]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [0x140154450]
mulss xmm0, xmm2
movss dword [rsp + 0x60], xmm0
movd xmm0, dword [rsi + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [rsp + 0x64], xmm0
movd xmm1, dword [rsi + 8]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
movss dword [rsp + 0x68], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.140003550
movss dword [rsp + 0x60], xmm14
movss dword [rsp + 0x64], xmm10
movss dword [rsp + 0x40], xmm11
movss dword [rsp + 0x44], xmm13
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm15
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1401b7da8]
call fcn.14001e9e0
movd xmm0, dword [0x1401b7274]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1401b7dbc]
cvttss2si ecx, xmm0
mov eax, dword [0x1401b7268]
mov dword [rsp + 0x60], eax
mov eax, dword [0x1401b726c]
mov dword [rsp + 0x64], eax
mov eax, dword [0x1401b7270]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], ecx
movaps xmm7, xmm13
subss xmm7, xmm9
movaps xmm6, xmm11
subss xmm6, xmm9
movdqu xmm0, xmmword [rsp + 0x60]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmm8
movups xmmword [rsp + 0x60], xmm1
lea rcx, [rsp + 0x60]
call fcn.140003550
movaps xmm1, xmm7
addss xmm1, dword [0x140154530]
movaps xmm0, xmm6
addss xmm0, dword [0x140154554]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x30], xmm12
movss dword [rsp + 0x20], xmm15
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1401b7da8]
call fcn.14001e8d0
movabs rbx, 0xcbf29ce484222325
movabs r12, 0x100000001b3
mov r14, qword [0x1401b7c40]
mov r11, qword [0x1401b7dc8]
test r11, r11
jne 0x140037001
cmp byte [0x1401b7dc0], r15b
jne 0x140037001
movss xmm4, dword [r14 + 0x100]
movss xmm2, dword [r14 + 0xc0c]
movaps xmm0, xmm11
subss xmm0, xmm2
comiss xmm4, xmm0
jb 0x140037001
movss xmm3, dword [r14 + 0x104]
movss xmm1, dword [r14 + 0xc10]
movaps xmm0, xmm13
subss xmm0, xmm1
comiss xmm3, xmm0
jb 0x140037001
addss xmm2, xmm14
comiss xmm2, xmm4
jbe 0x140037001
addss xmm1, xmm10
comiss xmm1, xmm3
jbe 0x140037001
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140010250
test al, al
je 0x140037001
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140036fca
mov rdx, qword [rdi]
mov r11, rbx
mov rcx, r15
test r8, r8
je 0x140036ff3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r11, rax
imul r11, r12
inc rcx
cmp rcx, r8
jb 0x140036fe0
mov qword [0x1401b7dc8], r11
mov byte [0x1401b7dc0], 1
mov rdx, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x14003700f
mov rdi, qword [rdi]
mov rcx, r15
test rdx, rdx
je 0x140037033
nop word [rax + rax]
movzx eax, byte [rcx + rdi]
xor rbx, rax
imul rbx, r12
inc rcx
cmp rcx, rdx
jb 0x140037020
cmp r11, rbx
jne 0x14003810b
mov rax, qword [r14 + 0x1de0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140006be0
mov r11, rax
mov qword [0x1401b7da8], rax
addss xmm13, dword [0x14015453c]
addss xmm11, xmm12
movss xmm10, dword [0x1401545bc]
movss xmm8, dword [0x1401545a8]
cmp byte [0x1401b7dc0], r15b
jne 0x140037106
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140010250
test al, al
je 0x140037106
movaps xmm3, xmm13
addss xmm3, xmm10
mov rax, qword [0x1401b7c40]
movaps xmm4, xmm11
addss xmm4, xmm8
movss xmm6, dword [rax + 0x100]
movss xmm2, dword [rax + 0xc0c]
movaps xmm0, xmm11
subss xmm0, xmm2
comiss xmm6, xmm0
jb 0x1400370ff
movss xmm5, dword [rax + 0x104]
movss xmm1, dword [rax + 0xc10]
movaps xmm0, xmm13
subss xmm0, xmm1
comiss xmm5, xmm0
jb 0x1400370ff
addss xmm2, xmm4
comiss xmm2, xmm6
jbe 0x1400370ff
addss xmm1, xmm3
comiss xmm1, xmm5
ja 0x140037106
mov qword [0x1401b7dc8], r15
movd xmm0, dword [0x1401b7284]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1401b7dbc]
cvttss2si ecx, xmm0
mov eax, dword [str._f_f_f]
mov dword [rsp + 0x40], eax
mov eax, dword [0x1401b727c]
mov dword [rsp + 0x44], eax
mov eax, dword [0x1401b7280]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x60], 0x3f800000
mov dword [rsp + 0x64], 0x3f800000
movaps xmm2, xmmword [0x140154730]
movdqu xmm0, xmmword [rsp + 0x40]
cvtdq2ps xmm1, xmm0
mulps xmm2, xmm1
movups xmmword [rsp + 0x40], xmm2
lea rcx, [rsp + 0x40]
call fcn.140003550
movaps xmm7, xmm13
addss xmm7, xmm10
movaps xmm6, xmm11
addss xmm6, xmm8
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x50], xmm11
movss dword [rsp + 0x54], xmm13
movss dword [rsp + 0x38], xmm15
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x140154560]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, r11
call fcn.1400201a0
movss xmm1, dword [0x1401b7dbc]
mulss xmm1, dword [0x1401544a0]
movd xmm0, dword [0x1401b72a4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ecx, xmm0
mov eax, dword [0x1401b7298]
mov dword [rsp + 0x40], eax
mov eax, dword [0x1401b729c]
mov dword [rsp + 0x44], eax
mov eax, dword [0x1401b72a0]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], ecx
mov qword [rsp + 0x60], r15
movaps xmm2, xmmword [0x140154730]
movdqu xmm0, xmmword [rsp + 0x40]
cvtdq2ps xmm1, xmm0
mulps xmm2, xmm1
movups xmmword [rsp + 0x40], xmm2
lea rcx, [rsp + 0x40]
call fcn.140003550
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x50], xmm11
movss dword [rsp + 0x54], xmm13
movss dword [rsp + 0x38], xmm15
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x140154534]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1401b7da8]
call fcn.1400201a0
movd xmm0, dword [0x1401b72f4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1401b7dbc]
cvttss2si eax, xmm0
movd xmm1, dword [0x1401b72e8]
cvtdq2ps xmm1, xmm1
movss xmm8, dword [0x140154450]
mulss xmm1, xmm8
movss dword [rsp + 0x60], xmm1
movd xmm0, dword [0x1401b72ec]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm8
movss dword [rsp + 0x64], xmm0
movd xmm1, dword [0x1401b72f0]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm8
movss dword [rsp + 0x68], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm8
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.140003550
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x64], xmm7
movss dword [rsp + 0x40], xmm11
movss dword [rsp + 0x44], xmm13
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm15
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1401b7da8]
call fcn.14001e9e0
movd xmm0, dword [0x1401b7274]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1401b7dbc]
cvttss2si ecx, xmm0
mov eax, dword [0x1401b7268]
mov dword [rsp + 0x60], eax
mov eax, dword [0x1401b726c]
mov dword [rsp + 0x64], eax
mov eax, dword [0x1401b7270]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], ecx
movaps xmm7, xmm13
subss xmm7, xmm9
movaps xmm6, xmm11
subss xmm6, xmm9
movaps xmm2, xmmword [0x140154730]
movdqu xmm0, xmmword [rsp + 0x60]
cvtdq2ps xmm1, xmm0
mulps xmm2, xmm1
movups xmmword [rsp + 0x60], xmm2
lea rcx, [rsp + 0x60]
call fcn.140003550
movaps xmm1, xmm7
addss xmm1, dword [0x1401545c0]
movaps xmm0, xmm6
addss xmm0, dword [0x1401545ac]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x30], xmm12
movss dword [rsp + 0x20], xmm15
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1401b7da8]
call fcn.14001e8d0
movss xmm0, dword [0x1401b7dbc]
movss xmm6, dword [0x1401545c8]
mulss xmm0, xmm6
cvttss2si ebx, xmm0
mov qword [rbp - 0x20], 0xff
mov dword [rbp - 0x18], r15d
mov dword [rbp - 0x14], ebx
mov dword [rbp - 0x10], 0xff
mov qword [rbp - 0xc], 0xff
mov dword [rbp - 4], ebx
mov dword [rbp], r15d
mov qword [rbp + 4], 0xff
mov dword [rbp + 0xc], ebx
mov dword [rbp + 0x10], r15d
mov dword [rbp + 0x14], 0xff
mov dword [rbp + 0x18], 0xff
mov dword [rbp + 0x1c], ebx
mov qword [rbp + 0x20], r15
mov dword [rbp + 0x28], 0xff
mov dword [rbp + 0x2c], ebx
mov qword [rbp + 0x30], 0xff
mov dword [rbp + 0x38], 0xff
mov dword [rbp + 0x3c], ebx
mov qword [rbp + 0x40], 0xff
mov dword [rbp + 0x48], r15d
mov dword [rbp + 0x4c], ebx
movd xmm5, dword [rsi + 8]
cvtdq2ps xmm5, xmm5
divss xmm5, xmm6
movd xmm14, dword [rsi + 4]
cvtdq2ps xmm14, xmm14
divss xmm14, xmm6
movd xmm2, dword [rsi]
cvtdq2ps xmm2, xmm2
divss xmm2, xmm6
movss dword [rbp - 0x80], xmm2
movaps xmm4, xmm12
comiss xmm5, xmm14
jbe 0x1400374e2
movaps xmm0, xmm14
movaps xmm14, xmm5
movaps xmm5, xmm0
movss xmm4, dword [0x1401545f8]
comiss xmm14, xmm2
jbe 0x140037507
movaps xmm0, xmm2
movaps xmm2, xmm14
movss dword [rbp - 0x80], xmm2
movaps xmm14, xmm0
movss xmm1, dword [0x1401545ec]
subss xmm1, xmm4
movaps xmm4, xmm1
movaps xmm0, xmm14
minss xmm0, xmm5
movaps xmm3, xmm2
subss xmm3, xmm0
subss xmm14, xmm5
movaps xmm0, xmm3
mulss xmm0, dword [0x140154510]
addss xmm0, dword [0x140154438]
divss xmm14, xmm0
addss xmm14, xmm4
andps xmm14, xmmword [0x1401547a0]
movaps xmm0, xmm2
addss xmm0, dword [0x140154438]
divss xmm3, xmm0
movss dword [rsp + 0x60], xmm3
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
movaps xmm2, xmm9
movaps xmm1, xmm9
movaps xmm0, xmm14
call fcn.140003600
movss xmm0, dword [rbp - 0x70]
mulss xmm0, xmm6
cvttss2si edx, xmm0
movss xmm1, dword [rsp + 0x50]
mulss xmm1, xmm6
cvttss2si ecx, xmm1
movss xmm0, dword [rsp + 0x40]
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x4c], ebx
movaps xmm10, xmm13
movss xmm15, dword [0x140154504]
addss xmm10, xmm15
movaps xmm9, xmm11
addss xmm9, xmm15
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x40], 0xff
mov dword [rsp + 0x44], 0xff
mov dword [rsp + 0x48], 0xff
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x30], 0xf0
movss xmm0, dword [0x1401544f0]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
movss xmm7, dword [0x1401545a0]
movaps xmm0, xmm7
unpcklps xmm0, xmm7
movq rdx, xmm0
movaps xmm1, xmm9
unpcklps xmm1, xmm10
movq rcx, xmm1
call fcn.14002d8c0
movss xmm0, dword [0x1401b7dbc]
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov qword [rbp - 0x70], r15
mov dword [rbp - 0x68], r15d
mov dword [rbp - 0x64], eax
xorps xmm6, xmm6
mov r10, qword [0x1401b7da8]
mov ebx, dword [r10 + 0x20]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm8
mov dword [rsp + 0x40], 0x3f800000
mov dword [rsp + 0x44], 0x3f800000
mov dword [rsp + 0x48], 0x3f800000
movss dword [rsp + 0x4c], xmm0
lea rcx, [rsp + 0x40]
call fcn.140003550
movaps xmm8, xmm10
addss xmm8, xmm7
movaps xmm7, xmm9
addss xmm7, dword [0x1401545a0]
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x44], xmm8
movss dword [rsp + 0x50], xmm9
movss dword [rsp + 0x54], xmm10
mov dword [rsp + 0x28], 0xf0
movss xmm0, dword [0x1401544f0]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.14001e9e0
mov rdi, qword [0x1401b7da8]
movaps xmm1, xmm9
addss xmm1, dword [0x14015458c]
addss xmm1, xmm9
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x50], xmm6
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
movaps xmm0, xmm1
unpcklps xmm0, xmm8
movsd qword [rsp + 0x20], xmm0
unpcklps xmm1, xmm10
movq r9, xmm1
mov r8d, dword [rdi + 0x20]
mov edx, ebx
call fcn.14002dac0
movss xmm1, dword [0x1401b7dbc]
mulss xmm1, dword [0x1401544a0]
movd xmm0, dword [0x1401b72a4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ecx, xmm0
mov eax, dword [0x1401b7298]
mov dword [rsp + 0x50], eax
mov eax, dword [0x1401b729c]
mov dword [rsp + 0x54], eax
mov eax, dword [0x1401b72a0]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], ecx
mov qword [rsp + 0x40], r15
movaps xmm2, xmmword [0x140154730]
movdqu xmm0, xmmword [rsp + 0x50]
cvtdq2ps xmm1, xmm0
mulps xmm2, xmm1
movups xmmword [rsp + 0x50], xmm2
lea rcx, [rsp + 0x50]
call fcn.140003550
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm8
movss dword [rbp - 0x70], xmm9
movss dword [rbp - 0x6c], xmm10
movss xmm0, dword [0x1401544f0]
movss dword [rsp + 0x38], xmm0
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
movss xmm6, dword [0x140154558]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.1400201a0
mov edi, r15d
mov dword [rsp + 0x40], 0x41c80000
mov dword [rsp + 0x44], 0x41800000
movaps xmm0, xmm13
movss xmm10, dword [0x1401545a8]
addss xmm0, xmm10
movss dword [rsp + 0x54], xmm0
lea rax, [rbp - 0x20]
movsd xmm7, qword [rsp + 0x40]
nop dword [rax]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm0, xmm15
addss xmm0, xmm11
movss dword [rsp + 0x50], xmm0
lea rbx, [rax + 0x10]
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax]
movaps xmmword [rbp - 0x70], xmm1
mov dword [rsp + 0x30], r15d
movss dword [rsp + 0x28], xmm12
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x70]
movq rdx, xmm7
mov rcx, qword [rsp + 0x50]
call fcn.14002d8c0
inc edi
mov rax, rbx
cmp edi, 6
jl 0x140037850
movss xmm0, dword [0x1401b7dbc]
mulss xmm0, dword [0x1401545c8]
cvttss2si eax, xmm0
mov dword [rsp + 0x40], 0xff
mov dword [rsp + 0x44], 0xff
mov dword [rsp + 0x48], 0xff
mov dword [rsp + 0x4c], eax
movaps xmm8, xmm13
addss xmm8, xmm10
movaps xmm6, xmm14
mulss xmm6, dword [0x14015459c]
addss xmm6, xmm15
addss xmm6, xmm11
movaps xmm2, xmmword [0x140154730]
movdqu xmm0, xmmword [rsp + 0x40]
cvtdq2ps xmm1, xmm0
mulps xmm2, xmm1
movups xmmword [rsp + 0x40], xmm2
lea rcx, [rsp + 0x40]
call fcn.140003550
movaps xmm7, xmm8
addss xmm7, dword [0x140154538]
movaps xmm0, xmm6
addss xmm0, dword [0x1401544f8]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm8
mov dword [rsp + 0x28], r15d
movss xmm0, dword [0x1401544f0]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1401b7da8]
call fcn.14001e9e0
movd xmm0, dword [0x1401b7274]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1401b7dbc]
cvttss2si ecx, xmm0
mov eax, dword [0x1401b7268]
mov dword [rsp + 0x40], eax
mov eax, dword [0x1401b726c]
mov dword [rsp + 0x44], eax
mov eax, dword [0x1401b7270]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], ecx
movaps xmm6, xmm11
addss xmm6, xmm15
movaps xmm2, xmmword [0x140154730]
movdqu xmm0, xmmword [rsp + 0x40]
cvtdq2ps xmm1, xmm0
mulps xmm2, xmm1
movups xmmword [rsp + 0x40], xmm2
lea rcx, [rsp + 0x40]
call fcn.140003550
movaps xmm0, xmm6
addss xmm0, dword [0x1401545a0]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm8
movss dword [rsp + 0x30], xmm12
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1401b7da8]
call fcn.14001e8d0
movss xmm0, dword [0x1401b7dbc]
mulss xmm0, dword [0x1401545c8]
cvttss2si eax, xmm0
movss xmm7, dword [0x1401544d0]
movaps xmm3, xmm7
movss xmm6, dword [rbp - 0x80]
subss xmm3, xmm6
movss xmm8, dword [0x1401545a0]
mulss xmm3, xmm8
addss xmm3, xmm15
addss xmm3, xmm13
movss xmm10, dword [rsp + 0x60]
movaps xmm2, xmm10
mulss xmm2, xmm8
addss xmm2, xmm15
addss xmm2, xmm11
movdqa xmm0, xmmword [0x140154660]
movdqa xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x60], 0xff
mov dword [rsp + 0x64], 0xff
mov dword [rsp + 0x68], 0xff
mov dword [rsp + 0x6c], eax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
movaps xmm1, xmm15
unpcklps xmm2, xmm3
movq rcx, xmm2
call fcn.14002d650
mov r11, qword [0x1401b7c40]
mov rbx, qword [0x1401b7db0]
test rbx, rbx
jne 0x140037bf5
movaps xmm5, xmm13
addss xmm5, dword [0x1401545a4]
movaps xmm8, xmm11
addss xmm8, dword [0x1401545a4]
movaps xmm0, xmm13
addss xmm0, xmm15
movaps xmm9, xmm11
addss xmm9, xmm15
movss xmm2, dword [r11 + 0x100]
movss dword [rbp - 0x80], xmm2
movss xmm3, dword [r11 + 0xc0c]
movss dword [rbp - 0x70], xmm3
subss xmm9, xmm3
comiss xmm2, xmm9
jb 0x140037b8c
movss xmm4, dword [r11 + 0x104]
movss xmm1, dword [r11 + 0xc10]
subss xmm0, xmm1
comiss xmm4, xmm0
jb 0x140037b8c
movaps xmm0, xmm3
addss xmm0, xmm8
comiss xmm0, xmm2
jbe 0x140037b8c
addss xmm1, xmm5
comiss xmm1, xmm4
jbe 0x140037b8c
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140010250
movss xmm2, dword [rbp - 0x80]
movss xmm3, dword [rbp - 0x70]
test al, al
je 0x140037b8c
mov ebx, 1
mov qword [0x1401b7db0], rbx
movaps xmm0, xmm5
addss xmm0, dword [0x140154538]
comiss xmm2, xmm9
jb 0x140037bec
movss xmm1, dword [r11 + 0x104]
movss xmm4, dword [r11 + 0xc10]
subss xmm5, xmm4
comiss xmm1, xmm5
jb 0x140037bec
addss xmm8, xmm3
comiss xmm8, xmm2
jbe 0x140037bec
addss xmm0, xmm4
comiss xmm0, xmm1
jbe 0x140037bec
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140010250
test al, al
je 0x140037bec
mov qword [0x1401b7db0], 2
jmp 0x140037d02
movss xmm8, dword [0x1401545a0]
cmp rbx, 1
jne 0x140037cf8
cmp byte [r11 + 0x108], r15b
je 0x140037c1b
mov edx, 0x28f
mov rcx, r11
call fcn.1400026a0
cmp byte [rax + 8], r15b
je 0x140037c25
mov rbx, r15
mov qword [0x1401b7db0], rbx
mov dword [rbp - 0x48], 0x3f800000
mov dword [rbp - 0x50], r15d
movaps xmm0, xmm11
addss xmm0, xmm15
movss xmm1, dword [r11 + 0x100]
subss xmm1, xmm0
divss xmm1, xmm8
movss dword [rbp - 0x4c], xmm1
comiss xmm12, xmm1
seta al
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x4c]
test al, al
cmove rdx, rcx
comiss xmm1, xmm7
seta al
lea rcx, [rbp - 0x48]
test al, al
cmove rcx, rdx
movss xmm0, dword [rcx]
comiss xmm12, xmm0
jbe 0x140037c85
movaps xmm10, xmm12
jmp 0x140037c8e
movaps xmm10, xmm7
minss xmm10, xmm0
mov dword [rbp - 0x3c], 0x3f800000
mov dword [rbp - 0x44], r15d
movaps xmm0, xmm13
addss xmm0, xmm15
movss xmm1, dword [r11 + 0x104]
subss xmm1, xmm0
divss xmm1, xmm8
movss dword [rbp - 0x40], xmm1
comiss xmm12, xmm1
seta al
lea rdx, [rbp - 0x44]
lea rcx, [rbp - 0x40]
test al, al
cmove rdx, rcx
comiss xmm1, xmm7
seta al
lea rcx, [rbp - 0x3c]
test al, al
cmove rcx, rdx
movaps xmm0, xmm7
subss xmm0, dword [rcx]
comiss xmm12, xmm0
jbe 0x140037cf1
movaps xmm6, xmm12
jmp 0x140037cf8
movaps xmm6, xmm7
minss xmm6, xmm0
cmp rbx, 2
jne 0x140037d91
cmp byte [r11 + 0x108], r15b
je 0x140037d1e
mov edx, 0x28f
mov rcx, r11
call fcn.1400026a0
cmp byte [rax + 8], r15b
je 0x140037d25
mov qword [0x1401b7db0], r15
mov dword [rbp - 0x30], 0x3f800000
mov dword [rbp - 0x38], r15d
movaps xmm0, xmm11
addss xmm0, xmm15
movss xmm1, dword [r11 + 0x100]
subss xmm1, xmm0
divss xmm1, dword [0x1401545a0]
movss dword [rbp - 0x34], xmm1
comiss xmm12, xmm1
seta al
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x34]
test al, al
cmove rdx, rcx
comiss xmm1, xmm7
seta al
lea rcx, [rbp - 0x30]
test al, al
cmove rcx, rdx
movss xmm0, dword [rcx]
comiss xmm12, xmm0
jbe 0x140037d88
movaps xmm14, xmm12
jmp 0x140037d91
movaps xmm14, xmm7
minss xmm14, xmm0
mov edi, 4
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov eax, dword [rdi + rbx]
cmp dword [0x1401b80c0], eax
jle 0x140037dee
lea rcx, [0x1401b80c0]
call fcn.1400d74bc
cmp dword [0x1401b80c0], 0xffffffff
jne 0x140037dee
movss xmm0, dword [0x1401b7350]
movss dword [0x1401b7e78], xmm0
movss xmm1, dword [0x1401b7354]
movss dword [0x1401b7e7c], xmm1
lea rcx, [0x1401b80c0]
call fcn.1400d7450
mov eax, dword [rdi + rbx]
cmp dword [0x1401b7e74], eax
jle 0x140037e3a
lea rcx, [0x1401b7e74]
call fcn.1400d74bc
cmp dword [0x1401b7e74], 0xffffffff
jne 0x140037e3a
movss xmm0, dword [0x1401b7338]
movss dword [0x1401b7ea0], xmm0
movss xmm1, dword [0x1401b733c]
movss dword [0x1401b7ea4], xmm1
lea rcx, [0x1401b7e74]
call fcn.1400d7450
movss xmm0, dword [0x1401b7350]
movss dword [0x1401b7e78], xmm0
movss xmm1, dword [0x1401b7354]
movss dword [0x1401b7e7c], xmm1
movss xmm0, dword [0x1401b7338]
movss dword [0x1401b7ea0], xmm0
movss xmm1, dword [0x1401b733c]
movss dword [0x1401b7ea4], xmm1
addss xmm13, dword [0x1401545b4]
addss xmm11, xmm15
movss dword [0x1401b7350], xmm11
movss dword [0x1401b7354], xmm13
mov qword [0x1401b7338], 0x42b80000
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov r8d, 4
lea rdx, str.copy
lea rcx, [rsp + 0x60]
call fcn.14004a420
nop
lea rcx, [rsp + 0x60]
call fcn.140032b90
movzx ebx, al
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140037f1b
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037f16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140037f16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d740c
test bl, bl
je 0x140037f42
mov eax, dword [rsi]
mov dword [0x1401b7340], eax
mov eax, dword [rsi + 4]
mov dword [0x1401b7344], eax
mov eax, dword [rsi + 8]
mov dword [0x1401b7348], eax
mov eax, dword [rsi + 0xc]
mov dword [0x1401b734c], eax
movss xmm0, dword [0x1401b7354]
addss xmm0, dword [0x1401545fc]
movss dword [0x1401b7354], xmm0
movss xmm1, dword [0x1401b7338]
subss xmm1, dword [0x140154530]
movss xmm0, dword [0x1401b7350]
addss xmm0, xmm1
movss dword [0x1401b7350], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, 5
lea rdx, str.paste
lea rcx, [rbp - 0x70]
call fcn.14004a420
nop
lea rcx, [rbp - 0x70]
call fcn.140032b90
movzx ebx, al
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140037fee
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037fe9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140037fe9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d740c
movdqa xmm0, xmmword [0x140154650]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
test bl, bl
je 0x140038026
mov eax, dword [0x1401b7340]
mov dword [rsi], eax
mov eax, dword [0x1401b7344]
mov dword [rsi + 4], eax
mov eax, dword [0x1401b7348]
mov dword [rsi + 8], eax
mov eax, dword [0x1401b734c]
mov dword [rsi + 0xc], eax
movss xmm0, dword [0x1401b7e78]
movss dword [0x1401b7350], xmm0
movss xmm1, dword [0x1401b7e7c]
movss dword [0x1401b7354], xmm1
movss xmm0, dword [0x1401b7ea0]
movss dword [0x1401b7338], xmm0
movss xmm1, dword [0x1401b7ea4]
movss dword [0x1401b733c], xmm1
mov rbx, qword [0x1401b7c40]
cmp byte [rbx + 0x108], 0
je 0x1400380ec
mov edx, 0x28f
mov rcx, rbx
call fcn.1400026a0
cmp byte [rax + 8], 0
jne 0x1400380ec
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
movaps xmm2, xmm6
movaps xmm1, xmm10
movaps xmm0, xmm14
call fcn.140003600
movss xmm0, dword [rsp + 0x60]
movss xmm2, dword [0x1401545c8]
mulss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rsi], eax
movss xmm1, dword [rsp + 0x40]
mulss xmm1, xmm2
cvttss2si eax, xmm1
mov dword [rsi + 4], eax
movss xmm0, dword [rsp + 0x50]
mulss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rsi + 8], eax
mov rax, qword [rbx + 0x1de0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006be0
mov qword [0x1401b7da8], rax
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x30]
mov rsi, 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 r12
pop rdi
pop rbp
ret