Function at 0x180012700
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
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 [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm14
call fcn.180031c70
mov rsi, rax
call fcn.180031fa0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
call fcn.180031700
movss xmm0, dword [0x180202954]
mov r14, rax
comiss xmm0, dword [0x18006e4f8]
jae 0x180012794
addss xmm0, dword [0x18006e410]
movss dword [0x180202954], xmm0
lea rcx, [rsp + 0x30]
movss dword [rbp - 0x7d], xmm0
xorps xmm7, xmm7
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
call fcn.180031ac0
movd xmm0, ebx
lea r8, [rbp + 0x67]
movd xmm1, edi
lea rdx, [rbp + 0x6f]
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x28], 0xf
mov r9d, eax
mov rcx, r14
mov qword [rbp + 0x6f], 0
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x67], xmm0
movss dword [rbp + 0x6b], xmm1
movss dword [rsp + 0x20], xmm7
call fcn.180041c10
call fcn.180031fa0
movss xmm0, dword [0x180202958]
movss xmm1, dword [0x18006e8ac]
mov rcx, qword [0x180202020]
subss xmm1, xmm0
mulss xmm1, dword [rax + 0x10]
mulss xmm1, dword [0x18006e878]
addss xmm0, xmm1
movss dword [0x180202958], xmm0
call fcn.180038fb0
movups xmm0, xmmword [str.y__G_TZBXNRSS]
mov ebx, dword [0x180201ee0]
xor edi, edi
cmp byte [0x18006dd37], dil
movups xmmword [rbp - 0x79], xmm0
movsd xmm0, qword [0x18006dd30]
movsd qword [rbp - 0x69], xmm0
je 0x1800129e1
cmp ebx, 2
jl 0x1800129a1
movdqa xmm0, xmmword [str.0000000000000000]
lea rcx, [rbp - 0x75]
movdqa xmm5, xmmword [0x18006eb00]
mov edx, edi
movdqa xmm4, xmmword [0x18006eec0]
movdqa xmm6, xmmword [0x18006eb50]
movdqa xmmword [rsp + 0x30], xmm0
mov r8d, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18006eb70]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18006eb70]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x18
jl 0x1800128a0
jmp 0x1800129e1
lea r9, [rbp - 0x79]
mov r8d, edi
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x30
xor byte [r9 - 1], al
cmp r8d, 0x18
jl 0x1800129b0
movss xmm6, dword [0x18006ea4c]
lea rdx, [rbp - 0x79]
xor r9d, r9d
movss dword [rsp + 0x20], xmm6
xor r8d, r8d
lea rcx, [rbp + 0x77]
call fcn.18002e690
xor r9d, r9d
movss dword [rsp + 0x20], xmm6
xor r8d, r8d
mov byte [rbp + 0x67], dil
lea rdx, [rbp + 0x67]
lea rcx, [rbp + 0x7f]
call fcn.18002e690
cmp byte [0x18006dd4f], dil
movups xmm0, xmmword [0x18006dd38]
movss xmm8, dword [0x18006e4c4]
movss xmm9, dword [0x1802027fc]
movss xmm10, dword [0x1802027f8]
movups xmmword [rbp - 0x79], xmm0
movsd xmm0, qword [0x18006dd48]
movsd qword [rbp - 0x69], xmm0
mulss xmm9, xmm8
mulss xmm10, xmm8
je 0x180012bf1
cmp ebx, 2
jl 0x180012bb1
movdqa xmm0, xmmword [str.0000000000000000]
lea rcx, [rbp - 0x75]
movdqa xmm5, xmmword [0x18006eb00]
mov edx, edi
movdqa xmm4, xmmword [0x18006eec0]
movdqa xmm6, xmmword [0x18006eb50]
movdqa xmmword [rsp + 0x30], xmm0
mov r8d, dword [rsp + 0x30]
nop dword [rax]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18006eb70]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18006eb70]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x18
jl 0x180012ab0
jmp 0x180012bf1
lea r9, [rbp - 0x79]
mov r8d, edi
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x30
xor byte [r9 - 1], al
cmp r8d, 0x18
jl 0x180012bc0
movaps xmm0, xmmword [0x18006ee90]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
call fcn.18002f2e0
movss xmm0, dword [rbp + 0x77]
lea r9, [rbp - 0x79]
mulss xmm0, xmm8
lea rdx, [rbp + 0x67]
mov qword [rsp + 0x20], rdi
mov r8d, eax
movaps xmm1, xmm9
mov rcx, rsi
subss xmm1, xmm0
movaps xmm0, xmm10
addss xmm0, dword [0x18006e8f4]
addss xmm1, dword [0x18006e88c]
movss dword [rbp + 0x6b], xmm0
movss dword [rbp + 0x67], xmm1
call fcn.180041f90
movaps xmm0, xmmword [0x18006ee90]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
mov byte [rbp + 0x67], dil
call fcn.18002f2e0
movss xmm0, dword [rbp + 0x7f]
lea r9, [rbp + 0x67]
mulss xmm0, xmm8
lea rdx, [rbp + 0x6f]
mov qword [rsp + 0x20], rdi
mov r8d, eax
movaps xmm1, xmm9
mov rcx, rsi
subss xmm1, xmm0
movaps xmm0, xmm10
addss xmm0, dword [0x18006e9ec]
addss xmm1, dword [0x18006e88c]
movss dword [rbp + 0x73], xmm0
movss dword [rbp + 0x6f], xmm1
call fcn.180041f90
call fcn.180038ae0
movss xmm0, dword [0x180202958]
comiss xmm0, dword [0x18006e8a4]
jb 0x180012ccd
mov dword [0x180202958], edi
call fcn.180032450
movss xmm11, dword [0x18006e474]
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
movaps xmm1, xmm11
addss xmm8, xmm8
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm13, dword [0x18006e458]
subss xmm8, xmm0
movss xmm14, dword [0x18006e464]
movss xmm12, dword [0x18006e8d0]
nop word [rax + rax]
movaps xmm6, xmm7
mov dword [rsp + 0x30], 0x3f800000
mulss xmm7, xmm13
mov dword [rsp + 0x34], 0x3f800000
mulss xmm6, xmm11
mov dword [rsp + 0x38], 0x3f800000
comiss xmm7, xmm14
addss xmm6, xmm8
ja 0x180012d59
mov dword [rbp - 0x7d], 0x3dcccccd
jmp 0x180012d5e
movss dword [rbp - 0x7d], xmm7
lea rcx, [rsp + 0x30]
call fcn.18002f2e0
xorps xmm0, xmm0
mov ebx, eax
movss xmm0, xmm6
call fcn.180064290
movaps xmm2, xmm0
mov dword [rsp + 0x20], 8
shufps xmm2, xmm0, 1
lea rdx, [rbp + 0x67]
mulss xmm2, dword [0x1802019e0]
mov r9d, ebx
mov rcx, rsi
mulss xmm0, dword [0x1802019e0]
addss xmm2, xmm9
addss xmm0, xmm10
movss dword [rbp + 0x67], xmm2
movss xmm2, dword [0x1802019e4]
movss dword [rbp + 0x6b], xmm0
call fcn.18003f5f0
add rdi, 1
xorps xmm7, xmm7
js 0x180012dd0
cvtsi2ss xmm7, rdi
jmp 0x180012de8
mov rax, rdi
mov rcx, rdi
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm7, rcx
addss xmm7, xmm7
comiss xmm7, xmm12
jbe 0x180012d20
movaps xmm14, xmmword [rsp + 0x60]
lea r11, [rsp + 0xf0]
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]
mov rsp, r11
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret