Function at 0x180003160
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x40
xor eax, eax
mov dword [rbp - 0x20], 0xd7d6ddf0
xor ebx, ebx
mov dword [rbp - 0x1c], 0xd7c9d2fe
mov rsi, rdx
mov word [rbp - 0x18], 0xb9cb
mov edx, ebx
mov byte [rbp - 0x16], al
mov rdi, r8
nop
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x49]
inc edx
xor byte [rcx], al
cmp edx, 0xa
jb 0x1800031a0
lea rdx, [rbp - 0x20]
mov byte [rbp - 0x16], bl
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x1800032ef
movdqa xmm0, xmmword [0x180001490]
xor eax, eax
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0xe], al
mov edx, ebx
mov word [rbp - 0x10], 0xaca2
nop dword [rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x49]
inc edx
xor byte [rcx], al
cmp edx, 0x12
jb 0x1800031f0
lea rdx, [rbp - 0x20]
mov byte [rbp - 0xe], bl
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x18000340c
mov dword [rbp - 0x20], 0xced6d7fb
mov edx, ebx
mov dword [rbp - 0x1c], 0xe1c5d3d9
mov dword [rbp - 0x18], 0xb1aeacfc
mov word [rbp - 0x14], 0xa0a6
mov byte [rbp - 0x12], al
nop
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x49]
inc edx
xor byte [rcx], al
cmp edx, 0xe
jb 0x180003240
lea rdx, [rbp - 0x20]
mov byte [rbp - 0x12], bl
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x18000340c
movdqa xmm0, xmmword [0x180001450]
mov edx, ebx
movdqu xmmword [rbp - 0x20], xmm0
nop
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x49]
inc edx
xor byte [rcx], al
cmp edx, 0xf
jb 0x180003280
lea rdx, [rbp - 0x20]
mov byte [rbp - 0x11], bl
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x18000340c
movdqa xmm0, xmmword [0x180001460]
mov edx, ebx
movdqu xmmword [rbp - 0x20], xmm0
nop
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x49]
inc edx
xor byte [rcx], al
cmp edx, 0xf
jb 0x1800032c0
lea rdx, [rbp - 0x20]
mov byte [rbp - 0x11], bl
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x18000340c
mov dword [rbp - 0x20], 0xd3cad9f5
mov edx, ebx
mov dword [rbp - 0x1c], 0xcad3f9d8
mov dword [rbp - 0x18], 0xb8b4d6
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x49]
inc edx
xor byte [rcx], al
cmp edx, 0xb
jb 0x180003310
lea rdx, [rbp - 0x20]
mov byte [rbp - 0x15], bl
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x18000338f
movdqa xmm0, xmmword [0x180001480]
xor eax, eax
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0xe], al
mov edx, ebx
mov word [rbp - 0x10], 0xadb1
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x49]
inc edx
xor byte [rcx], al
cmp edx, 0x12
jb 0x180003360
lea rdx, [rbp - 0x20]
mov byte [rbp - 0xe], bl
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x18000340c
movdqa xmm0, xmmword [0x180001470]
mov edx, ebx
movdqu xmmword [rbp - 0x20], xmm0
nop
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x49]
inc edx
xor byte [rcx], al
cmp edx, 0xf
jb 0x1800033a0
lea rdx, [rbp - 0x20]
mov byte [rbp - 0x11], bl
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x180003410
mov dword [rbp + 0x10], 0xd5cad6
nop dword [rax]
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rbp + 0x10]
add rcx, rax
lea eax, [rbx - 0x49]
inc ebx
xor byte [rcx], al
cmp ebx, 3
jb 0x1800033e0
lea rdx, [rbp + 0x10]
mov byte [rbp + 0x13], 0
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x180003410
mov al, 1
jmp 0x180003412
xor al, al
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop rbp
ret