Function at 0x140001b00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r14d, r9d
mov r10, rcx
mov r12d, 1
mov ecx, r14d
shl r12d, cl
mov ebp, 1
shl rbp, cl
mov rax, 0xffffffffffffffd2
cmp r8d, 0xff
ja 0x140001fc7
lea r9d, [r8 + 1]
lea rcx, [r9*2 + 8]
add rcx, rbp
cmp rcx, qword [rsp + 0xb8]
ja 0x140001fc7
mov rax, 0xffffffffffffffd4
cmp r14d, 0xc
ja 0x140001fc7
mov r13, qword [rsp + 0xb0]
lea ecx, [r14 - 1]
mov r11d, 0x10000
shl r11d, cl
lea eax, [r12 - 1]
sar r11d, 0x10
xor r15d, r15d
test r8d, r8d
mov qword [rsp], r9
je 0x140001c3c
and r9d, 0xfffffffe
mov si, 1
xor ebx, ebx
mov ecx, eax
jmp 0x140001bd0
mov edi, ecx
add ecx, 0xffffffff
lea ebp, [rbx + 1]
mov byte [r10 + rdi*4 + 6], bpl
mov di, 1
mov word [r13 + rbx*2 + 2], di
add rbx, 2
cmp r9, rbx
je 0x140001c34
movsx edi, word [rdx + rbx*2]
cmp edi, 0xffffffff
je 0x140001c00
cmp r11d, edi
cmovle esi, r15d
mov word [r13 + rbx*2], di
movsx edi, word [rdx + rbx*2 + 2]
cmp edi, 0xffffffff
jne 0x140001c1e
jmp 0x140001bb0
mov edi, ecx
add ecx, 0xffffffff
mov byte [r10 + rdi*4 + 6], bl
mov di, 1
mov word [r13 + rbx*2], di
movsx edi, word [rdx + rbx*2 + 2]
cmp edi, 0xffffffff
je 0x140001bb0
cmp r11d, edi
cmovle esi, r15d
mov word [r13 + rbx*2 + 2], di
add rbx, 2
cmp r9, rbx
jne 0x140001bd0
test byte [rsp], 1
jne 0x140001c4a
jmp 0x140001c71
mov si, 1
xor ebx, ebx
mov ecx, eax
test byte [rsp], 1
je 0x140001c71
movsx edi, word [rdx + rbx*2]
cmp edi, 0xffffffff
je 0x140001c5d
xor ebp, ebp
cmp r11d, edi
cmovle esi, ebp
jmp 0x140001c6b
mov ebp, ecx
add ecx, 0xffffffff
mov byte [r10 + rbp*4 + 6], bl
mov di, 1
mov word [r13 + rbx*2], di
mov word [r10], r14w
mov word [r10 + 2], si
mov r15d, r12d
cmp ecx, eax
jne 0x140001e53
mov qword [rsp + 0x18], r15
mov qword [rsp + 0x28], r14
mov ebx, r8d
lea r11, [rbx*2 + 2]
add r11, r13
mov r9d, eax
mov ecx, r12d
shr ecx, 1
mov qword [rsp + 0x20], r12
mov ebp, r12d
shr ebp, 3
lea eax, [rcx + rbp]
add eax, 3
mov qword [rsp + 0x10], rax
mov qword [rsp + 8], rbx
lea rax, [rbx*2 + 0x7a]
add rax, r13
mov qword [rsp + 0x30], rax
xor ecx, ecx
movabs rax, 0x101010101010101
xor ebp, ebp
xor r8d, r8d
mov rsi, qword [rsp]
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x40], rdx
jmp 0x140001d1c
movsx rbx, r15w
add rbp, rbx
add rcx, 1
add r8, rax
cmp rcx, rsi
mov rdx, qword [rsp + 0x40]
je 0x140001efd
movzx r15d, word [rdx + rcx*2]
mov qword [r11 + rbp], r8
cmp r15w, 9
jl 0x140001d00
cmp r15, 0x11
mov edi, 0x10
cmovae rdi, r15
lea r13, [r11 + rbp]
add rdi, 0xfffffffffffffff7
mov ebx, 8
cmp rdi, 0x18
jb 0x140001e40
shr rdi, 3
add rdi, 1
mov rdx, rdi
and rdx, 0xfffffffffffffffc
movq xmm0, r8
pshufd xmm0, xmm0, 0x44
lea rsi, [rdx - 4]
mov rbx, rsi
shr rbx, 2
add rbx, 1
mov r11d, ebx
and r11d, 3
cmp rsi, 0xc
jae 0x140001d8a
xor r12d, r12d
jmp 0x140001de1
and rbx, 0xfffffffffffffffc
mov rsi, qword [rsp + 0x30]
lea r14, [rsi + rbp]
xor r12d, r12d
nop word [rax + rax]
movdqu xmmword [r14 + r12*8 - 0x70], xmm0
movdqu xmmword [r14 + r12*8 - 0x60], xmm0
movdqu xmmword [r14 + r12*8 - 0x50], xmm0
movdqu xmmword [r14 + r12*8 - 0x40], xmm0
movdqu xmmword [r14 + r12*8 - 0x30], xmm0
movdqu xmmword [r14 + r12*8 - 0x20], xmm0
movdqu xmmword [r14 + r12*8 - 0x10], xmm0
movdqu xmmword [r14 + r12*8], xmm0
add r12, 0x10
add rbx, 0xfffffffffffffffc
jne 0x140001da0
test r11, r11
je 0x140001e0f
shl r12, 3
nop word [rax + rax]
mov rsi, r12
or rsi, 8
movdqu xmmword [r13 + rsi], xmm0
movdqu xmmword [r13 + rsi + 0x10], xmm0
add r12, 0x20
add r11, 0xffffffffffffffff
jne 0x140001df0
cmp rdi, rdx
mov rsi, qword [rsp]
mov r11, qword [rsp + 0x38]
movabs rax, 0x101010101010101
je 0x140001d00
lea rbx, [rdx*8 + 8]
nop word cs:[rax + rax]
nop dword [rax]
mov qword [r13 + rbx], r8
add rbx, 8
cmp rbx, r15
jb 0x140001e40
jmp 0x140001d00
mov ebp, r12d
shr ebp, 3
mov ebx, r12d
shr ebx, 1
add ebp, ebx
add ebp, 3
xor r11d, r11d
xor edi, edi
mov rsi, qword [rsp]
jmp 0x140001e7d
add r11, 1
cmp r11, rsi
je 0x140001f6f
movsx r8d, word [rdx + r11*2]
test r8d, r8d
jle 0x140001e70
cmp r8w, 1
je 0x140001ed0
mov r9d, r8d
and r9d, 0xfffffffe
xor ebx, ebx
nop word [rax + rax]
mov esi, edi
mov byte [r10 + rsi*4 + 6], r11b
nop word [rax + rax]
add edi, ebp
and edi, eax
cmp edi, ecx
ja 0x140001eb0
mov esi, edi
mov byte [r10 + rsi*4 + 6], r11b
nop
add edi, ebp
and edi, eax
cmp edi, ecx
ja 0x140001ec0
add ebx, 2
cmp ebx, r9d
jne 0x140001ea0
test r8b, 1
mov rsi, qword [rsp]
je 0x140001e70
mov ebx, edi
mov byte [r10 + rbx*4 + 6], r11b
nop word cs:[rax + rax]
nop dword [rax + rax]
add edi, ebp
and edi, eax
cmp edi, ecx
ja 0x140001ef0
jmp 0x140001e70
mov rsi, qword [rsp + 0x10]
lea r8, [rsi + rsi]
mov r13, qword [rsp + 0xb0]
mov rax, qword [rsp + 8]
lea rdx, [rax*2 + 3]
add rdx, r13
xor ebp, ebp
xor ebx, ebx
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x20]
mov r15, qword [rsp + 0x18]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov edi, ebx
and edi, r9d
movzx eax, byte [rdx + rbp - 1]
mov byte [r10 + rdi*4 + 6], al
lea eax, [rsi + rbx]
and eax, r9d
movzx ecx, byte [rdx + rbp]
mov byte [r10 + rax*4 + 6], cl
add ebx, r8d
and ebx, r9d
add rbp, 2
cmp rbp, r15
jb 0x140001f40
jmp 0x140001f7a
mov rax, 0xffffffffffffffff
test edi, edi
jne 0x140001fc7
add r14d, 0xffffffe1
xor eax, eax
xor edx, edx
nop word cs:[rax + rax]
nop dword [rax]
movzx ecx, byte [r10 + rdx*4 + 6]
movzx ebp, word [r13 + rcx*2]
lea ebx, [rbp + 1]
mov word [r13 + rcx*2], bx
bsr ecx, ebp
xor ecx, 0x1f
add ecx, r14d
mov byte [r10 + rdx*4 + 7], cl
shl ebp, cl
sub ebp, r12d
mov word [r10 + rdx*4 + 4], bp
add rdx, 1
cmp r15, rdx
jne 0x140001f90
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret