Function at 0x180027b10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x1800c17f8]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rsi, rdx
mov dword [rsp + 0x48], r9d
imul edx, r9d, 0xd2
mov rbx, r8
mov r14, rcx
mov r12d, r9d
mov dword [rsp + 0x30], edx
cmp r9d, edx
ja 0x180027fa7
mov r13, qword [rsp + 0x50]
lea rcx, str..txz
mov ebp, dword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
lea r10, str..tlz
lea r9, str..lzma
lea rax, [0x1800b6f80]
lea r8, [0x180000000]
cmp r12d, 0x1ba4
ja 0x180027f1a
je 0x180027ef0
cmp r12d, 0x74
je 0x180027e06
cmp r12d, 0xf6
je 0x180027c5f
cmp r12d, 0xe0c
jne 0x180027eda
mov rcx, qword [0x1800c1f70]
test rcx, rcx
je 0x180027c05
mov rax, qword [r14]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov rdx, rbx
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x4a]
call fcn.180049dd0
test rax, rax
jne 0x180027f70
mov edx, dword [rsp + 0x30]
cmp dword [0x1800c1924], 3
jne 0x180027c2e
cmp qword [0x1800c1f70], 0
jne 0x180027c38
mov rdx, rbx
lea rcx, str.___OPTION_IS_STRING_dr_sygate_int____READWRITE_LOCK_HELD_options_lock_
call fcn.180038c80
xor eax, eax
jmp 0x180027fac
cmp qword [0x1800c1f70], 0
je 0x180027c41
mov r13, qword [0x1800c1f70]
jmp 0x180027c44
mov r13, qword [rdi]
mov r15, 0xffffffffffffffff
nop dword [rax + rax]
inc r15
cmp byte [r15 + r13], 0
jne 0x180027c50
jmp 0x180027ed3
not dword [rsi]
mov rax, qword [r14]
cmp rax, 8
jbe 0x180027dbe
test bl, 7
je 0x180027cab
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx]
inc rbx
mov edx, dword [rsi]
movzx ecx, dl
xor rcx, rax
shr edx, 8
mov eax, dword [r8 + rcx*4 + 0x4f630]
xor eax, edx
mov dword [rsi], eax
mov rax, qword [r14]
dec rax
mov qword [r14], rax
test bl, 7
jne 0x180027c80
mov r11, rax
and eax, 7
and r11, 0xfffffffffffffff8
mov qword [r14], rax
add r11, rbx
cmp rbx, r11
jae 0x180027dbe
mov eax, 0x79
nop dword [rax]
cmp eax, 0x79
je 0x180027d48
cmp eax, 0x22fa
je 0x180027d44
cmp eax, 0x457b
je 0x180027d3e
cmp eax, 0x67fc
jne 0x180027da2
mov ecx, ebp
shr rcx, 0x10
movzx r8d, cl
mov ecx, ebp
shr rcx, 8
movzx edx, cl
lea rcx, [0x180000000]
mov r9d, dword [rcx + r8*4 + 0x4fa30]
lea r8, [0x180000000]
mov ecx, ebp
shr rcx, 0x18
xor r9d, dword [r8 + rdx*4 + 0x4fe30]
xor r9d, dword [r8 + rcx*4 + 0x4f630]
movzx ecx, bpl
xor r9d, dword [r8 + rcx*4 + 0x50230]
xor dword [rsi], r9d
jmp 0x180027da2
add rbx, 4
jmp 0x180027da2
mov ebp, dword [rbx]
jmp 0x180027da2
mov ecx, dword [rbx]
add rbx, 4
xor dword [rsi], ecx
mov r10d, dword [rsi]
mov ecx, r10d
shr ecx, 0x10
movzx r8d, cl
mov ecx, r10d
shr ecx, 8
movzx edx, cl
lea rcx, [0x180000000]
mov r9d, dword [rcx + r8*4 + 0x50a30]
lea r8, [0x180000000]
mov ecx, r10d
xor r9d, dword [r8 + rdx*4 + 0x50e30]
shr rcx, 0x18
xor r9d, dword [r8 + rcx*4 + 0x50630]
movzx ecx, r10b
xor r9d, dword [r8 + rcx*4 + 0x51230]
mov dword [rsi], r9d
add eax, 0x2281
cmp eax, 0x8a04
jbe 0x180027cd0
cmp rbx, r11
jb 0x180027cc4
mov rax, qword [r14]
test rax, rax
je 0x180027df6
nop dword [rax]
nop word [rax + rax]
dec qword [r14]
movzx eax, byte [rbx]
inc rbx
mov edx, dword [rsi]
movzx ecx, dl
xor rcx, rax
shr edx, 8
mov eax, dword [r8 + rcx*4 + 0x4f630]
xor eax, edx
mov dword [rsi], eax
cmp qword [r14], 0
jne 0x180027dd0
mov edx, dword [rsp + 0x30]
mov qword [r14], 0xffffffffffffffff
jmp 0x180027ed3
mov qword [rsp + 0x60], rax
xorps xmm2, xmm2
mov eax, dword [0x1800c1924]
xorps xmm1, xmm1
dec eax
mov qword [rsp + 0x68], rcx
movaps xmm0, xmmword [rsp + 0x60]
xor edi, edi
movsxd rcx, eax
shl rcx, 5
movaps xmmword [0x1800c2bd0], xmm0
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x88], r10
movaps xmm0, xmmword [rsp + 0x80]
lea rax, [rcx + 0xc2bd0]
add rax, r8
movaps xmmword [0x1800c2be0], xmm1
movaps xmmword [0x1800c2bf0], xmm0
movaps xmmword [0x1800c2c00], xmm2
movaps xmmword [0x1800c2c10], xmm2
movaps xmmword [0x1800c2c20], xmm2
mov rcx, qword [rax]
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x180027ed0
nop word [rax + rax]
mov rax, qword [r14]
xor r9d, r9d
mov qword [rsp + 0x50], rax
mov rdx, rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x4a]
call fcn.180049dd0
test rax, rax
mov rax, qword [rsp + 0x38]
jne 0x180027f89
mov rcx, qword [rax + rdi*8 + 8]
inc rdi
test rcx, rcx
jne 0x180027e90
mov edx, dword [rsp + 0x30]
mov rdi, rax
lea rcx, str..txz
imul eax, dword [rsp + 0x48], 0x1e
add r12d, eax
cmp r12d, edx
ja 0x180027fa7
jmp 0x180027b78
mov rcx, qword [r14]
lea r8, [rsp + 0x50]
inc rcx
mov edx, 0xeb
add rcx, r15
mov qword [rsp + 0x50], rcx
xor ecx, ecx
call fcn.1800124e0
mov edx, dword [rsp + 0x30]
mov qword [rsp + 0x40], rax
jmp 0x180027ed3
cmp r12d, 0x1dca
je 0x180027f9f
cmp r12d, 0x293c
je 0x180027f37
cmp r12d, 0x36d4
je 0x180027fa7
jmp 0x180027eda
mov r8, qword [r14]
mov rdx, rbx
mov rcx, qword [rsp + 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x40]
mov r8, r15
add rcx, qword [r14]
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x40]
add rcx, qword [r14]
mov edx, dword [rsp + 0x30]
mov byte [rcx + r15], 0
jmp 0x180027ed3
mov rdx, qword [0x1800c1f70]
mov r8d, 0x6e
mov rcx, rbx
call fcn.180004800
xor eax, eax
jmp 0x180027fac
mov rdx, qword [rax + rdi*8]
mov r8d, 0x6e
mov rcx, rbx
call fcn.180004800
xor eax, eax
jmp 0x180027fac
mov eax, dword [rsi]
not eax
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.18004d0f0
mov rbx, qword [rsp + 0x128]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret