Function at 0x180001740
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
xor eax, eax
movsxd r14, edx
mov qword [rsp + 0xe8], rdi
xor ebx, ebx
mov rdi, r14
mov dword [rbp + 0x77], ebx
shl rdi, 4
mov rdx, r9
add rdi, rcx
mov word [rbp - 0x49], bx
lea rcx, [rbp - 0x49]
mov qword [rbp - 0x47], rax
mov rsi, r8
mov dword [rbp - 0x3f], eax
mov word [rbp - 0x3b], ax
call fcn.180001fc0
movzx eax, word [rdi]
xor word [rbp - 0x49], ax
movzx eax, word [rdi + 2]
xor word [rbp - 0x47], ax
movzx eax, word [rdi + 4]
xor word [rbp - 0x45], ax
movzx eax, word [rdi + 6]
xor word [rbp - 0x43], ax
movzx eax, word [rdi + 8]
xor word [rbp - 0x41], ax
movzx eax, word [rdi + 0xa]
xor word [rbp - 0x3f], ax
movzx eax, word [rdi + 0xc]
xor word [rbp - 0x3d], ax
movzx eax, word [rdi + 0xe]
sub rdi, 0x10
xor word [rbp - 0x3b], ax
cmp r14d, 1
jle 0x180001936
movdqa xmm4, xmmword [0x180004100]
dec r14d
movdqa xmm5, xmmword [0x1800040d0]
movaps xmmword [rsp + 0x80], xmm6
movdqa xmm6, xmmword [0x1800040c0]
movaps xmmword [rsp + 0x70], xmm7
movdqa xmm7, xmmword [str.________pppppppp]
movaps xmmword [rsp + 0x60], xmm8
movdqa xmm8, xmmword [0x1800040e0]
movaps xmmword [rsp + 0x50], xmm9
movdqa xmm9, xmmword [0x1800040f0]
movaps xmmword [rsp + 0x40], xmm10
movdqa xmm10, xmmword [0x1800040a0]
nop dword [rax]
movdqu xmm2, xmmword [rbp - 0x49]
lea rcx, [rbp - 0x49]
mov edx, 1
movdqa xmm0, xmm8
movdqa xmm1, xmm4
andps xmm0, xmm2
andps xmm1, xmm2
psllw xmm1, 1
movdqa xmm3, xmm2
psrlw xmm3, 1
andps xmm3, xmm7
orps xmm3, xmm0
movdqa xmm0, xmm9
andps xmm0, xmm2
psrlw xmm3, 1
orps xmm3, xmm0
movdqa xmm0, xmm5
andps xmm0, xmm2
psrlw xmm3, 1
orps xmm1, xmm0
movdqa xmm0, xmm6
andps xmm0, xmm2
psllw xmm1, 1
orps xmm1, xmm0
movdqa xmm0, xmm10
psllw xmm1, 1
andps xmm0, xmm2
orps xmm3, xmm1
orps xmm3, xmm0
movdqu xmmword [rbp - 0x49], xmm3
call fcn.180002420
movzx eax, word [rdi]
lea rcx, [rbp - 0x49]
xor word [rbp - 0x49], ax
mov edx, 1
movzx eax, word [rdi + 2]
xor word [rbp - 0x47], ax
movzx eax, word [rdi + 4]
xor word [rbp - 0x45], ax
movzx eax, word [rdi + 6]
xor word [rbp - 0x43], ax
movzx eax, word [rdi + 8]
xor word [rbp - 0x41], ax
movzx eax, word [rdi + 0xa]
xor word [rbp - 0x3f], ax
movzx eax, word [rdi + 0xc]
xor word [rbp - 0x3d], ax
movzx eax, word [rdi + 0xe]
sub rdi, 0x10
xor word [rbp - 0x3b], ax
call fcn.180002140
sub r14, 1
jne 0x180001840
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
movdqu xmm2, xmmword [rbp - 0x49]
lea rcx, [rbp - 0x49]
mov edx, 1
movdqa xmm3, xmmword [0x180004100]
movdqa xmm0, xmmword [0x1800040d0]
andps xmm3, xmm2
andps xmm0, xmm2
psllw xmm3, 1
orps xmm3, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmmword [0x1800040c0]
andps xmm0, xmm2
psrlw xmm1, 1
andps xmm1, xmmword [str.________pppppppp]
psllw xmm3, 1
orps xmm3, xmm0
movdqa xmm0, xmmword [0x1800040e0]
andps xmm0, xmm2
psllw xmm3, 1
orps xmm1, xmm0
movdqa xmm0, xmmword [0x1800040f0]
andps xmm0, xmm2
psrlw xmm1, 1
orps xmm1, xmm0
movdqa xmm0, xmmword [0x1800040a0]
psrlw xmm1, 1
andps xmm0, xmm2
orps xmm3, xmm1
orps xmm3, xmm0
movdqu xmmword [rbp - 0x49], xmm3
call fcn.180002420
movzx r10d, word [rbp - 0x49]
xor r10w, word [rdi]
movzx r11d, word [rbp - 0x47]
xor r11w, word [rdi + 2]
movzx eax, word [rbp - 0x3d]
xor ax, word [rdi + 0xc]
movzx r14d, word [rbp - 0x45]
xor r14w, word [rdi + 4]
movzx r15d, word [rbp - 0x43]
xor r15w, word [rdi + 6]
movzx r12d, word [rbp - 0x41]
xor r12w, word [rdi + 8]
movzx r13d, word [rbp - 0x3f]
xor r13w, word [rdi + 0xa]
movzx ecx, word [rbp - 0x3b]
xor cx, word [rdi + 0xe]
mov rdi, qword [rsp + 0xe8]
mov word [rbp + 0x6f], cx
mov word [rbp + 0x67], ax
nop word [rax + rax]
mov eax, ebx
mov r9d, 4
movzx ebx, word [rbp + 0x67]
nop dword [rax]
movzx r8d, cx
movzx edx, bx
movzx ecx, ax
add eax, 4
shr dx, cl
and dl, 1
shr r8w, cl
add r8b, r8b
or r8b, dl
movzx edx, r13w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r12w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r15w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r14w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r11w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r10w
shr dx, cl
add r8b, r8b
movzx ecx, word [rbp + 0x6f]
and dl, 1
or r8b, dl
mov byte [rsi], r8b
inc rsi
sub r9, 1
jne 0x180001a40
mov ebx, dword [rbp + 0x77]
inc ebx
mov dword [rbp + 0x77], ebx
cmp ebx, 4
jl 0x180001a30
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret