Function at 0x140001728
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov word [rax + 0x20], r9w
mov qword [rax + 0x18], r8
mov word [rax + 0x10], dx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r10d, dword [0x1400327d0]
mov rbx, rcx
mov rax, qword [0x1400327b0]
mov rdi, r8
mov r13, qword [0x140032808]
movsxd r8, dword [0x140032800]
movzx r9d, word [0x140032804]
mov rcx, r8
movzx esi, dx
mov qword [rsp + 0x18], r13
mov qword [rsp + 0x10], rsi
mov dword [rsp + 0xb8], esi
movsxd r11, dword [rax + rsi*4]
mov eax, dword [0x14003282c]
xor r11, 0x1bb1
mov dword [rsp], eax
mov eax, r10d
cdq
idiv r10d
mov rax, qword [0x140032820]
dec r10d
mov dword [0x1400327d0], r10d
mov r10, qword [rsp + 0xc8]
mov qword [rsp + 0x28], rax
inc rax
mov qword [0x140032820], rax
movsxd rax, dword [rsp + 0xa8]
movzx r14d, byte [r10 + 0xdd4]
or rcx, rax
mov rax, qword [0x1400327f0]
mov dword [rsp + 4], edx
mov qword [rsp + 8], rcx
add r14, qword [rax + 0x2bb8]
movzx eax, word [r13]
mov qword [rsp + 0x20], r14
cmp r9d, dword [r11 + rax*4]
jg 0x140001a5e
mov dil, byte [rsp + 0xa0]
lea r12d, [r9 + r9]
mov ebp, r9d
lea r15d, [r9 + r9*2]
shl ebp, 2
mov ebx, 0x1235
sub ebx, r9d
lea eax, [rbp + 1]
movsxd rcx, eax
mov rax, qword [0x1400327a8]
movzx edx, word [rax + rcx*2]
imul edx, dword [0x14003281c]
movzx eax, dil
and edx, eax
movsxd rax, r15d
add r8d, edx
xor edx, edx
mov dword [0x140032800], r8d
movsxd r8, ebp
movzx eax, byte [rax + 0xa13]
div qword [0x1400327b8]
movsxd rcx, dword [r14 + r8*4]
movabs rax, 0xe0f7d0fc35d34ac1
mul rdx
mov rax, rdx
xor edx, edx
shr rax, 0xc
or rax, 0x79c
div rcx
mov dword [r14 + r8*4], eax
movsxd rax, dword [0x1400327e0]
movzx ecx, byte [rax + r10]
cmp ecx, dword [rsp]
je 0x1400018b4
movzx eax, byte [0x1400327ca]
cmp eax, 0x298
jae 0x14000196b
add dil, 0xff
movzx eax, dil
movzx eax, byte [rax*4 + 0xd11]
cmp ax, si
jbe 0x14000196b
mov ecx, dword [0x140032830]
mov rdx, qword [rsp + 0xb0]
or ecx, r9d
mov r8, qword [rsp + 0x80]
movsxd rax, r12d
mov dword [rdx + rax*4], ecx
movzx edx, word [r13]
movzx eax, word [0x140032804]
mov rcx, qword [rsp + 8]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0xb8]
or ecx, eax
imul ecx, dword [r11 + rdx*4]
dec eax
mov dword [rsp + 0xb8], eax
movsxd rax, ebx
or ecx, r9d
mov dword [r8 + rdx*4], ecx
mov r8d, r9d
or qword [0x1400327f8], rax
xor r8d, 0x4b8
mov eax, 0xe0f7d0fd
movzx ecx, dil
imul r8d
add edx, r8d
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1235
sub r8d, eax
movzx eax, r8w
imul eax, ecx
sub ax, word [0x1400327cc]
mov word [0x1400327cc], ax
jmp 0x140001972
movzx eax, word [0x1400327cc]
movzx ecx, ax
lea rax, [r10 + rcx*2]
movzx r10d, byte [rcx + rax]
movzx eax, word [0x140032804]
cmp r10d, dword [r11 + rax*4]
jge 0x140001a1f
movzx esi, word [rsp + 0x10]
lea r14d, [r10 + 0x1405]
movzx r13d, byte [rsp + 4]
sub si, r9w
movzx r8d, word [0x1400327c8]
mov eax, r14d
cdq
inc r10d
idiv r13d
inc r14d
xor al, 0x35
movzx ecx, al
movzx eax, byte [r8 + 0xd11]
imul eax, ecx
movzx ecx, si
mov byte [r8 + 0xd11], al
mov eax, 0x3125
sub eax, dword [0x14003282c]
mov edx, dword [0x140032818]
mov dword [0x14003282c], eax
movzx eax, dx
dec edx
imul ecx, eax
movzx eax, word [0x140032804]
mov dword [0x140032818], edx
add word [0x1400327e4], cx
cmp r10d, dword [r11 + rax*4]
jl 0x1400019a5
mov r13, qword [rsp + 0x18]
movzx esi, word [rsp + 0x88]
mov r14, qword [rsp + 0x20]
movzx eax, word [r13]
inc r9d
add r15d, 3
add ebp, 4
add r12d, 2
dec ebx
cmp r9d, dword [r11 + rax*4]
jg 0x140001a4e
mov r8d, dword [0x140032800]
mov r10, qword [rsp + 0xc8]
jmp 0x14000182c
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
movzx ecx, word [r13]
xor edx, edx
movzx eax, word [0x1400327e4]
imul eax, dword [0x140032810]
mov r9, qword [rsp + 0xb0]
xor dword [rbx + rcx*4], eax
mov eax, dword [0x14003281c]
add eax, 4
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
sub eax, dword [0x14003282c]
mov dword [0x14003282c], eax
mov eax, 0xffff
add word [r13], ax
movzx ecx, word [r13]
movsxd rax, dword [0x140032818]
movzx r8d, byte [rcx + rcx + 0xa13]
and r8, qword [rsp + 0x28]
sub r8, rax
mov rax, qword [rsp + 8]
movsxd rcx, dword [rax + rcx*4]
mov rax, r8
mov r8d, dword [0x1400327dc]
div rcx
movzx ecx, byte [0x1400327ca]
dec r8d
xor qword [0x1400327f8], rdx
mov eax, ecx
add rax, rax
mov dword [0x1400327dc], r8d
mov edx, dword [r9 + rax*8 + 8]
lea eax, [rcx*4 + 2]
or edx, r8d
mov dword [r9 + rax*4], edx
xor edx, edx
mov eax, dword [0x14003281c]
shl eax, 2
movsxd r8, eax
movzx eax, word [rsp + 0x98]
movzx ecx, byte [r8 + rdi]
div ecx
mov byte [r8 + rdi], al
movzx ecx, byte [rdi + 0x1355]
movzx eax, word [rsp + 0xd0]
sub eax, ecx
movzx ecx, word [0x1af0]
cdq
idiv ecx
mov rax, qword [rsp + 0x10]
sub edx, dword [0x1400327d4]
add edx, dword [0x140032820]
mov dword [0x1400327d4], edx
mov eax, dword [r9 + rax*4]
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret