Function at 0x1401e43e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov dword [r8 + 0x104], 0x11
mov r9d, 4
mov esi, edx
shr esi, 2
mov eax, r9d
cmp esi, eax
cmova eax, esi
add eax, 6
mov dword [r8 + 0x100], eax
movzx eax, byte [rcx + 2]
movzx r11d, byte [rcx + 3]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx + 1]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx]
shl r11d, 8
or r11d, eax
mov dword [r8], r11d
movzx eax, byte [rcx + 6]
movzx ebx, byte [rcx + 7]
shl ebx, 8
or ebx, eax
movzx eax, byte [rcx + 5]
shl ebx, 8
or ebx, eax
movzx eax, byte [rcx + 4]
shl ebx, 8
or ebx, eax
mov dword [r8 + 4], ebx
movzx eax, byte [rcx + 0xa]
movzx edi, byte [rcx + 0xb]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 9]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 8]
shl edi, 8
or edi, eax
mov dword [r8 + 8], edi
movzx eax, byte [rcx + 0xe]
movzx r10d, byte [rcx + 0xf]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 0xd]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 0xc]
shl r10d, 8
or r10d, eax
cmp esi, r9d
cmova r9d, esi
xor edx, edx
mov dword [r8 + 0xc], r10d
lea eax, [r9 + 6]
mov dword [r8 + 0x100], eax
lea eax, [rax*4 + 3]
div esi
sub esi, 4
mov r9d, eax
je 0x1401e49a5
dec esi
je 0x1401e48ed
dec esi
je 0x1401e47fd
dec esi
je 0x1401e469e
dec esi
jne 0x1401e4a25
movzx eax, byte [rcx + 0x12]
movzx r13d, byte [rcx + 0x13]
shl r13d, 8
or r13d, eax
movzx eax, byte [rcx + 0x11]
shl r13d, 8
or r13d, eax
movzx eax, byte [rcx + 0x10]
shl r13d, 8
or r13d, eax
mov dword [r8 + 0x10], r13d
movzx eax, byte [rcx + 0x16]
movzx r14d, byte [rcx + 0x17]
shl r14d, 8
or r14d, eax
movzx eax, byte [rcx + 0x15]
shl r14d, 8
or r14d, eax
movzx eax, byte [rcx + 0x14]
shl r14d, 8
or r14d, eax
mov dword [r8 + 0x14], r14d
movzx eax, byte [rcx + 0x1a]
movzx r15d, byte [rcx + 0x1b]
shl r15d, 8
or r15d, eax
movzx eax, byte [rcx + 0x19]
shl r15d, 8
or r15d, eax
movzx eax, byte [rcx + 0x18]
shl r15d, 8
or r15d, eax
mov dword [r8 + 0x18], r15d
movzx eax, byte [rcx + 0x1e]
movzx ebp, byte [rcx + 0x1f]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x1d]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x1c]
shl ebp, 8
or ebp, eax
mov dword [r8 + 0x1c], ebp
test r9d, r9d
je 0x1401e4a25
mov qword [rsp + 0x30], r9
lea rsi, [0x140345d80]
lea r12, [r8 + 0x24]
lea r9, str.cwko0
nop word [rax + rax]
mov eax, ebp
add r12, 0x20
add rsi, 4
shr eax, 0x18
movzx edx, al
mov eax, ebp
mov r8d, dword [r9 + rdx*4 + 0x800]
shr eax, 0x10
movzx ecx, al
mov eax, ebp
xor r8d, dword [r9 + rcx*4 + 0x400]
shr eax, 8
movzx ecx, al
movzx eax, bpl
xor r8d, dword [r9 + rcx*4]
xor r8d, dword [r9 + rax*4 + 0xc00]
xor r8d, dword [rsi - 4]
xor r11d, r8d
xor ebx, r11d
xor edi, ebx
xor r10d, edi
mov eax, r10d
shr eax, 0x18
movzx edx, al
mov eax, r10d
mov r8d, dword [r9 + rdx*4 + 0xc00]
shr eax, 0x10
movzx ecx, al
mov eax, r10d
xor r8d, dword [r9 + rcx*4 + 0x800]
shr eax, 8
movzx ecx, al
movzx eax, r10b
xor r8d, dword [r9 + rcx*4 + 0x400]
xor r8d, dword [r9 + rax*4]
mov dword [r12 - 0x24], r11d
mov dword [r12 - 0x20], ebx
xor r13d, r8d
mov dword [r12 - 0x1c], edi
mov dword [r12 - 0x18], r10d
xor r14d, r13d
mov dword [r12 - 0x14], r13d
xor r15d, r14d
mov dword [r12 - 0x10], r14d
xor ebp, r15d
dec qword [rsp + 0x30]
mov dword [r12 - 0xc], r15d
mov dword [r12 - 8], ebp
jne 0x1401e45d0
jmp 0x1401e4a25
movzx eax, byte [rcx + 0x12]
movzx r12d, byte [rcx + 0x13]
shl r12d, 8
or r12d, eax
movzx eax, byte [rcx + 0x11]
shl r12d, 8
or r12d, eax
movzx eax, byte [rcx + 0x10]
shl r12d, 8
or r12d, eax
mov dword [r8 + 0x10], r12d
movzx eax, byte [rcx + 0x16]
movzx r13d, byte [rcx + 0x17]
shl r13d, 8
or r13d, eax
movzx eax, byte [rcx + 0x15]
shl r13d, 8
or r13d, eax
movzx eax, byte [rcx + 0x14]
shl r13d, 8
or r13d, eax
mov dword [r8 + 0x14], r13d
movzx eax, byte [rcx + 0x1a]
movzx ebp, byte [rcx + 0x1b]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x19]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x18]
shl ebp, 8
or ebp, eax
mov dword [r8 + 0x18], ebp
test r9d, r9d
je 0x1401e4a25
mov r15, r9
lea rsi, [0x140345d80]
lea r14, [r8 + 0x20]
lea r9, str.cwko0
nop word [rax + rax]
mov eax, ebp
add r14, 0x1c
add rsi, 4
shr eax, 0x18
movzx edx, al
mov eax, ebp
mov r8d, dword [r9 + rdx*4 + 0x800]
shr eax, 0x10
movzx ecx, al
mov eax, ebp
xor r8d, dword [r9 + rcx*4 + 0x400]
shr eax, 8
movzx ecx, al
movzx eax, bpl
xor r8d, dword [r9 + rcx*4]
xor r8d, dword [r9 + rax*4 + 0xc00]
xor r11d, r8d
xor r11d, dword [rsi - 4]
xor ebx, r11d
xor edi, ebx
xor r10d, edi
mov eax, r10d
shr eax, 0x18
movzx edx, al
mov eax, r10d
mov r8d, dword [r9 + rdx*4 + 0xc00]
shr eax, 0x10
movzx ecx, al
mov eax, r10d
xor r8d, dword [r9 + rcx*4 + 0x800]
shr eax, 8
movzx ecx, al
movzx eax, r10b
xor r8d, dword [r9 + rcx*4 + 0x400]
xor r8d, dword [r9 + rax*4]
mov dword [r14 - 0x20], r11d
mov dword [r14 - 0x1c], ebx
xor r12d, r8d
mov dword [r14 - 0x18], edi
mov dword [r14 - 0x14], r10d
xor r13d, r12d
mov dword [r14 - 0x10], r12d
xor ebp, r13d
dec r15
mov dword [r14 - 0xc], r13d
mov dword [r14 - 8], ebp
jne 0x1401e4740
jmp 0x1401e4a25
movzx eax, byte [rcx + 0x12]
movzx r13d, byte [rcx + 0x13]
shl r13d, 8
or r13d, eax
movzx eax, byte [rcx + 0x11]
shl r13d, 8
or r13d, eax
movzx eax, byte [rcx + 0x10]
shl r13d, 8
or r13d, eax
mov dword [r8 + 0x10], r13d
movzx eax, byte [rcx + 0x16]
movzx ebp, byte [rcx + 0x17]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x15]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x14]
shl ebp, 8
or ebp, eax
mov dword [r8 + 0x14], ebp
test r9d, r9d
je 0x1401e4a25
mov r14, r9
lea rsi, [0x140345d80]
lea r12, [r8 + 0x1c]
lea r9, str.cwko0
nop dword [rax + rax]
mov eax, ebp
add r12, 0x18
add rsi, 4
shr eax, 0x18
movzx edx, al
mov eax, ebp
mov r8d, dword [r9 + rdx*4 + 0x800]
shr eax, 0x10
movzx ecx, al
mov eax, ebp
xor r8d, dword [r9 + rcx*4 + 0x400]
shr eax, 8
movzx ecx, al
movzx eax, bpl
xor r8d, dword [r9 + rcx*4]
xor r8d, dword [r9 + rax*4 + 0xc00]
xor r8d, dword [rsi - 4]
xor r11d, r8d
xor ebx, r11d
mov dword [r12 - 0x1c], r11d
xor edi, ebx
mov dword [r12 - 0x18], ebx
xor r10d, edi
mov dword [r12 - 0x14], edi
xor r13d, r10d
mov dword [r12 - 0x10], r10d
xor ebp, r13d
dec r14
mov dword [r12 - 0xc], r13d
mov dword [r12 - 8], ebp
jne 0x1401e4870
jmp 0x1401e4a25
movzx eax, byte [rcx + 0x12]
movzx ebp, byte [rcx + 0x13]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x11]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + 0x10]
shl ebp, 8
or ebp, eax
mov dword [r8 + 0x10], ebp
test r9d, r9d
je 0x1401e4a25
mov r13, r9
lea rsi, [0x140345d80]
lea r12, [r8 + 0x18]
lea r9, str.cwko0
nop
mov eax, ebp
add r12, 0x14
add rsi, 4
shr eax, 0x18
movzx edx, al
mov eax, ebp
mov r8d, dword [r9 + rdx*4 + 0x800]
shr eax, 0x10
movzx ecx, al
mov eax, ebp
xor r8d, dword [r9 + rcx*4 + 0x400]
shr eax, 8
movzx ecx, al
movzx eax, bpl
xor r8d, dword [r9 + rcx*4]
xor r8d, dword [r9 + rax*4 + 0xc00]
xor r8d, dword [rsi - 4]
xor r11d, r8d
xor ebx, r11d
mov dword [r12 - 0x18], r11d
xor edi, ebx
mov dword [r12 - 0x14], ebx
xor r10d, edi
mov dword [r12 - 0x10], edi
xor ebp, r10d
dec r13
mov dword [r12 - 0xc], r10d
mov dword [r12 - 8], ebp
jne 0x1401e4930
jmp 0x1401e4a25
test eax, eax
je 0x1401e4a25
mov r12, r9
lea rsi, [0x140345d80]
lea rbp, [r8 + 0x14]
lea r9, str.cwko0
nop
mov eax, r10d
add rbp, 0x10
add rsi, 4
shr eax, 0x18
movzx edx, al
mov eax, r10d
mov r8d, dword [r9 + rdx*4 + 0x800]
shr eax, 0x10
movzx ecx, al
mov eax, r10d
xor r8d, dword [r9 + rcx*4 + 0x400]
shr eax, 8
movzx ecx, al
movzx eax, r10b
xor r8d, dword [r9 + rcx*4]
xor r8d, dword [r9 + rax*4 + 0xc00]
xor r8d, dword [rsi - 4]
xor r11d, r8d
xor ebx, r11d
mov dword [rbp - 0x14], r11d
xor edi, ebx
mov dword [rbp - 0x10], ebx
xor r10d, edi
dec r12
mov dword [rbp - 0xc], edi
mov dword [rbp - 8], r10d
jne 0x1401e49c0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov eax, 1
pop r15
pop r14
pop r13
pop r12
pop rdi
ret