Function at 0x1400edc90
Capabilities:
Encode data using xor

Disassembly:
xchg r15, rdx
mov qword [rsp + 0x10], r15
xchg rdx, r15
xchg rcx, r14
mov qword [rsp + 8], r14
xchg rcx, r14
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
push r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg r11, r9
mov r9, rdx
xchg r11, r9
mov r15d, 0x10
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rbx, rdx
mov rdx, rbx
xchg rdx, rbx
xchg r15, rcx
mov rsi, r15
xchg rcx, r15
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1400edd2d
lea r13, [0x140000000]
test r9, r9
je 0x1400edecd
movzx eax, byte [r9]
mov r10d, 4
mov byte [rsp + 0x40], al
movzx eax, byte [r9 + 1]
mov byte [rsp + 0x41], al
movzx eax, byte [r9 + 2]
mov byte [rsp + 0x42], al
movzx eax, byte [r9 + 3]
mov byte [rsp + 0x43], al
movzx eax, byte [r9 + 4]
mov byte [rsp + 0x44], al
movzx eax, byte [r9 + 5]
mov byte [rsp + 0x45], al
movzx eax, byte [r9 + 6]
mov byte [rsp + 0x46], al
movzx eax, byte [r9 + 7]
mov byte [rsp + 0x47], al
movzx eax, byte [r9 + 8]
mov byte [rsp + 0x48], al
movzx eax, byte [r9 + 9]
mov byte [rsp + 0x49], al
movzx eax, byte [r9 + 0xa]
mov byte [rsp + 0x4a], al
movzx eax, byte [r9 + 0xb]
mov byte [rsp + 0x4b], al
movzx eax, byte [r9 + 0xc]
mov byte [rsp + 0x4c], al
movzx eax, byte [r9 + 0xd]
mov byte [rsp + 0x4d], al
movzx eax, byte [r9 + 0xe]
mov byte [rsp + 0x4e], al
movzx eax, byte [r9 + 0xf]
mov byte [rsp + 0x4f], al
nop word [rax + rax]
lea edx, [r10*4 - 4]
movzx r9d, byte [rsp + rdx + 0x40]
lea eax, [rdx + 1]
movzx r8d, byte [rsp + rax + 0x40]
lea eax, [rdx + 2]
movzx r11d, byte [rsp + rax + 0x40]
lea eax, [rdx + 3]
movzx ebx, byte [rsp + rax + 0x40]
movzx edi, r8b
test r10b, 3
jne 0x1400ede6b
movzx edi, byte [r11 + r13 + 0x4320]
mov eax, r10d
movzx r11d, byte [rbx + r13 + 0x4320]
xor dil, 0xec
movzx ebx, byte [r9 + r13 + 0x4320]
xor r11b, 0xec
shr eax, 2
xor bl, 0xec
movzx ecx, al
movzx r9d, byte [rcx + r13 + 0x4520]
xor r9b, byte [r8 + r13 + 0x4320]
xor r9b, 0x46
lea edx, [r10*4 - 0x10]
xor r9b, byte [rsp + rdx + 0x40]
lea eax, [rdx + 1]
xor dil, byte [rsp + rax + 0x40]
lea r8d, [r10*4]
lea eax, [r8 + 1]
mov byte [rsp + r8 + 0x40], r9b
mov byte [rsp + rax + 0x40], dil
inc r10d
lea eax, [rdx + 2]
xor r11b, byte [rsp + rax + 0x40]
lea eax, [r8 + 2]
mov byte [rsp + rax + 0x40], r11b
lea eax, [rdx + 3]
xor bl, byte [rsp + rax + 0x40]
lea eax, [r8 + 3]
mov byte [rsp + rax + 0x40], bl
cmp r10d, 0x2c
jb 0x1400eddf1
xchg rbx, rcx
mov rcx, qword [rbp + 0x67]
xchg rbx, rcx
xchg r15, rdx
mov r15, qword [rbp + 0x7f]
xchg rdx, r15
test rdx, rdx
je 0x1400edeec
mov qword [0x14016d2a0], rdx
jmp 0x1400edef3
mov rdx, qword [0x14016d2a0]
mov edi, 9
xchg r14, rax
mov r14, rax
xchg r14, rax
xchg r12, rdi
mov qword [rsp + 0x30], r12
xchg r12, rdi
test r14d, r14d
je 0x1400ee319
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 4
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
mov rcx, rbx
sub rdx, rbx
xchg r15, rdx
mov r8, rdx
xchg r15, rdx
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x1400edf48
xchg r13, r8
mov r13, rbx
xchg r13, r8
mov rcx, rsi
sub r8, rsi
xchg rcx, r15
mov rdx, rcx
xchg rcx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400edf78
lea rax, [r9 - 0x10]
xchg rsi, r9
mov r14, r9
xchg rsi, r9
xchg r12, rax
mov qword [rbp + 0x77], r12
xchg r12, rax
xchg rdx, rax
mov rsi, rdx
xchg rdx, rax
mov edx, 4
nop dword [rax]
nop dword [rax + rax]
mov ecx, 4
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1400edfca
sub rdx, 1
jne 0x1400edfba
xchg rdi, rsi
mov rdi, qword [rbp + 0x5f]
xchg rsi, rdi
xchg r15, r9
mov r9, r15
xchg r15, r9
xchg rdi, rdx
mov qword [rbp + 0x7f], rdx
xchg rdi, rdx
mov r8, rsi
mov r9d, 4
nop dword [rax + rax]
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
mov edx, 4
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x4320]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1400ee02a
inc r8
sub r9, 1
jne 0x1400ee014
movzx eax, byte [rsi + 5]
lea r12, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r13d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
movzx edi, byte [r12 - 2]
movzx r8d, byte [r12 - 1]
movzx edx, dil
movzx ebx, byte [r12 + 1]
xor dl, r8b
movzx r10d, byte [r12]
lea r12, [r12 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 5
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r12 - 6], cl
xor dil, bl
shr al, 7
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 7
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r12 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 6
shr al, 1
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r12 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r12 - 3], cl
sub r13, 1
jne 0x1400ee0b2
mov rax, rsi
lea r8d, [r13 + 4]
mov edx, 4
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1400ee188
sub r8, 1
jne 0x1400ee178
neg r15
add r15, 0xfffffffffffffff0
neg r15
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1400ee006
mov r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
mov edx, 4
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x4320]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1400ee1ec
inc r8
sub r9, 1
jne 0x1400ee1d6
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
mov r9, qword [rsp + 0x20]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 7], cl
mov rcx, rsi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 4
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1400ee294
sub r8, 1
jne 0x1400ee284
mov rbx, qword [rbp + 0x67]
lea edi, [r8 + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [r8 + 0x10]
nop
sub rbx, 0x220f6738
add rbx, 0x220f6748
mov qword [rbp + 0x5f], r14
sub qword [rsp + 0x28], 1
xchg r13, rdx
mov r13, rsi
xchg r13, rdx
mov qword [rbp + 0x67], rbx
xchg r10, rsi
mov r10, r14
xchg rsi, r10
xchg r8, r9
mov r8, rax
xchg r9, r8
xchg r11, rax
mov qword [rsp + 0x20], r11
xchg r11, rax
jne 0x1400edf32
movzx r12d, byte [rbp + 0x6f]
mov qword [0x14016d2a0], rdx
test r12b, r12b
je 0x1400ee677
mov rcx, rsi
sub rbx, rsi
mov rdx, r15
nop
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400ee32d
movzx eax, r12b
sub r15, rax
xchg r14, r8
mov r14, r15
xchg r8, r14
lea rcx, [rax + rsi]
call fcn.140155236
lea r8, [rsp + 0x40]
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
sub r8, rsi
mov r9d, 4
nop dword [rax]
nop dword [rax + rax]
mov edx, 4
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1400ee38d
sub r9, 1
jne 0x1400ee37d
lea r14, [rsp + 0x50]
sub r14, rsi
nop