Function at 0x1400404b0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
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
mov rax, qword [0x140084010]
xor rax, rsp
mov qword [rbp - 0x39], rax
movzx r14d, r9b
movaps xmm9, xmm2
movaps xmm10, xmm1
movaps xmm11, xmm0
xorps xmm3, xmm3
movups xmmword [rbp - 0x51], xmm3
lea r12, [rbp + 0x5f]
movabs r13, 0xff00ff00ff00ff00
mov qword [rbp - 0x49], r13
mov qword [rbp - 0x41], r12
mov rsi, qword [r12]
xor rsi, r13
mov qword [rbp - 0x51], rsi
xor r15d, r15d
mov qword [r12], r15
mov rax, qword [0x140085020]
mov qword [rax + 0x47c8], r15
mov qword [rax + 0x47d0], r15
mov dword [rax + 0x47bc], 2
or dword [rax + 0x47b8], 3
movsd xmm0, qword [rax + 0x10]
movsd qword [rax + 0x47d8], xmm0
mov dword [rax + 0x47c0], 2
mov rax, qword [0x140077ad8]
mov qword [rbp - 0x59], rax
cmp byte [0x140077adf], r15b
je 0x1400406d9
mov r8d, r15d
cmp dword [0x140084018], 2
jl 0x1400406a8
movdqa xmm4, xmmword [0x140078df0]
mov eax, 4
movd xmm6, eax
mov eax, 0x1f
movd xmm5, eax
movdqa xmm2, xmmword [0x1400786b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140078700]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1400787c0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
movd xmm0, dword [rbp - 0x59]
pxor xmm2, xmm0
movd dword [rbp - 0x59], xmm2
movdqa xmm3, xmmword [0x1400786d0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140078700]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1400787c0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
movd xmm0, dword [rbp - 0x55]
pxor xmm2, xmm0
movd dword [rbp - 0x55], xmm2
jmp 0x1400406d9
lea r9, [rbp - 0x59]
nop dword [rax]
mov eax, 0x5397829d
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x39
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x1400406b0
xor edx, edx
mov r8d, 0x209f
lea rcx, [rbp - 0x59]
call fcn.14000ce90
mov rdi, qword [0x140085020]
mov rax, qword [rdi + 0x3ed8]
mov byte [rax + 0xb8], 1
mov rax, qword [rdi + 0x3ed8]
mov rbx, qword [rax + 0x298]
movss xmm0, dword [rdi + 0x37c8]
lea rcx, [rbp - 0x69]
test r14b, r14b
je 0x140040b06
mov dword [rbp - 0x69], 0x3e051eb8
mov dword [rbp - 0x65], 0x3e051eb8
mov dword [rbp - 0x61], 0x3e051eb8
mulss xmm0, dword [0x1400783d8]
movss dword [rbp - 0x5d], xmm0
call fcn.1400036c0
movaps xmm6, xmm9
addss xmm6, xmm11
movss dword [rbp - 0x59], xmm6
addss xmm9, xmm10
movss dword [rbp - 0x55], xmm9
movss dword [rbp - 0x69], xmm11
movss dword [rbp - 0x65], xmm10
mov dword [rsp + 0x28], r15d
xorps xmm7, xmm7
movss dword [rsp + 0x20], xmm7
mov r9d, eax
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140025b70
mov rax, qword [0x140085020]
mov qword [rbp - 0x69], 0
mov dword [rbp - 0x61], 0
movss xmm0, dword [rax + 0x37c8]
movss dword [rbp - 0x5d], xmm0
lea rcx, [rbp - 0x69]
call fcn.1400036c0
movss dword [rbp - 0x69], xmm6
movss dword [rbp - 0x65], xmm9
movss dword [rbp - 0x59], xmm11
movss dword [rbp - 0x55], xmm10
movss xmm6, dword [0x140078414]
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x20], xmm7
mov r9d, eax
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x59]
mov rcx, rbx
call fcn.140025a70
mov rax, qword [0x140085020]
mov rax, qword [rax + 0x48c8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140006c70
mov r10, rax
mov rcx, qword [0x140085020]
mov dword [rbp - 0x69], 0x40233333
mov dword [rbp - 0x65], 0x3f800000
mov dword [rbp - 0x61], 0x3f800000
movss xmm0, dword [rcx + 0x37c8]
movss dword [rbp - 0x5d], xmm0
lea rcx, [rbp - 0x69]
call fcn.1400036c0
mov r9d, eax
mov dword [rbp - 0x69], 0x42c8fcee
mov dword [rbp - 0x65], 0x429bae98
mov rcx, qword [0x140086040]
mov rdx, qword [rcx + 8]
mov rax, qword [rdx + 0x10]
mov eax, dword [rax + 4]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, dword [0x14007852c]
addss xmm1, dword [0x140078540]
movss dword [rbp - 0x59], xmm1
movss dword [rbp - 0x55], xmm0
movss dword [rsp + 0x20], xmm6
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x59]
mov rcx, r10
call fcn.140025910
mov rax, qword [0x140085020]
mov rax, qword [rax + 0x48c8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140006c70
mov r10, rax
mov rcx, qword [0x140085020]
mov dword [rbp - 0x69], 0x40233333
mov dword [rbp - 0x65], 0x3f800000
mov dword [rbp - 0x61], 0x3f800000
movss xmm0, dword [rcx + 0x37c8]
movss dword [rbp - 0x5d], xmm0
lea rcx, [rbp - 0x69]
call fcn.1400036c0
mov r9d, eax
mov rcx, qword [0x140086040]
mov rdx, qword [rcx + 8]
mov rcx, qword [rdx + 0x10]
mov eax, dword [rcx + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x140078540]
movss dword [rbp - 0x69], xmm0
mov dword [rbp - 0x65], 0x429bae98
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, dword [0x14007852c]
addss xmm1, dword [0x140078540]
movss dword [rbp - 0x59], xmm1
movss dword [rbp - 0x55], xmm0
movss dword [rsp + 0x20], xmm6
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x59]
mov rcx, r10
call fcn.140025910
mov rax, qword [0x140085020]
mov rax, qword [rax + 0x48c8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140006c70
mov r10, rax
mov rcx, qword [0x140085020]
mov dword [rbp - 0x69], 0x40233333
mov dword [rbp - 0x65], 0x3f800000
mov dword [rbp - 0x61], 0x3f800000
movss xmm0, dword [rcx + 0x37c8]
movss dword [rbp - 0x5d], xmm0
lea rcx, [rbp - 0x69]
call fcn.1400036c0
mov r9d, eax
mov rcx, qword [0x140086040]
mov rdx, qword [rcx + 8]
mov rcx, qword [rdx + 0x10]
mov eax, dword [rcx + 4]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [0x14007852c]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, dword [0x140078540]
movss dword [rbp - 0x69], xmm0
movss dword [rbp - 0x65], xmm2
addss xmm1, dword [0x14007852c]
movss dword [rbp - 0x59], xmm0
movss dword [rbp - 0x55], xmm1
movss dword [rsp + 0x20], xmm6
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x59]
mov rcx, r10
call fcn.140025910
mov rax, qword [0x140085020]
mov rax, qword [rax + 0x48c8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140006c70
mov rbx, rax
movaps xmm0, xmmword [0x140078dd0]
movups xmmword [rbp - 0x69], xmm0
lea rcx, [rbp - 0x69]
call fcn.1400036c0
mov edi, eax
mov rcx, qword [0x140086040]
mov rdx, qword [rcx + 8]
mov rax, qword [rdx + 0x10]
mov eax, dword [rax + 4]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, dword [0x14007852c]
addss xmm1, dword [0x140078540]
movss dword [rbp - 0x69], xmm1
movss dword [rbp - 0x65], xmm0
test edi, 0xff000000
je 0x140040cf8
mov dword [rsp + 0x28], 0xb
movss xmm0, dword [0x1400784dc]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movss xmm2, dword [0x140078490]
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140024f80
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.1400244e0
jmp 0x140040cf4
mov qword [rbp - 0x69], 0
mov dword [rbp - 0x61], 0
movss xmm7, dword [0x1400783d8]
mulss xmm0, xmm7
movss dword [rbp - 0x5d], xmm0
call fcn.1400036c0
mov r14d, eax
movaps xmm6, xmm9
mulss xmm6, xmm7
movaps xmm8, xmm6
addss xmm8, xmm10
addss xmm6, xmm11
movss dword [rbp - 0x69], xmm6
movss dword [rbp - 0x65], xmm8
movss xmm10, dword [0x1400784e8]
test eax, 0xff000000
je 0x140040ba8
comiss xmm7, xmm9
ja 0x140040ba8
mov dword [rsp + 0x28], 0x1ff
movss dword [rsp + 0x20], xmm10
xorps xmm3, xmm3
movaps xmm2, xmm9
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140024f80
mov r9d, r14d
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.1400244e0
mov dword [rbx + 0x78], r15d
mov rdi, qword [0x140085020]
mov dword [rbp - 0x69], 0x3f800000
mov dword [rbp - 0x65], 0x3f800000
mov dword [rbp - 0x61], 0x3f800000
movss xmm0, dword [rdi + 0x37c8]
movss dword [rbp - 0x5d], xmm0
lea rcx, [rbp - 0x69]
call fcn.1400036c0
mov r14d, eax
xorps xmm0, xmm0
movsd xmm1, qword [0x140078458]
ucomisd xmm0, xmm1
ja 0x140040bed
sqrtpd xmm0, xmm1
jmp 0x140040bf5
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mulsd xmm0, qword [0x140078460]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss dword [rbp - 0x69], xmm6
movss dword [rbp - 0x65], xmm8
test r14d, 0xff000000
je 0x140040c5c
comiss xmm7, xmm2
ja 0x140040c5c
mov dword [rsp + 0x28], 0x1ff
movss dword [rsp + 0x20], xmm10
xorps xmm3, xmm3
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140024f80
mov r9d, r14d
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.1400244e0
mov dword [rbx + 0x78], r15d
mov rdi, qword [0x140085020]
mov dword [rbp - 0x69], 0x3dcccccd
mov dword [rbp - 0x65], 0x3dcccccd
mov dword [rbp - 0x61], 0x3dcccccd
movss xmm0, dword [rdi + 0x37c8]
movss dword [rbp - 0x5d], xmm0
lea rcx, [rbp - 0x69]
call fcn.1400036c0
mov edi, eax
movss dword [rbp - 0x69], xmm6
movss dword [rbp - 0x65], xmm8
test eax, 0xff000000
je 0x140040cf8
comiss xmm7, xmm9
ja 0x140040cf8
subss xmm9, xmm7
mov dword [rsp + 0x28], 0x1ff
movss dword [rsp + 0x20], xmm10
xorps xmm3, xmm3
movaps xmm2, xmm9
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140024f80
movss xmm0, dword [0x1400784d4]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.1400235d0
mov dword [rbx + 0x78], r15d
call fcn.14000f060
nop
xor rsi, r13
mov qword [r12], rsi
mov rcx, qword [rbp - 0x39]
xor rcx, rsp
call fcn.14006bdb0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret