Function at 0x14006c520
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xe0
mov rax, qword [0x14013e0a0]
xor rax, rsp
mov qword [rbp - 0x29], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
test eax, eax
je 0x14006cb3a
mov rax, qword gs:[0x58]
mov ecx, 4
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xd0], r13
xor r13d, r13d
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1401c36d4], eax
jle 0x14006c63e
lea rcx, [0x1401c36d4]
call fcn.1400a0df8
cmp dword [0x1401c36d4], 0xffffffff
jne 0x14006c63e
movdqa xmm0, xmmword [0x14011ed80]
mov ecx, r13d
movdqu xmmword [rbp - 0x51], xmm0
mov dword [rbp - 0x41], 0xfeeacee5
mov dword [rbp - 0x3d], 0x100c4d4
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x74]
xor byte [rbp + rcx - 0x51], al
inc rcx
cmp rcx, 0x16
jb 0x14006c5d0
mov byte [rbp - 0x3a], r13b
mov rdx, r13
mov dword [rbp - 0x69], 0xa6fafae5
mov dword [rbp - 0x65], 0xfdb6e2a4
mov dword [rbp - 0x61], 0x100f7f6
nop dword [rax]
lea eax, [rdx - 0x6e]
xor byte [rbp + rdx - 0x69], al
inc rdx
cmp rdx, 0xa
jb 0x14006c600
lea rcx, [rbp - 0x69]
mov byte [rbp - 0x5e], r13b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x51]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1401c36d4]
mov qword [0x1401c36c8], rax
call fcn.1400a0d8c
rdtscp
shl rdx, 0x20
lea rcx, [0x1401c3410]
or rax, rdx
mov qword [0x1401c3410], rax
call fcn.14006b850
lea rcx, [0x1401c3420]
movsd qword [0x1401c3418], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov ebx, r13d
cmp qword [0x1401c3170], rbx
jne 0x14006c694
nop dword [rax]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [0x1401c3170], rbx
je 0x14006c680
call fcn.14006bde0
cmp byte [0x1401c36b8], bl
je 0x14006cb2a
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x100], rdi
mov rdi, r13
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xc0], r15
movaps xmmword [rsp + 0xb0], xmm6
movsd xmm6, qword [0x14011e5c8]
movaps xmmword [rsp + 0xa0], xmm7
movss xmm7, dword [0x14011e5a4]
movaps xmmword [rsp + 0x90], xmm8
movss xmm8, dword [0x14011e5d0]
movaps xmmword [rsp + 0x80], xmm9
movsd xmm9, qword [0x14011e660]
movaps xmmword [rsp + 0x70], xmm10
movsd xmm10, qword [0x14011e628]
mov ecx, 1
call qword [0x1401c36c8]
test ax, ax
je 0x14006ca98
mov ecx, 2
call qword [0x1401c36c8]
test ax, ax
je 0x14006ca98
cmp byte [reloc.WS2_32.dll_accept], r13b
je 0x14006ca98
rdtscp
shl rdx, 0x20
xorps xmm1, xmm1
or rax, rdx
mov rcx, rax
sub rcx, qword [0x1401c3410]
js 0x14006c778
cvtsi2sd xmm1, rcx
jmp 0x14006c78d
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
divsd xmm1, qword [0x1401c3418]
mov rax, qword [0x1401c3170]
lea rsi, [rdi + 1]
lea r12d, [rbx + 1]
movss xmm0, dword [rax + 0x21]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm9
mulsd xmm0, xmm10
comisd xmm0, xmm1
cmovb rsi, r13
cmovb r12d, r13d
rdtscp
shl rdx, 0x20
lea rcx, [rbp - 0x51]
or rax, rdx
xorps xmm0, xmm0
mov qword [0x1401c3410], rax
xor eax, eax
movups xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], rax
mov dword [rbp - 0x51], 0x18
call qword [sym.imp.USER32.dll_GetCursorInfo]
mov ebx, r12d
mov rdi, rsi
cmp dword [rbp - 0x4d], r13d
jne 0x14006cacd
mov rax, qword [0x1401c3170]
cmp byte [rax + 0x18], r13b
je 0x14006c959
cmp r12d, dword [rax + 0x35]
jge 0x14006ca69
nop dword [rax]
mov ecx, 1
call qword [0x1401c36c8]
test ax, ax
je 0x14006ca62
mov ecx, 0xa2
call qword [0x1401c36c8]
movzx r14d, ax
mov ecx, 0x57
shr r14d, 0xf
and r14b, 1
call qword [0x1401c36c8]
movzx ebx, ax
mov ecx, 0x41
shr ebx, 0xf
call qword [0x1401c36c8]
movzx r15d, ax
mov ecx, 0x53
shr r15d, 0xf
and r15b, 1
call qword [0x1401c36c8]
movzx edi, ax
mov ecx, 0x44
shr edi, 0xf
and dil, 1
call qword [0x1401c36c8]
shr eax, 0xf
and al, 1
test bl, 1
jne 0x14006c8b1
test dil, dil
je 0x14006c8b6
test r14b, r14b
je 0x14006c8ca
movss xmm0, dword [0x1401c36d0]
jmp 0x14006c8d2
test dil, dil
je 0x14006c8a2
test r15b, r15b
jne 0x14006c8c1
test al, al
je 0x14006c8c5
jmp 0x14006c8a2
test al, al
je 0x14006c8a2
xorps xmm0, xmm0
jmp 0x14006c8d5
movss xmm0, dword [0x1401c36bc]
cvtps2pd xmm0, xmm0
mov rax, qword [0x1401c3170]
addsd xmm0, xmm6
movss xmm2, dword [0x1401c36e4]
movss xmm3, dword [0x1401c36e0]
mov rcx, qword [rax]
lea rax, [rcx + rsi*8]
cvtpd2ps xmm4, xmm0
movss xmm0, dword [rax]
divss xmm0, xmm2
test r14b, r14b
je 0x14006c90d
movaps xmm5, xmm7
jmp 0x14006c915
addss xmm0, xmm0
movaps xmm5, xmm8
movss xmm1, dword [rax + 4]
mov ebx, r12d
divss xmm1, xmm2
mov rdi, rsi
mulss xmm0, xmm3
mulss xmm1, xmm5
mulss xmm0, xmm4
mulss xmm1, xmm3
mulss xmm1, xmm4
call fcn.14006cb50
mov rax, qword [0x1401c3170]
inc r12d
inc rsi
cmp r12d, dword [rax + 0x35]
jl 0x14006c820
jmp 0x14006ca69
mov ecx, 0xa2
call qword [0x1401c36c8]
movzx r14d, ax
mov ecx, 0x57
shr r14d, 0xf
and r14b, 1
call qword [0x1401c36c8]
movzx ebx, ax
mov ecx, 0x41
shr ebx, 0xf
call qword [0x1401c36c8]
movzx r15d, ax
mov ecx, 0x53
shr r15d, 0xf
and r15b, 1
call qword [0x1401c36c8]
movzx edi, ax
mov ecx, 0x44
shr edi, 0xf
and dil, 1
call qword [0x1401c36c8]
shr eax, 0xf
and al, 1
test bl, 1
jne 0x14006c9d6
test dil, dil
je 0x14006c9db
test r14b, r14b
je 0x14006c9ef
movss xmm0, dword [0x1401c36d0]
jmp 0x14006c9f7
test dil, dil
je 0x14006c9c7
test r15b, r15b
jne 0x14006c9e6
test al, al
je 0x14006c9ea
jmp 0x14006c9c7
test al, al
je 0x14006c9c7
xorps xmm0, xmm0
jmp 0x14006c9fa
movss xmm0, dword [0x1401c36bc]
cvtps2pd xmm0, xmm0
mov rax, qword [0x1401c3170]
addsd xmm0, xmm6
movss xmm2, dword [0x1401c36e4]
movss xmm3, dword [0x1401c36e0]
mov rcx, qword [rax]
lea rax, [rcx + rsi*8]
cvtpd2ps xmm4, xmm0
movss xmm0, dword [rax]
divss xmm0, xmm2
test r14b, r14b
je 0x14006ca32
movaps xmm5, xmm7
jmp 0x14006ca3a
addss xmm0, xmm0
movaps xmm5, xmm8
movss xmm1, dword [rax + 4]
divss xmm1, xmm2
mulss xmm0, xmm3
mulss xmm1, xmm5
mulss xmm0, xmm4
mulss xmm1, xmm3
mulss xmm1, xmm4
call fcn.14006cb50
mov ebx, r12d
mov rdi, rsi
mov rax, qword [0x1401c3170]
cmp byte [rax + 0x18], r13b
je 0x14006ca98
nop
mov ecx, 1
call qword [0x1401c36c8]
test ax, ax
je 0x14006ca98
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x1401c3170]
cmp byte [rax + 0x18], r13b
jne 0x14006ca70
cmp byte [reloc.WS2_32.dll_accept], r13b
je 0x14006cab9
lea r8, [rbp - 0x39]
mov dl, 1
mov ecx, 1
call qword [0x1401c30e8]
mov byte [reloc.WS2_32.dll_accept], r13b
lea rdx, [rbp - 0x31]
mov qword [rbp - 0x31], 0xfffffffffffffc18
xor ecx, ecx
call qword [0x1401c30e0]
cmp byte [0x1401c36b8], r13b
jne 0x14006c723
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
mov r15, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xf0]
mov r13, qword [rsp + 0xd0]
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.1400a09a0
add rsp, 0xe0
pop rbp
ret