Function at 0x1401061d0
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 r10d, dword [rsp + 0xa0]
lea esi, [r8 + 1]
mov edi, 1
mov ecx, r10d
shl edi, cl
lea rcx, [r11 + 0x6a]
mov qword [rsp + 0x10], rcx
lea ebx, [rdi - 1]
cmp dword [rsp + 0xb8], 0
je 0x1401062ca
test esi, esi
je 0x14010637a
mov qword [rsp + 8], r9
lea ecx, [r10 - 1]
mov r15d, 0x10000
shl r15d, cl
sar r15d, 0x10
mov ecx, esi
xor r13d, r13d
test r8d, r8d
mov qword [rsp], rcx
je 0x140106397
and ecx, 0xfffffffe
mov ebp, 1
xor r12d, r12d
mov r8d, ebx
jmp 0x140106288
mov r9d, r8d
dec r8d
lea esi, [r12 + 1]
mov dword [rax + r9*8 + 0xc], esi
mov r14w, 1
mov word [r11 + r12*2 + 2], r14w
add r12, 2
cmp rcx, r12
je 0x1401063a2
movsx r14d, word [rdx + r12*2]
cmp r14d, 0xffffffff
je 0x1401062a0
cmp r15d, r14d
cmovle ebp, r13d
jmp 0x1401062b0
mov r9d, r8d
dec r8d
mov dword [rax + r9*8 + 0xc], r12d
mov r14w, 1
mov word [r11 + r12*2], r14w
movsx r14d, word [rdx + r12*2 + 2]
cmp r14d, 0xffffffff
je 0x140106260
cmp r15d, r14d
cmovle ebp, r13d
jmp 0x140106275
test esi, esi
je 0x1401063cb
mov qword [rsp + 8], r9
lea ecx, [r10 - 1]
mov r15d, 0x10000
shl r15d, cl
sar r15d, 0x10
mov esi, esi
xor r13d, r13d
test r8d, r8d
mov qword [rsp], rsi
je 0x1401063e8
and esi, 0xfffffffe
mov ebp, 1
xor r12d, r12d
mov r8d, ebx
jmp 0x140106338
mov ecx, r8d
dec r8d
lea r9d, [r12 + 1]
mov dword [rax + rcx*8 + 0xc], r9d
mov r14w, 1
mov word [r11 + r12*2 + 2], r14w
add r12, 2
cmp rsi, r12
je 0x1401063f3
movsx r14d, word [rdx + r12*2]
cmp r14d, 0xffffffff
je 0x140106350
cmp r15d, r14d
cmovle ebp, r13d
jmp 0x140106360
mov ecx, r8d
dec r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov r14w, 1
mov word [r11 + r12*2], r14w
movsx r14d, word [rdx + r12*2 + 2]
cmp r14d, 0xffffffff
je 0x140106310
cmp r15d, r14d
cmovle ebp, r13d
jmp 0x140106325
mov dword [rax], 1
mov dword [rax + 4], r10d
mov ecx, edi
shr ecx, 1
mov edx, edi
shr edx, 3
add edx, ecx
add edx, 3
jmp 0x140106623
mov ebp, 1
xor r12d, r12d
mov r8d, ebx
mov r14, qword [rsp]
test r14b, 1
mov rsi, qword [rsp + 0x10]
je 0x140106435
movsx ecx, word [rdx + r12*2]
cmp ecx, 0xffffffff
je 0x140106421
xor r9d, r9d
cmp r15d, ecx
cmovle ebp, r9d
jmp 0x140106430
mov dword [rax], 1
mov dword [rax + 4], r10d
mov ecx, edi
shr ecx, 1
mov edx, edi
shr edx, 3
add edx, ecx
add edx, 3
jmp 0x1401068b3
mov ebp, 1
xor r12d, r12d
mov r8d, ebx
mov r14, qword [rsp]
test r14b, 1
mov r9, qword [rsp + 0x10]
je 0x1401066ee
movsx esi, word [rdx + r12*2]
cmp esi, 0xffffffff
je 0x1401066da
xor ecx, ecx
cmp r15d, esi
cmovle ebp, ecx
jmp 0x1401066e9
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 dword [rax + 4], r10d
mov r9d, edi
shr r9d, 3
cmp r8d, ebx
jne 0x140106552
mov qword [rsp + 0x18], r9
movabs r9, 0x101010101010101
lea rcx, [r11 + 0x82]
mov qword [rsp + 0x20], rcx
xor r13d, r13d
xor ecx, ecx
xor ebp, ebp
mov qword [rsp + 0x28], rdx
jmp 0x140106496
movsx r8, r15w
add rcx, r8
inc r13
add rbp, r9
cmp r13, r14
je 0x140106610
movzx r15d, word [rdx + r13*2]
mov qword [rsi + rcx], rbp
cmp r15w, 9
jl 0x140106480
cmp r15, 0x11
mov r8d, 0x10
cmovae r8, r15
add r8, 0xfffffffffffffff7
mov r12d, 8
cmp r8, 0x18
jb 0x140106536
mov rdx, rdi
mov rdi, r10
mov r10, r9
shr r8, 3
inc r8
mov r14, r8
and r14, 0xfffffffffffffffc
lea r12, [r14*8 + 8]
movq xmm0, rbp
pshufd xmm0, xmm0, 0x44
mov r9, qword [rsp + 0x20]
lea rsi, [r9 + rcx]
xor r9d, r9d
nop dword [rax]
movdqu xmmword [rsi + r9*8 - 0x10], xmm0
movdqu xmmword [rsi + r9*8], xmm0
add r9, 4
cmp r14, r9
jne 0x140106500
cmp r8, r14
mov rsi, qword [rsp + 0x10]
mov r14, qword [rsp]
mov r9, r10
mov r10, rdi
mov rdi, rdx
mov rdx, qword [rsp + 0x28]
je 0x140106480
lea r8, [rsi + rcx]
nop word [rax + rax]
mov qword [r8 + r12], rbp
add r12, 8
cmp r12, r15
jb 0x140106540
jmp 0x140106480
mov ecx, edi
shr ecx, 1
lea ebp, [r9 + rcx]
add ebp, 3
xor r14d, r14d
xor r15d, r15d
jmp 0x14010657d
inc r14
cmp r14, qword [rsp]
je 0x140106674
movsx ecx, word [rdx + r14*2]
test ecx, ecx
jle 0x140106570
cmp cx, 1
je 0x1401065e4
mov r12d, ecx
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 0x1401065b0
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 0x1401065d0
add r13d, 2
cmp r13d, r12d
jne 0x1401065a0
test cl, 1
je 0x140106570
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 0x140106600
jmp 0x140106570
mov ecx, edi
shr ecx, 1
mov rdx, qword [rsp + 0x18]
add edx, ecx
add edx, 3
mov r9, qword [rsp + 8]
mov ecx, ebx
mov r8d, edx
mov edx, edi
lea rsi, [r8 + r8]
xor ebx, ebx
xor r14d, r14d
nop word cs:[rax + rax]
mov r15d, r14d
and r15d, ecx
movzx ebp, byte [r11 + rbx + 0x6a]
mov dword [rax + r15*8 + 0xc], ebp
lea r15d, [r8 + r14]
and r15d, ecx
movzx ebp, byte [r11 + rbx + 0x6b]
mov dword [rax + r15*8 + 0xc], ebp
add r14d, esi
and r14d, ecx
add rbx, 2
cmp rbx, rdx
jb 0x140106640
jmp 0x14010667b
mov edx, edi
mov r9, qword [rsp + 8]
add r10d, 0xffffffe1
xor r8d, r8d
mov r14, qword [rsp + 0x98]
nop word [rax + rax]
mov ebx, dword [rax + r8*8 + 0xc]
movzx esi, word [r11 + rbx*2]
lea ecx, [rsi + 1]
mov word [r11 + rbx*2], cx
bsr ecx, esi
xor ecx, 0x1f
add ecx, r10d
mov byte [rax + r8*8 + 0xb], cl
shl esi, cl
sub esi, edi
mov word [rax + r8*8 + 8], si
movzx ecx, byte [r14 + rbx]
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 0x140106690
jmp 0x140106965
mov ecx, r8d
dec r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov si, 1
mov word [r11 + r12*2], si
mov dword [rax], ebp
mov dword [rax + 4], r10d
mov esi, edi
shr esi, 3
cmp r8d, ebx
jne 0x1401067e2
mov qword [rsp + 0x18], rsi
lea rcx, [r11 + 0x82]
mov qword [rsp + 0x20], rcx
xor r13d, r13d
xor esi, esi
xor ebp, ebp
jmp 0x140106740
movsx rcx, r15w
add rsi, rcx
inc r13
movabs rcx, 0x101010101010101
add rbp, rcx
cmp r13, r14
je 0x1401068a0
movzx r15d, word [rdx + r13*2]
mov qword [r9 + rsi], rbp
cmp r15w, 9
jl 0x140106720
cmp r15, 0x11
mov r8d, 0x10
cmovae r8, r15
add r8, 0xfffffffffffffff7
mov r12d, 8
cmp r8, 0x18
jb 0x1401067c8
shr r8, 3
inc r8
mov r14, r8
and r14, 0xfffffffffffffffc
lea r12, [r14*8 + 8]
movq xmm0, rbp
pshufd xmm0, xmm0, 0x44
mov rcx, qword [rsp + 0x20]
lea r9, [rcx + rsi]
xor ecx, ecx
nop dword [rax]
movdqu xmmword [r9 + rcx*8 - 0x10], xmm0
movdqu xmmword [r9 + rcx*8], xmm0
add rcx, 4
cmp r14, rcx
jne 0x1401067a0
cmp r8, r14
mov r9, qword [rsp + 0x10]
mov r14, qword [rsp]
je 0x140106720
lea r8, [r9 + rsi]
nop dword [rax]
mov qword [r8 + r12], rbp
add r12, 8
cmp r12, r15
jb 0x1401067d0
jmp 0x140106720
mov ecx, edi
shr ecx, 1
lea ebp, [rsi + rcx]
add ebp, 3
xor r14d, r14d
xor r15d, r15d
jmp 0x14010680d
inc r14
cmp r14, qword [rsp]
je 0x140106904
movsx esi, word [rdx + r14*2]
test esi, esi
jle 0x140106800
cmp si, 1
je 0x140106874
mov r12d, esi
and r12d, 0xfffffffe
xor r13d, r13d
nop word cs:[rax + rax]
mov ecx, r15d
mov dword [rax + rcx*8 + 0xc], r14d
nop dword [rax + rax]
add r15d, ebp
and r15d, ebx
cmp r15d, r8d
ja 0x140106840
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 0x140106860
add r13d, 2
cmp r13d, r12d
jne 0x140106830
test sil, 1
je 0x140106800
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 0x140106890
jmp 0x140106800
mov ecx, edi
shr ecx, 1
mov rdx, qword [rsp + 0x18]
add edx, ecx
add edx, 3
mov r9, qword [rsp + 8]
mov ecx, ebx
mov r8d, edx
mov edx, edi
lea rsi, [r8 + r8]
xor ebx, ebx
xor r14d, r14d
nop word cs:[rax + rax]
mov r15d, r14d
and r15d, ecx
movzx ebp, byte [r11 + rbx + 0x6a]
mov dword [rax + r15*8 + 0xc], ebp
lea r15d, [r8 + r14]
and r15d, ecx
movzx ebp, byte [r11 + rbx + 0x6b]
mov dword [rax + r15*8 + 0xc], ebp
add r14d, esi
and r14d, ecx
add rbx, 2
cmp rbx, rdx
jb 0x1401068d0
jmp 0x14010690b
mov edx, edi
mov r9, qword [rsp + 8]
mov r14, qword [rsp + 0x98]
add r10d, 0xffffffe1
xor r8d, r8d
nop word [rax + rax]
mov ebx, dword [rax + r8*8 + 0xc]
movzx esi, word [r11 + rbx*2]
lea ecx, [rsi + 1]
mov word [r11 + rbx*2], cx
bsr ecx, esi
xor ecx, 0x1f
add ecx, r10d
mov byte [rax + r8*8 + 0xb], cl
shl esi, cl
sub esi, edi
mov word [rax + r8*8 + 8], si
movzx ecx, byte [r14 + rbx]
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 0x140106920
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret