Function at 0x140001a74
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
movzx ebx, word [0x14003d618]
lea esi, [rcx - 1]
mov r12b, cl
movzx r11d, r8b
mov r8, rdx
mov dword [rsp + 0x20], r11d
mov r14, r9
mov ebp, r11d
movzx ebp, word [0x14003d684]
lea eax, [r11*2]
movzx eax, byte [rdx + rax*4]
imul eax, eax, 0x38
mov dword [rsp + 0x24], eax
mov rax, qword [0x14003d648]
movsxd rdi, dword [rax + 0x31ac]
lea eax, [rcx*2 + 8]
movsxd rcx, dword [0x14003d63c]
or rdi, 0x1dd6
movsxd rdx, eax
mov rax, qword [0x14003d678]
movzx eax, word [rax + rdx*2]
cdq
idiv ecx
mov r13d, eax
mov eax, dword [r8 + rcx*4]
cdq
idiv esi
mov rdx, qword [0x14003d668]
mov dword [rsp + 0xa0], eax
mov eax, 0xf23
sub bx, ax
mov rax, qword [0x14003d640]
lea rcx, [rdx + rdx*2]
inc rdx
movzx r9d, byte [r8 + rcx*4 + 0x10]
mov ecx, dword [0x14003d660]
mov r8d, dword [0x14003d6a0]
add ecx, ecx
mov qword [0x14003d668], rdx
dec r8d
movsxd rdx, ecx
mov rcx, qword [0x14003d688]
inc rcx
mov dword [0x14003d6a0], r8d
movsxd rax, dword [rax + rdx*4]
xor edx, edx
mov qword [rsp + 0x38], rax
movsxd rax, r8d
div rcx
mov qword [0x14003d688], rcx
mov edx, r9d
lea ecx, [r11 + 0x1bc0]
mov qword [rsp + 0x30], rax
mov r15, rax
add r9b, 0xff
mov eax, ecx
mov cl, byte [0x14003d610]
add cl, 0xff
mov qword [rsp + 0x28], rax
mov byte [0x14003d610], cl
and cl, r11b
movzx ecx, cl
mov byte [rsp + 0xb0], r9b
call fcn.140015e48
movsxd rcx, eax
mov rax, qword [0x14003d668]
shl rax, 5
mov qword [rax + rdi + 0x28], rcx
movzx ecx, byte [0x14003d610]
movzx eax, bx
mov r10d, dword [r15 + rax*4]
mov rax, qword [0x14003d640]
cmp r10d, dword [rax + rcx*4]
jl 0x140001c3a
lea r9d, [rsi + rsi]
movzx eax, word [0x14003d670]
inc esi
and eax, esi
add r9d, 2
cdq
movsxd r8, r9d
idiv r10d
inc r10d
xor al, 9
movzx ecx, al
movzx eax, byte [r8 + r14]
imul eax, ecx
mov byte [r8 + r14], al
mov edx, dword [0x14003d684]
lea eax, [rdx + rdx]
xor edx, 0xbd9
movsxd rcx, eax
mov rax, qword [0x14003d648]
and dword [rax + rcx*4], edx
movzx ecx, byte [0x14003d610]
mov rax, qword [0x14003d640]
cmp r10d, dword [rax + rcx*4]
jge 0x140001be0
mov edx, dword [0x14003d63c]
lea eax, [rdx*4 + 3]
movsxd rcx, eax
mov rax, qword [0x14003d648]
movsxd rbx, dword [rax + rcx*4]
cmp ebx, edx
jl 0x140001dad
movzx eax, bp
lea rdi, [r14 + rbx*2]
mov dword [rsp + 0xb8], eax
add rdi, rbx
mov r14d, dword [rsp + 0xb8]
movzx eax, bp
mov rbp, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
add rbp, 0x18
mov rax, qword [rsp + 0x28]
movsxd r15, esi
movzx r12d, r12b
lea rbp, [rbp + rbx*4]
movzx r13d, r13b
lea rsi, [rax + rbx*8]
mov rax, qword [0x14003d650]
mov ecx, 0x158f
mov r9d, dword [rsp + 0xa0]
inc byte [rsp + 0xb0]
dec r9d
movsxd r8, ebx
mov word [rax + r15*2], cx
mov eax, 0x93062c83
imul r9d
mov dword [rsp + 0xa0], r9d
lea ecx, [r9 + rdx]
mov rdx, r8
sar ecx, 0xb
mov eax, ecx
shr eax, 0x1f
add ecx, eax
call fcn.140015e48
movzx r9d, byte [rsp + 0xb0]
xor edx, edx
movsxd rcx, eax
mov qword [rsi], rcx
lea rsi, [rsi + 8]
movsxd rax, dword [rbp]
lea rbp, [rbp + 4]
mov rcx, qword [0x14003d688]
or rax, 0x15cb
div qword [0x14003d618]
mov rax, qword [0x14003d620]
mov r8, qword [0x14003d650]
mov qword [0x14003d618], rdx
shl r9d, 2
mov edx, dword [rax + rcx*8]
mov eax, 0x98da887
or edx, r12d
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x12b2
xor word [r8 + r9*2], dx
mov ecx, dword [0x14003d684]
mov rdx, qword [rsp + 0x38]
dec ecx
mov dword [0x14003d684], ecx
sub eax, dword [rdx + 0x6684]
sub eax, ecx
cdq
idiv r13d
mov edx, dword [rsp + 0x24]
mov byte [rdi], al
mov eax, r14d
xor eax, ebx
movzx ecx, dl
imul eax, dword [rsp + 0x20]
lea rdi, [rdi + 3]
mov rdx, qword [rsp + 0xa8]
inc ebx
add eax, ecx
mov rcx, qword [rsp + 0x40]
mov dword [rdx + rcx*4], eax
cmp ebx, dword [0x14003d63c]
jge 0x140001ca0
mov rcx, qword [0x14003d688]
mov eax, ecx
inc rcx
mov qword [0x14003d688], rcx
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret