Function at 0x180018870
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, 0xd0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x180050040]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rbx, r8
mov r14, rdx
mov rdi, rcx
mov qword [rbp + 7], rbx
mov eax, 0x5a4d
cmp word [0x18003ff10], ax
jne 0x1800188cc
movsxd r8, dword [0x18003ff4c]
lea rcx, [0x18003ff10]
add r8, 8
add r8, rcx
jmp 0x1800188d2
mov r8d, 4
mov r8d, dword [r8]
mov rdx, rbx
mov rcx, rdi
call fcn.180021790
mov esi, dword [0x180050090]
test al, al
jne 0x180018ac1
movups xmm0, xmmword [str.VP__QQ]
movups xmmword [rbp - 0x79], xmm0
movups xmm1, xmmword [0x18004b070]
movups xmmword [rbp - 0x69], xmm1
movups xmm0, xmmword [str.43__engm_jb_m_:_q_1u:6_79373_fA]
movups xmmword [rbp - 0x59], xmm0
movups xmm1, xmmword [0x18004b090]
movups xmmword [rbp - 0x49], xmm1
movups xmm0, xmmword [0x18004b0a0]
movups xmmword [rbp - 0x39], xmm0
movups xmm1, xmmword [0x18004b0b0]
movups xmmword [rbp - 0x29], xmm1
movups xmm0, xmmword [0x18004b0c0]
movups xmmword [rbp - 0x19], xmm0
mov eax, dword [0x18004b0d0]
mov dword [rbp - 9], eax
movzx eax, word [0x18004b0d4]
mov word [rbp - 5], ax
xor r8d, r8d
cmp esi, 2
jl 0x180018a6f
movdqa xmm5, xmmword [0x18004b1c0]
movdqa xmm4, xmmword [0x18004b240]
movdqa xmm6, xmmword [0x18004b1f0]
movdqa xmm7, xmmword [0x18004b220]
lea rcx, [rbp - 0x79]
nop
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x38
jl 0x180018980
cmp r8d, 0x3b
jge 0x180018ab3
movsxd rax, r8d
lea r9, [rbp - 0x79]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
sub ax, cx
add ax, 0x30
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x3b
jl 0x180018a80
mov edx, 1
lea rcx, [rbp - 0x79]
call fcn.1800158e0
mov rdx, rbx
mov rcx, rdi
call fcn.18001cda0
test al, al
jne 0x180018cb1
movups xmm0, xmmword [str.VP__QQ]
movups xmmword [rbp - 0x79], xmm0
movups xmm1, xmmword [0x18004b070]
movups xmmword [rbp - 0x69], xmm1
movups xmm0, xmmword [str.43__engm_jb_m_:_q_1u:6_79373_fA]
movups xmmword [rbp - 0x59], xmm0
movups xmm1, xmmword [0x18004b090]
movups xmmword [rbp - 0x49], xmm1
movups xmm0, xmmword [0x18004b0a0]
movups xmmword [rbp - 0x39], xmm0
movups xmm1, xmmword [0x18004b0b0]
movups xmmword [rbp - 0x29], xmm1
movups xmm0, xmmword [0x18004b0c0]
movups xmmword [rbp - 0x19], xmm0
mov eax, dword [0x18004b0d0]
mov dword [rbp - 9], eax
movzx eax, word [0x18004b0d4]
mov word [rbp - 5], ax
xor r8d, r8d
cmp esi, 2
jl 0x180018c5f
movdqa xmm5, xmmword [0x18004b1c0]
movdqa xmm4, xmmword [0x18004b240]
movdqa xmm6, xmmword [0x18004b1f0]
movdqa xmm7, xmmword [0x18004b220]
lea rcx, [rbp - 0x79]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x38
jl 0x180018b70
cmp r8d, 0x3b
jge 0x180018ca3
movsxd rax, r8d
lea r9, [rbp - 0x79]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
sub ax, cx
add ax, 0x30
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x3b
jl 0x180018c70
mov edx, 2
lea rcx, [rbp - 0x79]
call fcn.1800158e0
mov rdx, r14
mov rcx, rdi
call fcn.180019110
test al, al
jne 0x180018ea1
movups xmm0, xmmword [str.VP__QQ]
movups xmmword [rbp - 0x79], xmm0
movups xmm1, xmmword [0x18004b070]
movups xmmword [rbp - 0x69], xmm1
movups xmm0, xmmword [str.43__engm_jb_m_:_q_1u:6_79373_fA]
movups xmmword [rbp - 0x59], xmm0
movups xmm1, xmmword [0x18004b090]
movups xmmword [rbp - 0x49], xmm1
movups xmm0, xmmword [0x18004b0a0]
movups xmmword [rbp - 0x39], xmm0
movups xmm1, xmmword [0x18004b0b0]
movups xmmword [rbp - 0x29], xmm1
movups xmm0, xmmword [0x18004b0c0]
movups xmmword [rbp - 0x19], xmm0
mov eax, dword [0x18004b0d0]
mov dword [rbp - 9], eax
movzx eax, word [0x18004b0d4]
mov word [rbp - 5], ax
xor r8d, r8d
cmp esi, 2
jl 0x180018e4f
movdqa xmm5, xmmword [0x18004b1c0]
movdqa xmm4, xmmword [0x18004b240]
movdqa xmm6, xmmword [0x18004b1f0]
movdqa xmm7, xmmword [0x18004b220]
lea rcx, [rbp - 0x79]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x38
jl 0x180018d60
cmp r8d, 0x3b
jge 0x180018e93
movsxd rax, r8d
lea r9, [rbp - 0x79]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
sub ax, cx
add ax, 0x30
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x3b
jl 0x180018e60
mov edx, 3
lea rcx, [rbp - 0x79]
call fcn.1800158e0
mov rdx, rbx
mov rcx, rdi
call fcn.18001aca0
test al, al
jne 0x180019090
movups xmm0, xmmword [str.VP__QQ]
movups xmmword [rbp - 0x79], xmm0
movups xmm1, xmmword [0x18004b070]
movups xmmword [rbp - 0x69], xmm1
movups xmm0, xmmword [str.43__engm_jb_m_:_q_1u:6_79373_fA]
movups xmmword [rbp - 0x59], xmm0
movups xmm1, xmmword [0x18004b090]
movups xmmword [rbp - 0x49], xmm1
movups xmm0, xmmword [0x18004b0a0]
movups xmmword [rbp - 0x39], xmm0
movups xmm1, xmmword [0x18004b0b0]
movups xmmword [rbp - 0x29], xmm1
movups xmm0, xmmword [0x18004b0c0]
movups xmmword [rbp - 0x19], xmm0
mov eax, dword [0x18004b0d0]
mov dword [rbp - 9], eax
movzx eax, word [0x18004b0d4]
mov word [rbp - 5], ax
xor ecx, ecx
cmp esi, 2
jl 0x18001903a
movdqa xmm5, xmmword [0x18004b1c0]
movdqa xmm4, xmmword [0x18004b240]
movdqa xmm6, xmmword [0x18004b1f0]
movdqa xmm7, xmmword [0x18004b220]
lea rdx, [rbp - 0x79]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rdx]
xorps xmm3, xmm0
movq qword [rdx], xmm3
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rdx + 8]
xorps xmm3, xmm0
movq qword [rdx + 8], xmm3
add ecx, 8
lea rdx, [rdx + 0x10]
cmp ecx, 0x38
jl 0x180018f50
cmp ecx, 0x3b
jge 0x180019081
movsxd rax, ecx
lea r9, [rbp - 0x79]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul r8d, eax, 0x37
movzx eax, cx
sub ax, r8w
add ax, 0x30
xor word [r9], ax
inc ecx
lea r9, [r9 + 2]
cmp ecx, 0x3b
jl 0x180019050
mov edx, 4
lea rcx, [rbp - 0x79]
call fcn.1800158e0
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x1800190c6
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1800190c1
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180019105
mov rcx, r8
call fcn.1800271e0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov al, 1
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1800271c0
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xd0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3