Function at 0x1400488b0
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 - 0x3d8]
sub rsp, 0x4b0
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
mov rax, qword [0x140060020]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov rsi, rcx
xor r12d, r12d
mov dword [rbp + 0x210], r12d
mov rbx, qword [0x1400876d0]
mov dword [rbp + 0x210], r12d
mov rcx, qword [0x140087708]
mov eax, dword [rcx]
mov dword [rbp + 0x1f0], eax
lea rax, [rsi + 0x10d8]
mov qword [rbp + 0x200], rax
lea rax, [rbp + 0x210]
mov qword [rbp + 0x1f8], rax
mov dword [rbp + 0x208], 4
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x20c], eax
lea r8, [rbp + 0x1f0]
lea edx, [r12 + 1]
call fcn.140043510
mov eax, dword [0x1400875ec]
cmp dword [rbp + 0x210], eax
je 0x14004a8c5
test rbx, rbx
je 0x14004a8c5
mov qword [rbp + 0x1e0], r12
mov rcx, qword [0x140087708]
mov eax, dword [rcx]
mov dword [rbp + 0x1c0], eax
lea rax, [rsi + 0x308]
mov qword [rbp + 0x1d0], rax
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x1d8], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x1dc], eax
lea r8, [rbp + 0x1c0]
lea edx, [r12 + 1]
call fcn.140043510
mov rdx, qword [rbp + 0x1e0]
test rdx, rdx
je 0x14004a8c5
cmp rdx, rbx
je 0x14004a8c5
mov qword [rbp + 0x218], r12
mov rcx, qword [0x140087708]
mov eax, dword [rcx]
mov dword [rbp + 0x1f0], eax
lea rax, [rdx + 0x318]
mov qword [rbp + 0x200], rax
lea rax, [rbp + 0x218]
mov qword [rbp + 0x1f8], rax
mov dword [rbp + 0x208], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x20c], eax
lea r8, [rbp + 0x1f0]
lea edx, [r12 + 1]
call fcn.140043510
mov r15, qword [rbp + 0x218]
test r15, r15
je 0x14004a8c5
lea rcx, [r15 + 0x648]
call fcn.14004cf90
shl eax, 4
movsxd rcx, eax
add rcx, 0x600
add rcx, r15
call fcn.14004cf10
mov qword [0x1400876c0], rax
lea rdx, [rax + 0x28e0]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x60], xmm1
xorps xmm13, xmm13
movsd qword [rbp - 0x50], xmm13
xor eax, eax
mov dword [rbp - 0x48], eax
movups xmmword [rbp - 0x40], xmm0
movsd qword [rbp - 0x30], xmm13
mov dword [rbp - 0x28], eax
mov rcx, qword [0x140087708]
mov eax, dword [rcx]
mov dword [rbp + 0x1f0], eax
mov qword [rbp + 0x200], rdx
lea rax, [rbp - 0x80]
mov qword [rbp + 0x1f8], rax
mov dword [rbp + 0x208], 0x60
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x20c], eax
lea r8, [rbp + 0x1f0]
lea edx, [r12 + 1]
call fcn.140043510
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rbp + 0x290], xmm0
movups xmm1, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x2a0], xmm1
movups xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x2b0], xmm0
movups xmm1, xmmword [rbp - 0x50]
movaps xmmword [rbp + 0x2c0], xmm1
movups xmm0, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0x2d0], xmm0
movups xmm1, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x2e0], xmm1
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movups xmmword [rbp], xmm1
movsd qword [rbp + 0x10], xmm13
xor eax, eax
mov dword [rbp + 0x18], eax
movups xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x30], xmm13
mov dword [rbp + 0x38], eax
mov rcx, qword [0x140087708]
mov eax, dword [rcx]
mov dword [rbp + 0x1c0], eax
lea rbx, [r15 + 0x240]
mov qword [rbp + 0x1d0], rbx
lea rax, [rbp - 0x20]
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x1d8], 0x60
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x1dc], eax
lea r8, [rbp + 0x1c0]
lea edx, [r12 + 1]
call fcn.140043510
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0x70], xmm1
movups xmm0, xmmword [rbp]
movaps xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x90], xmm1
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0xb0], xmm1
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x60]
call fcn.140043870
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x290]
call fcn.140043870
movaps xmmword [rbp - 0x80], xmm6
movaps xmmword [rbp - 0x70], xmm7
movaps xmmword [rbp - 0x60], xmm8
movaps xmmword [rbp - 0x50], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x10], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x100]
call fcn.140043a90
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x30]
xorps xmm12, xmm12
cvtss2sd xmm12, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
xorps xmm10, xmm10
cvtss2sd xmm10, xmm0
shufps xmm1, xmm1, 0xaa
xorps xmm11, xmm11
cvtss2sd xmm11, xmm1
lea rcx, [r15 + 0x648]
call fcn.14004cf90
shl eax, 4
movsxd rcx, eax
add rcx, 0x600
add rcx, r15
call fcn.14004cf10
mov rdx, rax
mov qword [0x1400876c0], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x60], xmm1
movsd qword [rbp - 0x50], xmm13
xor eax, eax
mov dword [rbp - 0x48], eax
movups xmmword [rbp - 0x40], xmm0
movsd qword [rbp - 0x30], xmm13
mov dword [rbp - 0x28], eax
mov rcx, qword [0x140087708]
mov eax, dword [rcx]
mov dword [rbp + 0x1f0], eax
mov qword [rbp + 0x200], rdx
lea rax, [rbp - 0x80]
mov qword [rbp + 0x1f8], rax
mov dword [rbp + 0x208], 0x60
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x20c], eax
lea r8, [rbp + 0x1f0]
lea edx, [r12 + 1]
call fcn.140043510
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x70], xmm1
movups xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rbp - 0x50]
movaps xmmword [rbp + 0x90], xmm1
movups xmm0, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0xb0], xmm1
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movups xmmword [rbp], xmm1
movsd qword [rbp + 0x10], xmm13
xor eax, eax
mov dword [rbp + 0x18], eax
movups xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x30], xmm13
mov dword [rbp + 0x38], eax
mov rcx, qword [0x140087708]
mov eax, dword [rcx]
mov dword [rbp + 0x1c0], eax
mov qword [rbp + 0x1d0], rbx
lea rax, [rbp - 0x20]
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x1d8], 0x60
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x1dc], eax
lea r8, [rbp + 0x1c0]
lea edx, [r12 + 1]
call fcn.140043510
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x290], xmm0
movups xmm1, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0x2a0], xmm1
movups xmm0, xmmword [rbp]
movaps xmmword [rbp + 0x2b0], xmm0
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x2c0], xmm1
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x2d0], xmm0
movups xmm1, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0x2e0], xmm1
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x290]
call fcn.140043870
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x60]
call fcn.140043870
movaps xmmword [rbp - 0x80], xmm6
movaps xmmword [rbp - 0x70], xmm7
movaps xmmword [rbp - 0x60], xmm8
movaps xmmword [rbp - 0x50], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x10], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x100]
call fcn.140043a90
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x30]
xorps xmm9, xmm9
cvtss2sd xmm9, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
shufps xmm1, xmm1, 0xaa
xorps xmm8, xmm8
cvtss2sd xmm8, xmm1
movaps xmm6, xmm11
addsd xmm6, qword [0x140057128]
movsd qword [rbp + 0x250], xmm12
movsd qword [rbp + 0x258], xmm10
movsd qword [rbp + 0x260], xmm6
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x270]
call fcn.140044180
movsd qword [rbp + 0x250], xmm12
movsd qword [rbp + 0x258], xmm10
movsd qword [rbp + 0x260], xmm6
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x1e0]
call fcn.140044180
movaps xmm0, xmm12
unpcklpd xmm0, xmm10
movaps xmmword [rsp + 0x60], xmm0
movsd qword [rbp + 0x260], xmm11
movsd qword [rsp + 0x70], xmm11
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x250]
call fcn.140044180
movaps xmm0, xmm9
unpcklpd xmm0, xmm7
movaps xmmword [rbp + 0x1c0], xmm0
movsd qword [rsp + 0x70], xmm8
movsd qword [rbp + 0x1d0], xmm8
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x218]
call fcn.140044180
movsd xmm12, qword [rbp + 0x258]
movaps xmm0, xmm12
movsd xmm14, qword [rbp + 0x220]
subsd xmm0, xmm14
andps xmm0, xmmword [0x1400573f0]
cvtpd2ps xmm13, xmm0
movaps xmm10, xmm13
mulss xmm10, dword [0x14005708c]
subsd xmm7, qword [0x140087808]
movsd xmm6, qword [0x140057108]
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
subsd xmm9, qword [0x140087800]
movaps xmm1, xmm6
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
subsd xmm8, qword [0x140087810]
movaps xmm1, xmm6
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x140049064
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x14004906c
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
divsd xmm0, qword [0x140057158]
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
movss dword [rbp + 0x210], xmm7
movss xmm0, dword [0x14006006c]
comiss xmm0, xmm7
jbe 0x14004a8c5
cmp byte [0x1400875e5], r12b
je 0x14004a846
mov rcx, r15
call fcn.1400448b0
lea rcx, [rsp + 0x60]
test al, al
mov rax, qword [0x1400875a8]
je 0x1400490d3
movss xmm0, dword [0x1400875d8]
movss xmm1, dword [0x1400875dc]
movss xmm2, dword [0x1400875e0]
jmp 0x1400490eb
movss xmm0, dword [0x140087640]
movss xmm1, dword [0x140087644]
movss xmm2, dword [0x140087648]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [rax + 0x37c8]
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x68], xmm2
movss dword [rsp + 0x6c], xmm0
call fcn.140003470
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 [0x14005704c]
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 [0x140087820], xmm4
movups xmmword [rsp + 0x60], xmm4
mov rcx, r15
call fcn.1400448b0
mov rcx, r15
call fcn.1400448b0
movsd xmm9, qword [rbp + 0x1e8]
movsd xmm11, qword [rbp + 0x1e0]
cmp byte [0x1400875e7], r12b
je 0x14004926e
mov eax, dword [0x140087798]
test eax, eax
jne 0x140049215
cvttss2si ebx, xmm13
cvttss2si edi, xmm10
mulss xmm10, dword [0x140057094]
cvtps2pd xmm6, xmm10
mov rcx, r15
call fcn.1400448b0
movups xmm0, xmmword [0x140087820]
cvttsd2si edx, xmm9
movaps xmm1, xmm11
mov r9d, ebx
mov r8d, edi
movdqa xmmword [rsp + 0x60], xmm0
subsd xmm1, xmm6
cvttsd2si ecx, xmm1
test al, al
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.140044d50
jmp 0x14004926e
cmp eax, 1
jne 0x14004926e
cvttss2si ebx, xmm13
cvttss2si edi, xmm10
mulss xmm10, dword [0x140057094]
cvtps2pd xmm6, xmm10
mov rcx, r15
call fcn.1400448b0
movups xmm0, xmmword [0x140087820]
cvttsd2si edx, xmm9
movaps xmm1, xmm11
mov r9d, ebx
mov r8d, edi
movdqa xmmword [rsp + 0x60], xmm0
subsd xmm1, xmm6
cvttsd2si ecx, xmm1
test al, al
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.1400449a0
movsd xmm10, qword [rbp + 0x218]
cmp byte [0x1400875e4], r12b
je 0x14004933c
mov rcx, r15
call fcn.1400448b0
lea r8, str.Foreground
mov edx, 1
test al, al
mov rax, qword [0x1400875a8]
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
je 0x1400492b6
movaps xmm0, xmmword [0x1400573b0]
jmp 0x1400492bd
movaps xmm0, xmmword [0x1400573a0]
movdqa xmmword [rsp + 0x60], xmm0
call fcn.1400071b0
mov r10, rax
lea rcx, [rsp + 0x60]
call fcn.140003470
cvtpd2ps xmm0, xmm10
cvtpd2ps xmm1, xmm14
movss dword [rbp + 0x1e0], xmm0
movss dword [rbp + 0x1e4], xmm1
movd xmm0, dword [0x1400876f8]
movd xmm2, dword [0x140087704]
movss xmm1, dword [0x14005706c]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x20], xmm1
movss dword [rbp + 0x218], xmm0
movss dword [rbp + 0x21c], xmm2
mov r9d, eax
lea r8, [rbp + 0x1e0]
lea rdx, [rbp + 0x218]
mov rcx, r10
call fcn.140026e00
movss xmm13, dword [0x140057224]
cmp byte [0x1400875e6], r12b
je 0x1400494db
mov rdx, rsi
lea rcx, [rbp + 0x1f0]
call fcn.1400469f0
mov rbx, rax
lea rdi, [0x140086c30]
cmp rdi, rax
je 0x1400493e8
mov rdx, qword [0x140086c48]
cmp rdx, 0x10
jb 0x1400493ad
mov rcx, qword [0x140086c30]
inc rdx
cmp rdx, 0x1000
jb 0x1400493a8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140049420
mov rcx, r8
call fcn.14004e3fc
movdqa xmm0, xmmword [0x1400572a0]
movdqu xmmword [0x140086c40], xmm0
mov byte [0x140086c30], r12b
movups xmm0, xmmword [rbx]
movups xmmword [0x140086c30], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x140086c40], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r12b
mov rdx, qword [rbp + 0x208]
cmp rdx, 0x10
jb 0x14004942c
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049427
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140049427
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004e3fc
movsd xmm0, qword [rbp + 0x278]
subsd xmm0, qword [0x140057120]
cvtpd2ps xmm8, xmm0
movsd xmm7, qword [rbp + 0x270]
cvtpd2ps xmm7, xmm7
movaps xmm6, xmmword [0x1400573c0]
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.14004c930
movdqa xmmword [rbp + 0x270], xmm6
mov r8, rax
lea rdx, [rbp + 0x270]
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq rcx, xmm0
call fcn.1400460f0
cmp qword [0x140086c48], 0x10
cmovae rdi, qword [0x140086c30]
mov rax, qword [0x1400875a8]
test rdi, rdi
je 0x1400494d3
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm13
movss xmm3, dword [0x140057204]
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [rax + 0x3c08]
call fcn.14002b7f0
movss xmm7, dword [rbp + 0x210]
cmp byte [0x1400875b4], r12b
je 0x14004a42f
mov qword [rbp + 0x1e0], r12
mov rcx, qword [0x140087708]
mov eax, dword [rcx]
mov dword [rbp + 0x1c0], eax
lea rax, [rsi + 0x438]
mov qword [rbp + 0x1d0], rax
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x1d8], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x1dc], eax
lea r8, [rbp + 0x1c0]
mov edx, 1
call fcn.140043510
mov r9d, 0x80
lea r8, [rbp + 0x290]
mov rdx, qword [rbp + 0x1e0]
lea rcx, [rbp + 0x1c0]
call fcn.1400436c0
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x14004959f
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004959a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004a40b
call fcn.14004e3fc
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x1f0]
call fcn.14004c660
nop
lea rdx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 8
cmovae rdx, qword [rbp + 0x1f0]
mov rax, qword [rbp + 0x200]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x1f0]
cmovae rdx, qword [rbp + 0x1f0]
lea rcx, [rbp + 0x228]
call fcn.14004d000
nop
lea rdx, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae rdx, qword [rbp + 0x228]
mov rax, qword [0x1400875a8]
test rdx, rdx
je 0x140049648
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdx
movss dword [rsp + 0x20], xmm13
movss xmm3, dword [0x140057204]
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [rax + 0x3c08]
call fcn.14002b7f0
mov dword [rsp + 0x48], 0xd3dcc5
mov byte [rsp + 0x4c], 1
mov rcx, r12
nop dword [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 3
jb 0x140049660
mov byte [rsp + 0x4c], 0
lea r8, [rsp + 0x4b]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x270]
call fcn.14004d140
nop
mov edi, 0x301
mov dword [rbp + 0x210], edi
lea r14, [rbp + 0x270]
cmp qword [rbp + 0x288], 0x10
cmovae r14, qword [rbp + 0x270]
lea r12, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae r12, qword [rbp + 0x228]
mov rsi, qword [rbp + 0x280]
mov rax, qword [rbp + 0x238]
cmp rsi, rax
ja 0x140049744
sub rax, rsi
test rsi, rsi
je 0x14004989f
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 0x140049744
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 0x140049892
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 0x140049710
mov dword [rsp + 0x40], 0xc7cdc5
mov byte [rsp + 0x44], 1
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x140049760
mov byte [rsp + 0x44], 0
lea r8, [rsp + 0x43]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1c0]
call fcn.14004d140
mov edi, 0x3303
lea r14, [rbp + 0x1c0]
mov r12, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1d8]
cmp rcx, 0x10
cmovae r14, r12
lea r13, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae r13, qword [rbp + 0x228]
mov rsi, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x238]
cmp rsi, rax
ja 0x140049854
sub rax, rsi
mov qword [rbp + 0x1e0], rax
test rsi, rsi
je 0x1400498c1
lea r8, [rax + 1]
add r8, r13
movsx edx, byte [r14]
sub r8, r13
mov rcx, r13
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004984d
nop dword [rax + rax]
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400498b1
inc rbx
mov r8, qword [rbp + 0x1e0]
inc r8
add r8, r13
sub r8, rbx
movsx edx, byte [r14]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140049810
mov rcx, qword [rbp + 0x1d8]
xor bl, bl
test dil, 2
je 0x1400498ce
and edi, 0xfffffffd
cmp rcx, 0x10
jb 0x1400498ce
lea rdx, [rcx + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1400498c5
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400498c5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r12
cmp rbx, 0xffffffffffffffff
je 0x140049744
mov r12, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1d8]
mov bl, 1
jmp 0x140049856
sub rbx, r13
cmp rbx, 0xffffffffffffffff
je 0x14004984d
mov rcx, qword [rbp + 0x1d8]
mov bl, 1
jmp 0x140049856
mov rcx, r12
call fcn.14004e3fc
nop
test dil, 1
je 0x140049923
and edi, 0xfffffffe
mov rax, qword [rbp + 0x288]
cmp rax, 0x10
jb 0x140049923
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x270]
mov r8, rcx
cmp rdx, 0x1000
jb 0x14004991e
add rdx, 0x27
mov rax, qword [rcx - 8]
mov qword [rbp + 0x1e0], rax
sub r8, rax
lea rax, [r8 - 8]
cmp rax, 0x1f
ja 0x140049980
mov rcx, qword [rbp + 0x1e0]
call fcn.14004e3fc
test bl, bl
je 0x140049987
mov dword [rbp + 0x1e0], 0xf8d0dcc5
mov word [rbp + 0x1e4], 0x100
xor r12d, r12d
mov ecx, r12d
lea eax, [rcx - 0x63]
xor byte [rbp + rcx + 0x1e0], al
inc rcx
cmp rcx, 4
jb 0x140049940
mov byte [rbp + 0x1e5], r12b
lea r8, [rbp + 0x1e4]
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0xc0]
call fcn.14004d140
lea r8, [rbp + 0xc0]
jmp 0x14004a1a2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov dword [rsp + 0x40], 0xd1cdcd
mov byte [rsp + 0x44], 1
xor ecx, ecx
nop word [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x1400499a0
mov byte [rsp + 0x44], 0
lea r8, [rsp + 0x43]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x270]
call fcn.14004d140
or edi, 0xc000
or edi, 4
mov dword [rbp + 0x210], edi
lea r14, [rbp + 0x270]
cmp qword [rbp + 0x288], 0x10
cmovae r14, qword [rbp + 0x270]
lea r12, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae r12, qword [rbp + 0x228]
mov rsi, qword [rbp + 0x280]
mov rax, qword [rbp + 0x238]
cmp rsi, rax
ja 0x140049a84
sub rax, rsi
test rsi, rsi
je 0x140049bdf
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 0x140049a84
nop word [rax + rax]
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140049bd2
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 0x140049a50
mov dword [rsp + 0x48], 0xaacdcd
mov byte [rsp + 0x4c], 1
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 3
jb 0x140049aa0
mov byte [rsp + 0x4c], 0
lea r8, [rsp + 0x4b]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x1c0]
call fcn.14004d140
or edi, 0x300008
lea r14, [rbp + 0x1c0]
mov r12, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1d8]
cmp rcx, 0x10
cmovae r14, r12
lea r13, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae r13, qword [rbp + 0x228]
mov rsi, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x238]
cmp rsi, rax
ja 0x140049b94
sub rax, rsi
mov qword [rbp + 0x1e0], rax
test rsi, rsi
je 0x140049c01
lea r8, [rax + 1]
add r8, r13
movsx edx, byte [r14]
sub r8, r13
mov rcx, r13
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140049b8d
nop dword [rax]
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140049bf1
inc rbx
mov r8, qword [rbp + 0x1e0]
inc r8
add r8, r13
sub r8, rbx
movsx edx, byte [r14]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140049b50
mov rcx, qword [rbp + 0x1d8]
xor bl, bl
test dil, 8
je 0x140049c0e
and edi, 0xfffffff7
cmp rcx, 0x10
jb 0x140049c0e
lea rdx, [rcx + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140049c05
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
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
sub rbx, r12
cmp rbx, 0xffffffffffffffff
je 0x140049a84
mov r12, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1d8]
mov bl, 1
jmp 0x140049b96
sub rbx, r13
cmp rbx, 0xffffffffffffffff
je 0x140049b8d
mov rcx, qword [rbp + 0x1d8]
mov bl, 1
jmp 0x140049b96
mov rcx, r12
call fcn.14004e3fc
nop
test dil, 4
je 0x140049c60
mov rax, qword [rbp + 0x288]
cmp rax, 0x10
jb 0x140049c60
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x270]
mov r8, rcx
cmp rdx, 0x1000
jb 0x140049c5b
add rdx, 0x27
mov rax, qword [rcx - 8]
mov qword [rbp + 0x1e0], rax
sub r8, rax
lea rax, [r8 - 8]
cmp rax, 0x1f
ja 0x140049cb7
mov rcx, qword [rbp + 0x1e0]
call fcn.14004e3fc
mov byte [rsp + 0x44], 1
xor r12d, r12d
mov ecx, r12d
test bl, bl
je 0x140049cbe
mov dword [rsp + 0x40], 0xd1cdcd
nop word [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x140049c80
mov byte [rsp + 0x44], r12b
lea r8, [rsp + 0x43]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xe0]
call fcn.14004d140
lea r8, [rbp + 0xe0]
jmp 0x14004a1a2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov dword [rsp + 0x40], 0xd1d7ca
nop word [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x140049cd0
mov byte [rsp + 0x44], r12b
lea r8, [rsp + 0x43]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1c0]
call fcn.14004d140
lea rsi, [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0x10
cmovae rsi, rcx
lea r14, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae r14, qword [rbp + 0x228]
mov rdi, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x238]
cmp rdi, rax
ja 0x140049daa
sub rax, rdi
test rdi, rdi
jne 0x140049d4c
mov rbx, r12
jmp 0x140049db1
lea r12, [r14 + rax]
movsx r13d, byte [rsi]
lea r8, [r12 + 1]
sub r8, r14
mov edx, r13d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140049da0
nop
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140049dea
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 0x140049d70
mov rcx, qword [rbp + 0x1c0]
xor r12d, r12d
mov rbx, 0xffffffffffffffff
mov rax, qword [rbp + 0x1d8]
cmp rax, 0x10
jb 0x140049dfe
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049df9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140049df9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r14
mov rcx, qword [rbp + 0x1c0]
xor r12d, r12d
jmp 0x140049db1
call fcn.14004e3fc
mov rcx, r12
cmp rbx, 0xffffffffffffffff
je 0x140049e57
mov dword [rsp + 0x48], 0xd1d7ca
mov byte [rsp + 0x4c], 1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 3
jb 0x140049e20
mov byte [rsp + 0x4c], 0
lea r8, [rsp + 0x4b]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x100]
call fcn.14004d140
lea r8, [rbp + 0x100]
jmp 0x14004a1a2
mov dword [rsp + 0x40], 0xcbc9ce
mov byte [rsp + 0x44], 1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x140049e70
mov byte [rsp + 0x44], 0
lea r8, [rsp + 0x43]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1c0]
call fcn.14004d140
lea rsi, [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0x10
cmovae rsi, rcx
lea r14, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae r14, qword [rbp + 0x228]
mov rdi, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x238]
cmp rdi, rax
ja 0x140049f4a
sub rax, rdi
test rdi, rdi
jne 0x140049eec
mov rbx, r12
jmp 0x140049f51
lea r12, [rax + r14]
movsx r13d, byte [rsi]
lea r8, [r12 + 1]
sub r8, r14
mov edx, r13d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140049f40
nop
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140049f8a
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 0x140049f10
mov rcx, qword [rbp + 0x1c0]
xor r12d, r12d
mov rbx, 0xffffffffffffffff
mov rax, qword [rbp + 0x1d8]
cmp rax, 0x10
jb 0x140049f9e
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049f99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140049f99
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r14
mov rcx, qword [rbp + 0x1c0]
xor r12d, r12d
jmp 0x140049f51
call fcn.14004e3fc
mov byte [rbp + 0x21c], 1
mov rcx, r12
cmp rbx, 0xffffffffffffffff
je 0x14004a000
mov dword [rbp + 0x218], 0xcbc9ce
nop dword [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rbp + rcx + 0x218], al
inc rcx
cmp rcx, 3
jb 0x140049fc0
mov byte [rbp + 0x21c], 0
lea r8, [rbp + 0x21b]
lea rdx, [rbp + 0x218]
lea rcx, [rbp + 0x140]
call fcn.14004d140
lea r8, [rbp + 0x140]
jmp 0x14004a1a2
mov dword [rbp + 0x218], 0xdbd0dc
nop word [rax + rax]
lea eax, [rcx - 0x63]
xor byte [rbp + rcx + 0x218], al
inc rcx
cmp rcx, 3
jb 0x14004a010
mov byte [rbp + 0x21c], 0
lea r8, [rbp + 0x21b]
lea rdx, [rbp + 0x218]
lea rcx, [rbp + 0x1c0]
call fcn.14004d140
lea rsi, [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0x10
cmovae rsi, rcx
lea r14, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae r14, qword [rbp + 0x228]
mov rdi, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x238]
cmp rdi, rax
ja 0x14004a0fa
sub rax, rdi
test rdi, rdi
jne 0x14004a095
mov rbx, r12
jmp 0x14004a101
lea r12, [r14 + rax]
movsx r13d, byte [rsi]
lea r8, [r12 + 1]
sub r8, r14
mov edx, r13d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a0f0
nop dword [rax + rax]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a13a
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 0x14004a0c0
mov rcx, qword [rbp + 0x1c0]
xor r12d, r12d
mov rbx, 0xffffffffffffffff
mov rax, qword [rbp + 0x1d8]
cmp rax, 0x10
jb 0x14004a14e
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a149
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a149
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r14
mov rcx, qword [rbp + 0x1c0]
xor r12d, r12d
jmp 0x14004a101
call fcn.14004e3fc
cmp rbx, 0xffffffffffffffff
je 0x14004a1e3
mov dword [rsp + 0x60], 0xd2fbf0dc
mov dword [rsp + 0x64], 0xc7cbce
mov byte [rsp + 0x68], 1
mov rcx, r12
lea eax, [rcx - 0x63]
xor byte [rsp + rcx + 0x60], al
inc rcx
cmp rcx, 7
jb 0x14004a170
mov byte [rsp + 0x68], 0
lea r8, [rsp + 0x67]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x180]
call fcn.14004d140
lea r8, [rbp + 0x180]
xorps xmm1, xmm1
subsd xmm9, qword [0x140057138]
xorps xmm0, xmm0
movaps xmm2, xmmword [0x1400573c0]
cvtsd2ss xmm1, xmm9
cvtsd2ss xmm0, xmm11
movdqa xmmword [rbp + 0x270], xmm2
lea rdx, [rbp + 0x270]
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.1400460f0
jmp 0x14004a371
xor eax, eax
mov word [rsp + 0x50], ax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x1c0]
call fcn.14004d140
lea rsi, [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0x10
cmovae rsi, rcx
lea r14, [rbp + 0x228]
cmp qword [rbp + 0x240], 0x10
cmovae r14, qword [rbp + 0x228]
mov rdi, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x238]
cmp rdi, rax
ja 0x14004a2b7
sub rax, rdi
test rdi, rdi
jne 0x14004a251
mov rbx, r12
jmp 0x14004a2be
lea r12, [r14 + rax]
movsx r13d, byte [rsi]
lea r8, [r12 + 1]
sub r8, r14
mov edx, r13d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14004a2b0
nop dword [rax]
nop dword [rax + rax]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004a2f7
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 0x14004a280
mov rcx, qword [rbp + 0x1c0]
mov rbx, 0xffffffffffffffff
mov rax, qword [rbp + 0x1d8]
cmp rax, 0x10
jb 0x14004a308
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a303
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a303
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, r14
mov rcx, qword [rbp + 0x1c0]
jmp 0x14004a2be
call fcn.14004e3fc
cmp rbx, 0xffffffffffffffff
je 0x14004a36e
xor eax, eax
mov word [rbp + 0x210], ax
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x210]
lea rcx, [rbp - 0x20]
call fcn.14004d140
movaps xmm2, xmmword [0x1400573c0]
subsd xmm9, qword [0x140057138]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm9
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm11
movdqa xmmword [rbp + 0x270], xmm2
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x270]
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.1400460f0
xor r12d, r12d
mov rdx, qword [rbp + 0x240]
cmp rdx, 0x10
jb 0x14004a3b5
inc rdx
mov rcx, qword [rbp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a3b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a3b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004e3fc
mov qword [rbp + 0x238], r12
mov qword [rbp + 0x240], 0xf
mov byte [rbp + 0x228], 0
mov rdx, qword [rbp + 0x208]
cmp rdx, 8
jb 0x14004a417
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a412
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a412
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004e3fc
movdqa xmm0, xmmword [0x140057290]
movdqu xmmword [rbp + 0x200], xmm0
mov word [rbp + 0x1f0], r12w
xorps xmm6, xmm6
cmp byte [0x1400875b5], 0
je 0x14004a7ca
mov rcx, qword [0x1400876f0]
call fcn.14000f990
cvttss2si r8d, xmm7
lea r9, [rbp + 0x285]
test r8d, r8d
jns 0x14004a4a0
neg r8d
nop
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 0x14004a460
dec r9
mov byte [r9], 0x2d
jmp 0x14004a4ca
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 0x14004a4a0
lea r8, [rbp + 0x285]
mov rdx, r9
lea rcx, [rbp + 0x40]
call fcn.14004d140
nop
lea rbx, [rbp + 0x40]
cmp qword [rbp + 0x58], 0x10
cmovae rbx, qword [rbp + 0x40]
lea rsi, [0x14005083c]
mov r8, qword [rbp + 0x50]
cmp rsi, rbx
jbe 0x14004a512
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x14004a512
cmp rbx, rsi
jbe 0x14004a512
mov rdi, rbx
sub rdi, rsi
jmp 0x14004a515
mov rdi, r12
inc r8
mov rdx, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rdi]
mov r8, rdi
neg r8
lea rdx, [rdi + rsi]
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbp + 0x50]
movdqu xmmword [rsp + 0x70], xmm1
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
movq rcx, xmm1
psrldq xmm1, 8
movq rdx, xmm1
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14004a5a7
lea rax, [rcx + 1]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x60]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x60]
mov word [rax + rcx], 0x6d
lea rax, [rsp + 0x60]
jmp 0x14004a5bf
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.14004d780
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1d0], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1d0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14004a638
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a633
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a633
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004e3fc
movdqa xmm0, xmmword [0x1400572a0]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x14004a689
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a684
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a684
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004e3fc
movdqa xmm0, xmmword [0x1400572a0]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
lea rcx, [rbp + 0x1c0]
mov rdx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1d8]
cmp r8, 0x10
cmovae rcx, rdx
mov rax, qword [0x1400875a8]
test rcx, rcx
jne 0x14004a6c8
movaps xmm0, xmm6
jmp 0x14004a725
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm13
movss xmm3, dword [0x140057204]
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [rax + 0x3c08]
call fcn.14002b7f0
movss xmm0, dword [rbp + 0x1e0]
addss xmm0, dword [0x1400570c8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov r8, qword [rbp + 0x1d8]
mov rdx, qword [rbp + 0x1c0]
subsd xmm14, qword [0x1400570f8]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm14
divss xmm0, dword [0x140057144]
cvtss2sd xmm0, xmm0
subsd xmm10, xmm0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm10
lea rcx, [rbp + 0x1c0]
cmp r8, 0x10
cmovae rcx, rdx
movaps xmm0, xmmword [0x1400573d0]
movaps xmmword [rbp + 0x270], xmm0
lea r8, [rbp + 0x270]
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.140045c60
call fcn.14000fa30
nop
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x14004a7ca
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a7c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004a7c5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004e3fc
cmp byte [0x1400875b6], 0
je 0x14004a846
mov rcx, r15
call fcn.1400448b0
lea rbx, [rbp + 0x270]
test al, al
je 0x14004a7ef
movaps xmm0, xmmword [0x1400573b0]
jmp 0x14004a7f6
movaps xmm0, xmmword [0x1400573a0]
movups xmmword [rbp + 0x270], xmm0
mov rax, qword [0x1400875a8]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.1400071b0
movups xmm0, xmmword [rbx]
movaps xmmword [rbp + 0x270], xmm0
movss dword [rsp + 0x20], xmm6
movss xmm3, dword [0x140057118]
lea r8, [rbp + 0x270]
mov rdx, rax
mov rcx, r15
call fcn.1400450f0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x1400876f8]
movsd xmm2, qword [rbp + 0x250]
subsd xmm2, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [0x140087700]
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 0x14004a894
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14004a89c
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x140060068]
comiss xmm1, xmm0
jb 0x14004a8c5
movss xmm1, dword [0x1400875e8]
comiss xmm1, xmm0
jbe 0x14004a8c5
movss dword [0x1400875e8], xmm0
mov qword [0x1400876d8], r15
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.14004e190
lea r11, [rsp + 0x4b0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret