Function at 0x1400123d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
mov r11d, dword [0x140dd94c4]
mov r13d, 0x5aa
mov eax, dword [rsp + 0x80]
mov rdi, r8
movzx r10d, word [0x140dd94dc]
cdq
mov r12d, dword [0x140dd94a0]
idiv r11d
mov eax, ecx
dec r11d
movsxd rsi, edx
add r12d, r11d
cdq
mov qword [rsp + 0x68], rsi
idiv r10d
movsxd rdx, dword [0x140dd9488]
movsxd rbx, eax
mov rax, qword [0x140dd94e0]
mov dword [rsp + 0x50], r12d
mov r15, qword [rax + rdx*8]
dec edx
mov rax, qword [0x140dd9478]
xor r15, 0x14cc
mov dword [0x140dd9488], edx
movsxd rbp, dword [r9 + rax*4]
movsxd rax, dword [0x140dd948c]
mov r9, qword [rsp + 0x70]
mov dword [0x140dd94c4], r11d
mov r11, rax
inc eax
mov qword [rsp], rbp
mov dword [0x140dd948c], eax
or r11, 0x1251
mov rax, qword [r9]
inc rax
lea rcx, [rax + rax*2]
mov rax, qword [0x140dd94f0]
mov r14, qword [rax + rcx*8]
mov eax, dword [r13]
mov qword [rsp + 0x70], r14
lea eax, [rax + rax*2]
cdqe
movsxd r10, dword [r14 + rax*8]
cmp r10d, 0xc5f
jg 0x14001259d
movsxd rax, dword [rsp + 0x80]
lea rsi, [r9 + r10*8]
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x88]
movsxd rbp, r12d
mov r12d, 0x5aa
lea r13, [rax + rax*2]
movzx eax, word [0x140dd94e8]
add word [rdi + rax*2], r11w
movzx eax, byte [0x140dd949a]
mov qword [rsi], rax
lea rsi, [rsi + 8]
mov rax, qword [0x140dd94c8]
imul rax, r11
mov qword [0x140dd94c8], rax
mov eax, dword [r12]
add eax, 6
movsxd r8, eax
mov eax, dword [0x140dd94ec]
cdq
movzx ecx, byte [r8 + rbx]
idiv ecx
xor edx, edx
mov ecx, 0x103a
mov byte [r8 + rbx], al
mov rax, qword [0x140dd94d0]
xor rax, r11
or rax, qword [rbp*8 + 0x2daa]
mov qword [r9 + r13*8 + 0x58], rax
mov ecx, dword [rcx]
movzx eax, word [0x140dd949c]
imul ecx, r10d
inc r10d
sub ecx, dword [r15 + rax*4]
movsxd rax, ecx
div r11
mov eax, 0xffff
inc r11
mov word [r14 + rbp*2], dx
add word [0x140dd949c], ax
cmp r10d, 0xc5f
jle 0x1400124de
mov rdi, qword [rsp + 0x60]
mov r13d, 0x5aa
mov r14, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp]
mov eax, 0x86
movsxd rcx, r12d
mov qword [r9 + rcx*8], rax
mov rcx, qword [0x140dd9478]
mov r8, qword [r9]
movzx edx, word [rsi + rcx*2]
sub eax, edx
cdq
idiv dword [r15 + r8*4]
xor edx, edx
mov dword [r15 + r8*4], eax
mov eax, dword [r13]
lea ecx, [rax + rax*2]
mov rax, qword [rsp + 0x78]
dec rax
movsxd r8, ecx
movzx ecx, word [rbp + r8*2]
div rcx
mov rcx, qword [rsp + 0x88]
mov word [rbp + r8*2], dx
mov eax, dword [r13]
inc eax
cdqe
movzx r9d, word [rcx + rax*2]
movzx eax, byte [rbx + 0x1c80]
cmp r9d, eax
je 0x140012663
lea r10d, [r9 + 4]
lea r11d, [r9 + r9*2]
movsxd rcx, r11d
mov eax, 0x11d9
add r11d, 3
sub ax, word [rdi + rcx*2]
mov word [rdi + rcx*2], ax
movzx ecx, word [r14 + 0x25f0]
movsxd rax, r9d
inc r9d
movzx r8d, word [r14 + rax*8]
imul r8d, ecx
mov rcx, qword [0x140dd94c8]
lea rax, [rbx + rcx*2]
movzx edx, byte [rcx + rax]
movsxd rax, r10d
and r8w, dx
inc r10d
mov word [rdi + rax*2], r8w
movzx eax, byte [rbx + 0x1c80]
cmp r9d, eax
jne 0x14001260e
movzx ecx, word [0x140dd9498]
mov eax, 0x6a7
mov rbx, qword [rsp + 0x58]
sub eax, ecx
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret