Function at 0x14000eb30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov rax, rcx
mov r11, qword [rsp + 0xa8]
mov r15d, dword [rsp + 0xa0]
lea esi, [r8 + 1]
mov edi, 1
mov ecx, r15d
shl edi, cl
lea rcx, [r11 + 0x6a]
mov qword [rsp + 8], rcx
lea ebx, [rdi - 1]
cmp dword [rsp + 0xb8], 0
je 0x14000ec2a
test esi, esi
je 0x14000ecda
mov qword [rsp], r9
lea ecx, [r15 - 1]
mov r15d, 0x10000
shl r15d, cl
sar r15d, 0x10
mov r9d, esi
xor r13d, r13d
test r8d, r8d
je 0x14000ecf7
mov ecx, r9d
and ecx, 0xfffffffe
mov ebp, 1
xor r12d, r12d
mov r8d, ebx
jmp 0x14000ebe8
mov r10d, r8d
dec r8d
lea esi, [r12 + 1]
mov dword [rax + r10*8 + 0xc], esi
mov r10w, 1
mov word [r11 + r12*2 + 2], r10w
add r12, 2
cmp rcx, r12
je 0x14000ed02
movsx r10d, word [rdx + r12*2]
cmp r10d, 0xffffffff
je 0x14000ec00
cmp r15d, r10d
cmovle ebp, r13d
jmp 0x14000ec10
mov r10d, r8d
dec r8d
mov dword [rax + r10*8 + 0xc], r12d
mov r10w, 1
mov word [r11 + r12*2], r10w
movsx r10d, word [rdx + r12*2 + 2]
cmp r10d, 0xffffffff
je 0x14000ebc0
cmp r15d, r10d
cmovle ebp, r13d
jmp 0x14000ebd5
test esi, esi
je 0x14000ed1e
mov qword [rsp], r9
lea ecx, [r15 - 1]
mov r15d, 0x10000
shl r15d, cl
sar r15d, 0x10
mov ecx, esi
xor r13d, r13d
test r8d, r8d
je 0x14000ed3b
mov esi, ecx
and esi, 0xfffffffe
mov ebp, 1
xor r12d, r12d
mov r8d, ebx
jmp 0x14000ec98
mov r9d, r8d
dec r8d
lea r10d, [r12 + 1]
mov dword [rax + r9*8 + 0xc], r10d
mov r10w, 1
mov word [r11 + r12*2 + 2], r10w
add r12, 2
cmp rsi, r12
je 0x14000ed46
movsx r10d, word [rdx + r12*2]
cmp r10d, 0xffffffff
je 0x14000ecb0
cmp r15d, r10d
cmovle ebp, r13d
jmp 0x14000ecc0
mov r9d, r8d
dec r8d
mov dword [rax + r9*8 + 0xc], r12d
mov r10w, 1
mov word [r11 + r12*2], r10w
movsx r10d, word [rdx + r12*2 + 2]
cmp r10d, 0xffffffff
je 0x14000ec70
cmp r15d, r10d
cmovle ebp, r13d
jmp 0x14000ec85
mov dword [rax], 1
mov dword [rax + 4], r15d
mov ecx, edi
shr ecx, 1
mov edx, edi
shr edx, 3
add edx, ecx
add edx, 3
jmp 0x14000ef8a
mov ebp, 1
xor r12d, r12d
mov r8d, ebx
test r9b, 1
je 0x14000ed81
movsx ecx, word [rdx + r12*2]
cmp ecx, 0xffffffff
je 0x14000ed6d
xor r10d, r10d
cmp r15d, ecx
cmovle ebp, r10d
jmp 0x14000ed7c
mov dword [rax], 1
mov dword [rax + 4], r15d
mov ecx, edi
shr ecx, 1
mov edx, edi
shr edx, 3
add edx, ecx
add edx, 3
jmp 0x14000f24a
mov ebp, 1
xor r12d, r12d
mov r8d, ebx
test cl, 1
je 0x14000f05d
movsx r10d, word [rdx + r12*2]
cmp r10d, 0xffffffff
je 0x14000f048
xor r9d, r9d
cmp r15d, r10d
cmovle ebp, r9d
jmp 0x14000f058
mov ecx, r8d
dec r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov cx, 1
mov word [r11 + r12*2], cx
mov dword [rax], ebp
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 4], ecx
mov r10d, edi
shr r10d, 3
cmp r8d, ebx
jne 0x14000eeb2
mov qword [rsp + 0x10], r10
movabs r12, 0x101010101010101
lea rcx, [r11 + 0x82]
mov qword [rsp + 0x18], rcx
xor ebp, ebp
xor ecx, ecx
xor r8d, r8d
mov rsi, qword [rsp + 8]
mov qword [rsp + 0x28], rdi
jmp 0x14000ede6
movsx r10, r15w
add rcx, r10
inc rbp
add r8, r12
cmp rbp, r9
je 0x14000ef70
movzx r15d, word [rdx + rbp*2]
mov qword [rsi + rcx], r8
cmp r15w, 9
jl 0x14000edd0
cmp r15, 0x11
mov r14d, 0x10
cmovae r14, r15
add r14, 0xfffffffffffffff7
mov r13d, 8
cmp r14, 0x18
jb 0x14000ee8f
mov rdi, r9
mov r9, r12
shr r14, 3
inc r14
mov r10, r14
movabs rsi, 0x3ffffffffffffffc
and r10, rsi
lea r13, [r10*8]
or r13, 8
movq xmm0, r8
pshufd xmm0, xmm0, 0x44
mov rsi, qword [rsp + 0x18]
lea r12, [rsi + rcx]
xor esi, esi
nop word cs:[rax + rax]
movdqu xmmword [r12 + rsi*8 - 0x10], xmm0
movdqu xmmword [r12 + rsi*8], xmm0
add rsi, 4
cmp r10, rsi
jne 0x14000ee60
cmp r14, r10
mov rsi, qword [rsp + 8]
mov r12, r9
mov r9, rdi
mov rdi, qword [rsp + 0x28]
je 0x14000edd0
lea r10, [rsi + rcx]
nop word cs:[rax + rax]
mov qword [r10 + r13], r8
add r13, 8
cmp r13, r15
jb 0x14000eea0
jmp 0x14000edd0
mov ecx, edi
shr ecx, 1
lea ebp, [r10 + rcx]
add ebp, 3
xor r14d, r14d
xor r15d, r15d
jmp 0x14000eedc
inc r14
cmp r14, r9
je 0x14000efd2
movsx ecx, word [rdx + r14*2]
test ecx, ecx
jle 0x14000eed0
cmp cx, 1
je 0x14000ef44
mov r12d, ecx
and r12d, 0xfffffffe
xor r13d, r13d
nop word cs:[rax + rax]
mov r10d, r15d
mov dword [rax + r10*8 + 0xc], r14d
nop dword [rax + rax]
add r15d, ebp
and r15d, ebx
cmp r15d, r8d
ja 0x14000ef10
mov r10d, r15d
mov dword [rax + r10*8 + 0xc], r14d
nop word cs:[rax + rax]
add r15d, ebp
and r15d, ebx
cmp r15d, r8d
ja 0x14000ef30
add r13d, 2
cmp r13d, r12d
jne 0x14000ef00
test cl, 1
je 0x14000eed0
mov ecx, r15d
mov dword [rax + rcx*8 + 0xc], r14d
nop word cs:[rax + rax]
add r15d, ebp
and r15d, ebx
cmp r15d, r8d
ja 0x14000ef60
jmp 0x14000eed0
mov ecx, edi
shr ecx, 1
mov rdx, qword [rsp + 0x10]
add edx, ecx
add edx, 3
mov r9, qword [rsp]
mov r15d, dword [rsp + 0xa0]
mov ecx, ebx
mov r8d, edx
mov edx, edi
lea rsi, [r8 + r8]
xor r10d, r10d
xor ebx, ebx
nop word [rax + rax]
mov r14d, ebx
and r14d, ecx
movzx ebp, byte [r11 + r10 + 0x6a]
mov dword [rax + r14*8 + 0xc], ebp
lea r14d, [r8 + rbx]
and r14d, ecx
movzx ebp, byte [r11 + r10 + 0x6b]
mov dword [rax + r14*8 + 0xc], ebp
add ebx, esi
and ebx, ecx
add r10, 2
cmp r10, rdx
jb 0x14000efa0
jmp 0x14000efe0
mov edx, edi
mov r9, qword [rsp]
mov r15d, dword [rsp + 0xa0]
xor r8d, r8d
mov r14, qword [rsp + 0x98]
nop dword [rax + rax]
mov ebx, dword [rax + r8*8 + 0xc]
movzx r10d, word [r11 + rbx*2]
lea esi, [r10 + 1]
bsr ecx, r10d
xor ecx, 0x1f
add ecx, 0xffffffe1
test r10d, r10d
mov word [r11 + rbx*2], si
cmove ecx, r10d
add ecx, r15d
mov byte [rax + r8*8 + 0xb], cl
shl r10d, cl
sub r10d, edi
mov word [rax + r8*8 + 8], r10w
movzx ecx, byte [r14 + rbx*4]
mov byte [rax + r8*8 + 0xa], cl
mov ecx, dword [r9 + rbx*4]
mov dword [rax + r8*8 + 0xc], ecx
inc r8
cmp rdx, r8
jne 0x14000eff0
jmp 0x14000f303
mov r9d, r8d
dec r8d
mov dword [rax + r9*8 + 0xc], r12d
mov r10w, 1
mov word [r11 + r12*2], r10w
mov dword [rax], ebp
mov r9d, dword [rsp + 0xa0]
mov dword [rax + 4], r9d
mov r10d, edi
shr r10d, 3
cmp r8d, ebx
jne 0x14000f172
mov qword [rsp + 0x20], r10
movabs r12, 0x101010101010101
lea r8, [r11 + 0x82]
mov qword [rsp + 0x10], r8
xor ebp, ebp
xor esi, esi
xor r8d, r8d
mov r14, qword [rsp + 8]
mov qword [rsp + 0x18], rcx
jmp 0x14000f0c6
movsx r9, r15w
add rsi, r9
inc rbp
add r8, r12
cmp rbp, rcx
je 0x14000f230
movzx r15d, word [rdx + rbp*2]
mov qword [r14 + rsi], r8
cmp r15w, 9
jl 0x14000f0b0
cmp r15, 0x11
mov r10d, 0x10
cmovae r10, r15
add r10, 0xfffffffffffffff7
mov r13d, 8
cmp r10, 0x18
jb 0x14000f15c
mov rcx, r12
shr r10, 3
inc r10
mov r14, r10
movabs r9, 0x3ffffffffffffffc
and r14, r9
lea r13, [r14*8]
or r13, 8
movq xmm0, r8
pshufd xmm0, xmm0, 0x44
mov r9, qword [rsp + 0x10]
lea r12, [r9 + rsi]
xor r9d, r9d
movdqu xmmword [r12 + r9*8 - 0x10], xmm0
movdqu xmmword [r12 + r9*8], xmm0
add r9, 4
cmp r14, r9
jne 0x14000f130
cmp r10, r14
mov r14, qword [rsp + 8]
mov r12, rcx
mov rcx, qword [rsp + 0x18]
je 0x14000f0b0
lea r10, [r14 + rsi]
mov qword [r10 + r13], r8
add r13, 8
cmp r13, r15
jb 0x14000f160
jmp 0x14000f0b0
mov r9d, edi
shr r9d, 1
lea ebp, [r10 + r9]
add ebp, 3
xor r14d, r14d
xor r15d, r15d
jmp 0x14000f19c
inc r14
cmp r14, rcx
je 0x14000f292
movsx esi, word [rdx + r14*2]
test esi, esi
jle 0x14000f190
cmp si, 1
je 0x14000f204
mov r12d, esi
and r12d, 0xfffffffe
xor r13d, r13d
nop word cs:[rax + rax]
mov r9d, r15d
mov dword [rax + r9*8 + 0xc], r14d
nop dword [rax + rax]
add r15d, ebp
and r15d, ebx
cmp r15d, r8d
ja 0x14000f1d0
mov r9d, r15d
mov dword [rax + r9*8 + 0xc], r14d
nop word cs:[rax + rax]
add r15d, ebp
and r15d, ebx
cmp r15d, r8d
ja 0x14000f1f0
add r13d, 2
cmp r13d, r12d
jne 0x14000f1c0
test sil, 1
je 0x14000f190
mov r9d, r15d
mov dword [rax + r9*8 + 0xc], r14d
nop word cs:[rax + rax]
add r15d, ebp
and r15d, ebx
cmp r15d, r8d
ja 0x14000f220
jmp 0x14000f190
mov ecx, edi
shr ecx, 1
mov rdx, qword [rsp + 0x20]
add edx, ecx
add edx, 3
mov r9, qword [rsp]
mov r15d, dword [rsp + 0xa0]
mov ecx, ebx
mov r8d, edx
mov edx, edi
lea rsi, [r8 + r8]
xor r10d, r10d
xor ebx, ebx
nop word [rax + rax]
mov r14d, ebx
and r14d, ecx
movzx ebp, byte [r11 + r10 + 0x6a]
mov dword [rax + r14*8 + 0xc], ebp
lea r14d, [r8 + rbx]
and r14d, ecx
movzx ebp, byte [r11 + r10 + 0x6b]
mov dword [rax + r14*8 + 0xc], ebp
add ebx, esi
and ebx, ecx
add r10, 2
cmp r10, rdx
jb 0x14000f260
jmp 0x14000f2a0
mov edx, edi
mov r9, qword [rsp]
mov r15d, dword [rsp + 0xa0]
mov r14, qword [rsp + 0x98]
xor r8d, r8d
nop dword [rax + rax]
mov ebx, dword [rax + r8*8 + 0xc]
movzx r10d, word [r11 + rbx*2]
lea esi, [r10 + 1]
bsr ecx, r10d
xor ecx, 0x1f
add ecx, 0xffffffe1
test r10d, r10d
mov word [r11 + rbx*2], si
cmove ecx, r10d
add ecx, r15d
mov byte [rax + r8*8 + 0xb], cl
shl r10d, cl
sub r10d, edi
mov word [rax + r8*8 + 8], r10w
movzx ecx, byte [r14 + rbx*4]
mov byte [rax + r8*8 + 0xa], cl
mov ecx, dword [r9 + rbx*4]
mov dword [rax + r8*8 + 0xc], ecx
inc r8
cmp rdx, r8
jne 0x14000f2b0
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret