Function at 0x140003c28
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov r10, qword [0x1402c75f8]
mov r15, rdx
mov rcx, qword [rsp + 0x100]
mov esi, 1
mov r13, qword [rsp + 0xf0]
mov rdx, qword [0x1402c75e8]
mov r14, qword [0x1402c7608]
movsxd rax, dword [rcx + r10*4]
add r14, rsi
movzx r11d, word [0x1402c75cc]
sub r10, rsi
movzx ebx, word [0x1402c7610]
mov ebp, dword [0x1402c7658]
mov qword [rsp + 0x68], rax
mov rax, qword [0x1402c7620]
or rax, 0x510
mov qword [0x1402c7608], r14
mov qword [rsp + 0x58], rax
movsxd rax, dword [rcx]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rbx
movzx eax, word [r15 + rax*2]
mov dword [rsp + 0x38], eax
mov eax, r11d
or rax, rdx
mov qword [rsp + 0xd8], rax
mov eax, dword [r13 + 0x4950]
xor eax, r14d
mov dword [rsp + 0x34], eax
mov eax, dword [r13 + 0x31f0]
add eax, dword [0x1402c7664]
movsxd r8, eax
movabs rax, 0x81e722c258cd00c3
mul qword [rsp + 0x108]
mov qword [0x1402c75f8], r10
shr rdx, 0xa
movzx eax, dl
imul edi, eax, 0x1e
mov eax, dword [rcx]
add eax, 2
mov qword [rsp + 0x40], r8
movsxd rcx, eax
mov rax, r10
add rax, rax
sub r10, rsi
add dil, byte [rsp + 0x108]
mov r12b, r10b
mov edx, dword [r9 + rcx*4]
imul edx, dword [r13 + rax*8]
mov eax, dword [0x1402c763c]
mov qword [0x1402c75f8], r10
add eax, 0x1b
movsxd rcx, eax
sub r10, rsi
movsxd rax, dword [0x1402c75c0]
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x60], rax
sub r12b, byte [r13 + rcx*4]
mov rcx, qword [rsp + 0xe0]
mov qword [0x1402c75f8], r10
movsxd rsi, dword [rcx + r10*8]
mov dword [rsp + 0x20], esi
cmp esi, ebp
jle 0x140003fb3
mov r13, qword [rsp + 0xd8]
mov rbx, rsi
shl rbx, 4
mov r10d, 0x8ae
add rbx, r13
mov eax, esi
add r12b, 0xff
cdq
mov byte [rsp + 0xd8], r12b
idiv dword [0x1402c765c]
mov rax, qword [rsp + 0x100]
mov dword [0x1402c765c], edx
xor edx, edx
mov eax, dword [rax]
add eax, 8
cdqe
imul rax, qword [rcx + rax*8], 0x1a74
movzx ecx, r11w
mov r11d, 1
div rcx
movsxd rax, esi
mov qword [rsp + 0x28], rax
mov rcx, rdx
xor edx, edx
mov word [0x1402c75cc], cx
div qword [0x1402c75d8]
mov qword [0x1402c75d8], rax
movzx eax, cx
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + rax*2 + 0x15fe]
mov eax, 0x6bca1af3
xor ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
movzx eax, r10w
add rax, r11
movsxd rcx, ecx
shl rax, 5
mov qword [rax + r13], rcx
movsxd rcx, dword [0x1402c7644]
cmp ecx, esi
je 0x140003f60
mov r12d, esi
lea r15, [r8 + rcx*8]
mov rsi, qword [rsp + 0x28]
sub r12d, ecx
mov rbp, rcx
xor qword [r13 + 0xe3f0], rbp
xor edx, edx
movzx eax, word [0x1402c7638]
mov r9, qword [0x1402c7620]
add ax, r11w
mov r8, qword [rsp + 0x110]
sub r9, r11
movzx ecx, ax
mov word [0x1402c7638], ax
mov rax, r9
mov qword [0x1402c7620], r9
div qword [r8 + rcx*8]
mov rdx, qword [0x1402c75f8]
mov r8, rax
lea rax, [rdx + rdx*2]
add rdx, r11
movzx ecx, word [r14 + rax*2]
mov qword [0x1402c75f8], rdx
imul r8d, ecx
mov rcx, qword [rsp + 0x58]
and r8d, 0x1d91
or dword [0x1402c765c], r8d
movzx eax, word [rcx + rdx*4]
xor ax, word [r15]
and r10w, ax
mov eax, 0x480
cdq
mov dword [rsp + 0x28], r10d
idiv dword [0x1402c75c4]
mov rdx, rsi
add al, byte [rcx + 0x208]
and al, 0xda
sub al, dil
sub r9b, al
mov dil, al
mov cl, r9b
call fcn.140006464
mov r10d, dword [rsp + 0x28]
lea r15, [r15 + 8]
movsxd rcx, eax
xor edx, edx
mov qword [0x1402c75e0], rcx
mov rax, 0xffffffffffffe464
xor qword [rbx], 0xfffffffffffffa9e
mov r11d, 1
div qword [0x1402c75d0]
add rbp, r11
mov qword [0x1402c75d0], rdx
sub r12, r11
jne 0x140003e61
mov esi, dword [rsp + 0x20]
mov r12b, byte [rsp + 0xd8]
mov r8, qword [rsp + 0x40]
mov ebp, dword [0x1402c7658]
add esi, r11d
movzx r11d, word [0x1402c75cc]
add rbx, 0x10
mov dword [rsp + 0x20], esi
cmp esi, ebp
jle 0x140003f8a
mov rcx, qword [rsp + 0xe0]
jmp 0x140003da3
mov r10, qword [0x1402c75f8]
mov r14, qword [0x1402c7608]
movzx ebx, word [0x1402c7610]
mov r15, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xf0]
mov edx, dword [rsp + 0x30]
mov r9d, dword [0x1402c75c4]
cmp edx, 0xc95
jg 0x140003fdd
cmp dword [rsp + 0x34], r9d
jle 0x140003fdd
cmp edx, 0xda
jne 0x140003fdd
cmp dword [0x1402c7644], 0x142a
jl 0x140004052
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
movzx r8d, dil
lea eax, [r8 + r8]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0xf8]
cdq
idiv r8d
mov rax, qword [rsp + 0xc0]
mov dil, dl
movzx r8d, r12b
mov eax, dword [rax]
lea eax, [rax + rax*2]
cdqe
mov eax, dword [rsi + rax*4]
cdq
idiv dword [rcx + r8*4 + 0x7c]
mov ecx, dword [rsp + 0x38]
lea ecx, [rcx + rcx*2]
add ecx, 0xfffffffd
movsxd rdx, ecx
mov rcx, qword [rsp + 0xd0]
movzx ecx, word [rcx + rdx*2]
cdq
idiv ecx
movzx eax, bx
movsxd rcx, edx
and rcx, rax
imul r14, rcx
inc r12b
mov qword [0x1402c7608], r14
jmp 0x140004057
mov rsi, qword [rsp + 0x48]
mov rbx, qword [0x1402c7618]
cmp r9d, dword [rsp + 0xe8]
jl 0x140004074
movsxd rax, dword [0x1402c7660]
cmp rbx, rax
jb 0x140004084
movzx ecx, r12b
movzx eax, dil
cmp word [r15 + rcx*2 + 0x32], ax
jae 0x1400040d2
mov rax, qword [rsp + 0x68]
mov r8, qword [rsp + 0x40]
mov eax, dword [rax]
lea eax, [rax*4 + 0x27]
movsxd rdx, eax
movzx eax, dil
mov ecx, dword [r8 + rax*4]
or ecx, ebx
or dword [r13 + rdx*4], ecx
mov r10, qword [0x1402c75f8]
add dil, 0xff
movzx r11d, word [0x1402c75cc]
mov ebp, dword [0x1402c7658]
mov r9d, dword [0x1402c75c4]
mov rbx, qword [0x1402c7618]
jmp 0x1400040d7
mov r8, qword [rsp + 0x40]
mov ecx, dword [0x1402c7644]
jmp 0x1400040eb
add r9d, r10d
mov dword [0x1402c75c4], r9d
inc ecx
movzx eax, word [r15 + 0x836]
cmp ecx, eax
je 0x1400040df
movsxd rax, dword [r8 + r10*4]
xor edx, edx
mov rcx, qword [rsp + 0x110]
dec r10
and ebp, dword [rsp + 0x108]
sub rax, qword [rcx + 0x1c7e0]
movzx ecx, dil
movsxd r8, dword [r13 + rcx*4]
div r8
mov eax, 0xffff
mov qword [0x1402c75f8], r10
add r11w, ax
mov dword [0x1402c7658], ebp
movzx eax, dl
xor edx, edx
mov word [0x1402c75cc], r11w
movsxd rcx, dword [rsi + rax*4]
mov rax, qword [0x1402c7650]
div rcx
xor edx, edx
movzx ecx, r11w
div rcx
mov rax, rdx
xor edx, edx
div rbx
mov rcx, rax
mov qword [0x1402c7618], rax
mov eax, 0x1c7e
sub eax, ecx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret