Function at 0x140010da8
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rcx, qword [0x140116930]
mov r12d, 1
mov r11, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
sub r11, r12
movsxd rbx, edx
mov eax, ebx
shl eax, 2
movsxd r8, eax
mov rax, qword [0x140116920]
movzx r10d, word [rax + r8*2]
mov eax, dword [0x1401169cc]
cdq
idiv r10d
movsxd r14, eax
mov rax, qword [0x1401169d8]
movsxd rbp, eax
add rax, r12
mov qword [0x1401169d8], rax
mov r8, rbp
mov eax, 0x1e60
mov qword [rsp + 0x98], r14
cdq
mov dword [rsp + 0xa0], ebp
idiv dword [r9 + rbx*4]
add ebx, r12d
cdqe
mov qword [rsp + 0x30], rax
movzx eax, word [0x140116948]
mov r15d, eax
mov qword [rsp + 0x28], rax
add ax, r12w
mov dword [rsp + 0x88], ebx
mov word [0x140116948], ax
mov eax, 0x95e
sub eax, dword [rcx + rbp*4]
mov ecx, 0xffff
or eax, 0xb33
cdq
idiv dword [0x140116a0c]
mov dword [0x140116a0c], eax
movzx eax, word [0x14011691c]
add ax, cx
mov word [0x14011691c], ax
movzx eax, ax
lea rcx, [rax + rax*2]
xor word [rcx + rcx + 0x1799], bx
lea eax, [rbx + 0x1d]
movsxd rdi, dword [0x1401169b0]
cdqe
mov qword [rsp + 0x20], rax
cmp edi, dword [r11 + rax*4]
jl 0x140010fe8
movsxd rcx, ebx
lea rax, [r8 + r8*2]
mov r10, rbp
mov qword [rsp + 0xa8], rcx
shl r10, 5
lea rbx, [r8 + 0x14]
lea rbx, [r14 + rbx*2]
add r10, rsi
mov r14, r11
lea r12, [rdi*2 + 0x12ff]
neg r14
lea r15, [r11 + rdi*4]
lea rbp, [r11 + rbp*4]
lea r13, [rsi + rax*8]
mov eax, dword [0x1401169a0]
xor edx, edx
inc dword [rsp + 0xa0]
add eax, eax
movsxd r8, eax
mov eax, dword [0x140116918]
shl eax, 2
movsxd rcx, eax
movsxd r9, edi
movzx eax, word [rcx + rcx + 0x1799]
xor rax, qword [r13]
lea r13, [r13 + 0x18]
mov rcx, qword [rsp + 0xa8]
and rax, r9
xor rax, 0x54a
div qword [rsi + r8*8]
mov qword [rsi + r8*8], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + rcx*2]
lea rcx, [r14 + rbp]
cdq
idiv dword [0x1401169e0]
mov dword [0x1401169e0], eax
xor dword [rbp], edi
inc edi
movzx eax, word [rbx]
lea rbp, [rbp + 4]
or eax, dword [0x1401169cc]
lea rbx, [rbx + 2]
sub eax, dword [r15]
add eax, 0x353
mov dword [r15], eax
lea r15, [r15 + 4]
mov edx, dword [0x1401169a4]
mov rax, qword [0x140116960]
inc edx
mov dword [0x1401169a4], edx
movsxd r8, dword [rcx + rax]
movsxd rax, edx
and r8, rax
movzx eax, byte [r12]
xor r8, r9
lea r12, [r12 + 2]
or r8, rax
mov rax, qword [rsp + 0x20]
or qword [r10], r8
lea r10, [r10 + 0x20]
cmp edi, dword [r11 + rax*4]
jge 0x140010ef4
mov ebx, dword [rsp + 0x88]
mov r12d, 1
mov r14, qword [rsp + 0x98]
mov ebp, dword [rsp + 0xa0]
mov r15, qword [rsp + 0x28]
movsxd rcx, dword [r11 + r11*4]
movsxd r8, ebx
mov rax, rcx
or rax, r11
movsxd rdx, dword [r11 + r8*4]
xor rdx, rax
movzx eax, word [0x140116948]
sub rdx, rcx
mov qword [r15 + rax*8], rdx
movzx eax, byte [0x2405]
or eax, ebx
add ebx, r12d
cdq
movsxd rbx, ebx
idiv dword [0x140116918]
movzx eax, word [0x14011694c]
mov dword [0x140116918], edx
xor edx, edx
mov r9, qword [rsi + 0x4a68]
movzx ecx, word [r14 + rax*2 + 0x44]
lea rax, [r11 - 1]
div qword [r15 + r8*8]
xor cx, word [0x13ab]
mov r8d, 0x141b
mov rdx, rax
call fcn.140010800
movsxd rdx, eax
add ebp, r12d
mov qword [r15 + rbx*8], rdx
mov eax, ebp
shl eax, 2
mov rcx, rbx
movsxd rdx, eax
movsxd r8, ebp
movzx edx, word [r14 + rdx*2]
movzx eax, word [r8 + r8 + 0x1799]
add rdx, rax
lea eax, [rbp + 1]
movsxd rdi, eax
call fcn.140014500
mov rcx, qword [0x140116920]
mov rbx, qword [rsp + 0x90]
mov word [rcx + rdi*2], ax
movzx r8d, word [0x14011691c]
mov rcx, qword [0x1401169d0]
mov eax, dword [rsp + 0x80]
inc eax
cdq
idiv dword [rcx + r8*4]
movzx ecx, word [r14 + rdi*2]
cdq
idiv ecx
mov rax, qword [rsp + 0x30]
mov word [r14 + rdi*2], dx
add word [0x14011691c], r12w
mov eax, dword [rax + rdi*4]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret