Function at 0x1401133d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
mov qword [rsp + 0x58], rcx
cmp rdx, 2
jb 0x140113aa8
mov rsi, r8
mov r8, rdx
movabs rax, 0x3fffffffffffffff
add rax, rdx
mov rcx, rax
or rcx, rdx
shr rcx, 0x20
je 0x140113418
xor edx, edx
div r8
jmp 0x14011341d
xor edx, edx
div r8d
mov qword [rsp + 0x70], rax
cmp r8, 0x1001
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x60], r8
jae 0x14011344d
mov rax, r8
shr rax, 1
sub r8, rax
cmp r8, 0x40
mov eax, 0x40
cmovb rax, r8
jmp 0x14011345a
mov rcx, r8
call fcn.140223cd0
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
lea rcx, [rax + 4]
mov qword [rsp + 0x68], rcx
add rax, 0xfffffffffffffffc
mov qword [rsp + 0x80], rax
mov r15d, 1
xor r8d, r8d
xor r13d, r13d
mov qword [rsp + 0x40], rsi
nop word [rax + rax]
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
lea rax, [rax + r8*4]
mov qword [rsp + 0x48], rax
sub rdx, r8
jbe 0x140113520
mov rbp, r8
cmp rdx, qword [rsp + 0x50]
jae 0x140113540
cmp byte [rsp + 0x360], 0
je 0x14011354e
cmp rdx, 0x20
mov eax, 0x20
cmovae rdx, rax
mov rax, qword [rsp + 0x368]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rdi, rdx
mov r8, rsi
mov r9, qword [rsp + 0x38]
call fcn.140118a50
mov r9, qword [rsp + 0x38]
mov eax, edi
lea rcx, [rax*2 + 1]
jmp 0x14011373d
xor ecx, ecx
mov eax, 1
mov qword [rsp + 0x78], rax
cmp r13, 2
jae 0x1401137a0
jmp 0x140113a36
cmp rdx, 2
jae 0x14011356a
mov rax, rdx
jmp 0x140113730
mov rax, qword [rsp + 0x50]
cmp rax, rdx
cmovb rdx, rax
add rdx, rdx
mov rsi, qword [rsp + 0x40]
mov rcx, rdx
jmp 0x14011373d
mov rdi, rdx
mov rdx, qword [rsp + 0x48]
lea r12, [rdx + 4]
mov rcx, r12
call fcn.14012ae50
mov ebx, eax
cmp al, 0xff
je 0x1401135d1
mov eax, 2
mov rcx, rdi
cmp rdi, 2
mov r9, qword [rsp + 0x38]
je 0x140113730
mov rax, qword [rsp + 0x68]
lea r14, [rax + rbp*4]
mov esi, 2
nop dword [rax]
mov rdx, r14
add r14, 4
mov rcx, r14
call fcn.14012ae50
cmp al, 0xff
je 0x140113653
inc rsi
cmp rdi, rsi
jne 0x1401135b0
jmp 0x14011363b
mov rax, rdi
cmp rdi, 2
jne 0x140113603
mov eax, 2
mov ecx, 1
mov rdx, r12
cmp rcx, 1
movabs rbx, 0x3ffffffffffffffe
jne 0x1401136b3
xor r8d, r8d
jmp 0x140113706
mov rax, qword [rsp + 0x68]
lea r14, [rax + rbp*4]
mov esi, 2
nop word cs:[rax + rax]
mov rdx, r14
add r14, 4
mov rcx, r14
call fcn.14012ae50
cmp al, 0xff
jne 0x140113653
inc rsi
cmp rdi, rsi
jne 0x140113620
mov rdx, rdi
mov rsi, rdi
cmp rsi, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
jb 0x1401134b6
jmp 0x140113666
mov rdx, rdi
cmp rsi, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
jb 0x1401134b6
cmp bl, 0xff
je 0x140113673
mov rax, rsi
jmp 0x140113730
mov eax, 1
cmp rsi, 2
jb 0x140113730
mov rcx, rsi
shr rcx, 1
mov rax, qword [rsp + 0x48]
lea rdx, [rax + rsi*4]
lea rax, [rcx*4]
sub rdx, rax
mov rax, rsi
cmp rcx, 1
movabs rbx, 0x3ffffffffffffffe
je 0x1401135fb
mov r9, rcx
and r9, 0xfffffffffffffffe
lea r10, [rdx + rcx*4]
add r10, 0xfffffffffffffffc
xor r8d, r8d
nop word cs:[rax + rax]
mov r11d, dword [r10]
mov esi, dword [r12 + r8*4 - 4]
mov dword [r12 + r8*4 - 4], r11d
mov dword [r10], esi
mov r11, r8
xor r11, rbx
add r11, rcx
mov esi, dword [rdx + r11*4]
mov edi, dword [r12 + r8*4]
mov dword [r12 + r8*4], esi
mov dword [rdx + r11*4], edi
add r8, 2
add r10, 0xfffffffffffffff8
cmp r9, r8
jne 0x1401136d0
test cl, 1
je 0x140113729
mov r9, r8
not r9
add rcx, r9
mov r9d, dword [rdx + rcx*4]
mov r11, qword [rsp + 0x48]
mov r10d, dword [r11 + r8*4]
mov dword [r11 + r8*4], r9d
mov dword [rdx + rcx*4], r10d
mov r9, qword [rsp + 0x38]
nop
lea rcx, [rax*2 + 1]
mov rsi, qword [rsp + 0x40]
mov r8, rbp
mov rax, r15
shr rax, 1
mov qword [rsp + 0x78], rcx
shr rcx, 1
lea rdx, [rbp*2]
sub rdx, rax
lea rax, [rcx + rbp*2]
mov rcx, qword [rsp + 0x70]
imul rdx, rcx
imul rax, rcx
xor rax, rdx
je 0x140113782
bsr rcx, rax
xor rcx, 0x3f
cmp r13, 2
jae 0x1401137a0
jmp 0x140113a36
mov ecx, 0x40
cmp r13, 2
jb 0x140113a36
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x80]
lea rax, [rax + r8*4]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x90], rcx
jmp 0x140113809
mov rbx, r12
mov r14, rsi
sub r15, r14
mov rcx, rbx
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov r9, qword [rsp + 0x38]
lea r15, [rdi*2 + 1]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
cmp r13, 1
jbe 0x140113a30
cmp byte [rsp + r13 + 0xa5], cl
jb 0x140113a36
dec r13
mov r12, qword [rsp + r13*8 + 0xe8]
mov r14, r12
shr r14, 1
mov rbp, r15
shr rbp, 1
lea rdi, [r14 + rbp]
cmp rdi, r9
ja 0x140113860
mov eax, r12d
or eax, r15d
and eax, 1
jne 0x140113860
add rdi, rdi
mov r15, rdi
cmp r13, 1
ja 0x140113809
jmp 0x140113a30
mov rax, r8
sub rax, rdi
mov rcx, qword [rsp + 0x58]
lea rbx, [rcx + rax*4]
test r12b, 1
jne 0x1401138d0
mov rax, r14
or rax, 1
bsr rax, rax
xor eax, 0x3f
add eax, eax
xor eax, 0x7e
mov rcx, qword [rsp + 0x368]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], 0
mov rcx, rbx
mov rdx, r14
mov r8, rsi
mov r9, qword [rsp + 0x38]
call fcn.140118a50
mov r9, qword [rsp + 0x38]
test r15b, 1
je 0x1401138d6
cmp r15, 2
jae 0x140113926
jmp 0x1401137e2
test r15b, 1
jne 0x1401138c0
lea rcx, [rbx + r14*4]
mov rax, rbp
or rax, 1
bsr rax, rax
xor eax, 0x3f
add eax, eax
xor eax, 0x7e
mov rdx, qword [rsp + 0x368]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], 0
mov rdx, rbp
mov r8, rsi
mov r9, qword [rsp + 0x38]
call fcn.140118a50
mov r9, qword [rsp + 0x38]
cmp r15, 2
jb 0x1401137e2
cmp r12, 2
jb 0x1401137e2
cmp r14, rbp
mov rsi, rbp
cmovb rsi, r14
cmp rsi, r9
ja 0x1401137e2
lea r12, [rbx + r14*4]
cmp rbp, r14
mov rdx, rbx
cmovb rdx, r12
lea r8, [rsi*4]
mov r15, qword [rsp + 0x40]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
lea r15, [r15 + rsi*4]
cmp rbp, r14
jae 0x1401139ce
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x40]
nop dword [rax]
lea rcx, [r15 - 4]
lea rdx, [r12 - 4]
call fcn.14012ae50
xor ecx, ecx
xor edx, edx
cmp al, 0xff
sete cl
setne dl
mov rax, r15
cmove rax, r12
mov eax, dword [rax - 4]
mov dword [r14], eax
lea r12, [r12 + rdx*4]
add r12, 0xfffffffffffffffc
lea r15, [r15 + rcx*4]
add r15, 0xfffffffffffffffc
cmp r12, rbx
je 0x1401137c6
add r14, 0xfffffffffffffffc
cmp r15, rsi
jne 0x140113980
jmp 0x1401137c6
test rsi, rsi
je 0x140113a25
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
nop dword [rax]
mov rcx, r12
mov rdx, r14
call fcn.14012ae50
xor ecx, ecx
xor edx, edx
cmp al, 0xff
sete al
setne dl
mov r8, r14
cmove r8, r12
mov r8d, dword [r8]
mov dword [rbx], r8d
lea r14, [r14 + rdx*4]
add rbx, 4
cmp r14, r15
je 0x1401137cc
mov cl, al
lea r12, [r12 + rcx*4]
cmp r12, rsi
jne 0x1401139e0
jmp 0x1401137cc
mov r14, qword [rsp + 0x40]
jmp 0x1401137cc
mov r13d, 1
mov qword [rsp + r13*8 + 0xe8], r15
mov byte [rsp + r13 + 0xa6], cl
cmp qword [rsp + 0x60], r8
jbe 0x140113a63
inc r13
mov r15, qword [rsp + 0x78]
mov rax, r15
shr rax, 1
add r8, rax
jmp 0x140113490
test r15b, 1
jne 0x140113aa8
mov rdx, qword [rsp + 0x60]
mov rax, rdx
or rax, 1
bsr rax, rax
xor eax, 0x3f
add eax, eax
xor eax, 0x7e
mov rcx, qword [rsp + 0x368]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x58]
mov r8, rsi
call fcn.140118a50
nop
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret