Function at 0x14004a8a0
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 [0x140069010]
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 [0x140069b90]
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 [0x140060408]
mov qword [rbp - 0x59], rax
cmp byte [0x14006040f], r15b
je 0x14004aad2
mov r8d, r15d
cmp dword [0x140069018], 2
jl 0x14004aa98
movdqa xmm4, xmmword [0x1400614b0]
mov eax, 4
movd xmm6, eax
mov eax, 0x1f
movd xmm5, eax
movdqa xmm2, xmmword [0x140060cf0]
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 [0x140060d20]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140060d70]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.2222222222222222]
movd xmm0, dword [rbp - 0x59]
pxor xmm2, xmm0
movd dword [rbp - 0x59], xmm2
movdqa xmm3, xmmword [0x140060d10]
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 [0x140060d20]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140060d70]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.2222222222222222]
movd xmm0, dword [rbp - 0x55]
pxor xmm2, xmm0
movd dword [rbp - 0x55], xmm2
jmp 0x14004aad2
lea r9, [rbp - 0x59]
nop dword [rax]
mov eax, 0x2f684bdb
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x14004aaa0
xor edx, edx
mov r8d, 0x209f
lea rcx, [rbp - 0x59]
call fcn.14000d1c0
mov rdi, qword [0x140069b90]
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 0x14004aeff
mov dword [rbp - 0x69], 0x3e051eb8
mov dword [rbp - 0x65], 0x3e051eb8
mov dword [rbp - 0x61], 0x3e051eb8
mulss xmm0, dword [0x140060a3c]
movss dword [rbp - 0x5d], xmm0
call fcn.140003a20
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.140026a50
mov rax, qword [0x140069b90]
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.140003a20
movss dword [rbp - 0x69], xmm6
movss dword [rbp - 0x65], xmm9
movss dword [rbp - 0x59], xmm11
movss dword [rbp - 0x55], xmm10
movss xmm6, dword [0x140060a7c]
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.140026950
mov rax, qword [0x140069b90]
mov rax, qword [rax + 0x48c8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400071d0
mov r10, rax
mov rcx, qword [0x140069b90]
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.140003a20
mov r9d, eax
mov dword [rbp - 0x69], 0x42a8fcee
mov dword [rbp - 0x65], 0x429bae98
mov rcx, qword [0x14006aab8]
mov rdx, qword [rcx + 8]
mov rax, qword [rdx + 8]
mov eax, dword [rax + 4]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, dword [0x140060b94]
addss xmm1, dword [0x140060b9c]
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.1400267f0
mov rax, qword [0x140069b90]
mov rax, qword [rax + 0x48c8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400071d0
mov r10, rax
mov rcx, qword [0x140069b90]
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.140003a20
mov r9d, eax
mov rcx, qword [0x14006aab8]
mov rdx, qword [rcx + 8]
mov rcx, qword [rdx + 8]
mov eax, dword [rcx + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x140060b9c]
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 [0x140060b94]
addss xmm1, dword [0x140060b9c]
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.1400267f0
mov rax, qword [0x140069b90]
mov rax, qword [rax + 0x48c8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400071d0
mov r10, rax
mov rcx, qword [0x140069b90]
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.140003a20
mov r9d, eax
mov rcx, qword [0x14006aab8]
mov rdx, qword [rcx + 8]
mov rcx, qword [rdx + 8]
mov eax, dword [rcx + 4]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [0x140060b94]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, dword [0x140060b9c]
movss dword [rbp - 0x69], xmm0
movss dword [rbp - 0x65], xmm2
addss xmm1, dword [0x140060b94]
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.1400267f0
mov rax, qword [0x140069b90]
mov rax, qword [rax + 0x48c8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400071d0
mov rbx, rax
movaps xmm0, xmmword [0x140061480]
movups xmmword [rbp - 0x69], xmm0
lea rcx, [rbp - 0x69]
call fcn.140003a20
mov edi, eax
mov rcx, qword [0x14006aab8]
mov rdx, qword [rcx + 8]
mov rax, qword [rdx + 8]
mov eax, dword [rax + 4]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, dword [0x140060b94]
addss xmm1, dword [0x140060b9c]
movss dword [rbp - 0x69], xmm1
movss dword [rbp - 0x65], xmm0
test edi, 0xff000000
je 0x14004b0f1
mov dword [rsp + 0x28], 0xb
movss xmm0, dword [0x140060b3c]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movss xmm2, dword [0x140060af4]
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140025e60
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.1400253c0
jmp 0x14004b0ed
mov qword [rbp - 0x69], 0
mov dword [rbp - 0x61], 0
movss xmm7, dword [0x140060a3c]
mulss xmm0, xmm7
movss dword [rbp - 0x5d], xmm0
call fcn.140003a20
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 [0x140060b44]
test eax, 0xff000000
je 0x14004afa1
comiss xmm7, xmm9
ja 0x14004afa1
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.140025e60
mov r9d, r14d
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.1400253c0
mov dword [rbx + 0x78], r15d
mov rdi, qword [0x140069b90]
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.140003a20
mov r14d, eax
xorps xmm0, xmm0
movsd xmm1, qword [0x140060ab8]
ucomisd xmm0, xmm1
ja 0x14004afe6
sqrtpd xmm0, xmm1
jmp 0x14004afee
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mulsd xmm0, qword [0x140060ac0]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss dword [rbp - 0x69], xmm6
movss dword [rbp - 0x65], xmm8
test r14d, 0xff000000
je 0x14004b055
comiss xmm7, xmm2
ja 0x14004b055
mov dword [rsp + 0x28], 0x1ff
movss dword [rsp + 0x20], xmm10
xorps xmm3, xmm3
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140025e60
mov r9d, r14d
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.1400253c0
mov dword [rbx + 0x78], r15d
mov rdi, qword [0x140069b90]
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.140003a20
mov edi, eax
movss dword [rbp - 0x69], xmm6
movss dword [rbp - 0x65], xmm8
test eax, 0xff000000
je 0x14004b0f1
comiss xmm7, xmm9
ja 0x14004b0f1
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.140025e60
movss xmm0, dword [0x140060b34]
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.1400244b0
mov dword [rbx + 0x78], r15d
call fcn.14000f380
nop
xor rsi, r13
mov qword [r12], rsi
mov rcx, qword [rbp - 0x39]
xor rcx, rsp
call fcn.140056530
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