Function at 0x140010504
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x18], r8d
mov byte [rsp + 0x10], dl
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov edi, dword [0x14060b1f4]
mov r15, rcx
movzx r11d, word [0x14060b230]
mov r13b, dl
mov rbx, qword [0x14060b210]
mov r14, r9
movzx r8d, word [0x14060b250]
lea eax, [rdi + 0x1f]
dec edi
movsxd r10, eax
mov rax, qword [0x14060b1e8]
movzx eax, word [rax + r10*2]
movsxd r10, dword [0x14060b268]
mov qword [rsp + 0x60], rax
mov rbp, r10
xor eax, eax
mov rsi, r10
mov dword [rsp + 0x128], eax
xor rbp, 0x18ab
lea r12d, [rax + 1]
add r11w, r12w
sub r10d, r12d
mov word [0x14060b230], r11w
mov edx, dword [rcx]
lea eax, [rdx + rdx]
movsxd rcx, eax
movzx eax, word [rbx + rcx*2]
mov rcx, qword [r9 + 0xc5a8]
mov word [rsp + 0x110], ax
xor rcx, r8
mov rax, qword [0x14060b228]
mov qword [rsp + 0x50], rax
mov eax, dword [0x14060b204]
add eax, 0x1397
mov qword [rsp + 0x88], rcx
cdqe
mov qword [rsp + 0x38], rax
lea eax, [rdx + 6]
movsxd rcx, eax
mov rax, qword [0x14060b1e0]
movzx ecx, byte [rcx + rax]
imul eax, ecx, 0x73f
mov qword [rsp + 0xa0], rax
mov rax, qword [r9 + 0x3b20]
mov r9d, dword [0x14060b208]
mov qword [rsp + 0x48], rax
sub r9d, r12d
mov rax, qword [0x14060b258]
mov dword [0x14060b268], r10d
mov r10d, dword [rsp + 0x120]
mov dword [0x14060b208], r9d
movsxd rcx, dword [r15]
movsxd r12, dword [rax + rcx*4]
mov eax, r10d
movzx ecx, word [0x14060b26c]
cdq
idiv ecx
mov qword [rsp + 0x98], r12
movsxd rax, edx
mov qword [rsp + 0x30], rax
mov eax, 0xffff
add r11w, ax
mov word [0x14060b230], r11w
movzx eax, r11w
add eax, 2
lea ecx, [rax + rax*2]
mov rax, qword [rsp + 0x130]
movzx edx, word [rax + rcx*2]
mov eax, dword [r15]
lea eax, [rax + rax*2]
add eax, 5
cdqe
xor rdx, qword [r14 + rax*8]
lea eax, [rdi + 1]
movsxd rcx, eax
mov dword [0x14060b1f4], edi
movsxd rax, dword [r15]
mov qword [rsp + 0x58], rdx
movzx edx, word [r14 + rax*8]
movzx eax, word [r15 + rcx*4]
imul eax, edx
mov dword [rsp + 0x2c], eax
movzx eax, word [0x14060b278]
sub eax, r10d
movsxd rcx, eax
lea eax, [rdi*2 + 0x11]
add eax, edi
mov qword [rsp + 0x40], rcx
movsxd rcx, eax
mov rax, qword [rsp + 0x138]
mov rax, qword [rax + rcx*8]
sub rax, 0x190f
mov qword [rsp + 0x70], rax
lea eax, [rdi + rdi]
mov rdi, qword [rsp + 0x30]
movsxd rcx, eax
mov rax, qword [0x14060b218]
mov eax, dword [rax + rcx*8]
or eax, r10d
movsxd r10, r9d
mov dword [rsp + 0x20], eax
movzx eax, r11w
xor rax, 0x73f
mov qword [rsp + 0x80], rax
mov eax, 0xffff
add r8w, ax
mov word [0x14060b250], r8w
mov rax, qword [rdi]
movsxd r8, dword [0x14060b240]
movzx ecx, word [rbx + rax*8]
movzx ebx, word [rsp + 0x110]
movsxd rdx, dword [rsi + rax*4]
mov r9, qword [r14 + rbx*8 + 0x18]
imul r9, r10
call fcn.140001cd0
mov r10d, dword [rsp + 0x20]
mov dword [0x14060b224], eax
dec dword [r15]
mov eax, dword [r15]
mov r8, qword [0x14060b248]
inc r8
lea eax, [rax + rax*2]
inc eax
cdqe
movzx edx, byte [rax + rbp]
mov rax, qword [rdi]
movzx ecx, word [r12 + rax*2]
lea eax, [r10 + 0x1e]
add rdx, rcx
mov qword [0x14060b248], r8
xor qword [rsp + 0x48], rdx
mov edx, r10d
xor edx, dword [0x14060b220]
movsxd rcx, eax
mov rax, qword [0x14060b238]
mov eax, dword [rax + rcx*4]
movzx ecx, word [0x14060b250]
imul eax, edx
xor edx, edx
cdqe
sub rax, r8
div rcx
mov eax, dword [0x14060b208]
add eax, 3
mov word [0x14060b250], dx
movsxd rcx, eax
xor edx, edx
mov rax, qword [0x14060b260]
movzx eax, byte [rcx + rax]
mov ecx, dword [0x14060b1f4]
inc ecx
movsxd r8, ecx
mov rcx, qword [0x14060b1e0]
div qword [r14 + r8*8]
add ax, word [0x14060b204]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x50]
movzx edx, byte [rax - 0x6a5]
movzx r9d, byte [rdx + rcx]
mov dword [rsp + 0x110], r9d
cmp r9d, 0x1536
jbe 0x140010b68
mov rdx, qword [rsp + 0x40]
lea rax, [r9 + r9*2]
mov rcx, qword [rsp + 0x38]
lea esi, [r9 + r9]
movzx r12d, bx
mov r8d, r9d
movzx r11d, r13b
mov ebx, r9d
shl r8, 4
lea r10, [rdx + r9*8]
lea r13, [rcx + rax*2]
shl rbx, 2
add r11d, r9d
mov qword [rsp + 0xb0], r12
mov rax, rdi
mov dword [rsp + 0x28], esi
sub rax, rdx
mov dword [rsp + 0x24], r11d
add r8, r14
mov qword [rsp + 0x40], r10
mov rbp, r14
mov qword [rsp + 0x38], r13
sub rbp, rdx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xa8], rbp
movsxd rax, dword [r15]
mov rcx, qword [0x14060b260]
movzx ecx, byte [rax + rcx]
mov eax, r11d
cdq
idiv ecx
mov rcx, qword [rsp + 0x58]
xor edx, edx
sub ax, word [rcx + 0x2c00]
mov ecx, 0xffff
mov word [r13], ax
mov eax, dword [rsp + 0x128]
add ax, cx
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x128], eax
movzx eax, ax
movzx eax, byte [rax + rcx - 0x685]
movsxd rcx, r9d
or rax, rcx
mov rcx, qword [rsp + 0x60]
div qword [r10]
mov qword [r10], rax
mov rax, qword [rdi]
movzx ecx, word [rcx + rax*2 + 2]
mov rax, qword [rsp + 0x68]
xor rcx, 0xecc
and qword [r10 + rbp], rcx
cmp r12, qword [rax + r10 + 0x10]
ja 0x14001091d
movsxd rcx, dword [rsp + 0x20]
mov rax, qword [0x14060b238]
lea rdx, [rcx + rcx*2]
movzx ecx, word [0x14060b230]
cmp ecx, dword [rax + rdx*4]
jge 0x140010a0a
mov rax, qword [0x14060b210]
movzx ecx, word [rax + 0x18ce]
cmp qword [r14 + r12*8], rcx
jne 0x140010a0a
mov edx, dword [0x14060b220]
mov ecx, dword [rsp + 0x120]
mov rax, qword [rsp + 0x130]
inc ecx
add ecx, dword [rbx + r15]
or edx, ecx
mov dword [0x14060b220], edx
movzx eax, word [rax + 0x23d0]
sub edx, eax
movsxd rax, edx
xor edx, edx
div qword [0x14060b228]
mov eax, dword [rsp + 0x128]
movzx eax, ax
mov qword [0x14060b228], rdx
cdq
idiv dword [0x14060b204]
movsxd rax, dword [r15]
movsxd rcx, edx
mov qword [r14 + rax*8], rcx
mov ecx, 0xffff
movzx eax, word [0x14060b250]
add ax, cx
mov rcx, qword [rsp + 0x58]
mov word [0x14060b250], ax
movzx eax, ax
mov ecx, dword [rcx + r12*4]
sub ecx, eax
lea eax, [rcx + 0x1559]
add eax, r9d
mov dword [0x14060b204], eax
mov eax, dword [r15]
lea ecx, [rax + rax*2]
mov rax, qword [rsp + 0x130]
movsxd rdx, ecx
mov rcx, qword [rsp + 0x70]
movzx eax, word [rax + r12*2]
xor eax, esi
xor dword [rcx + rdx*4], eax
mov rax, qword [rdi]
mov rcx, qword [0x14060b258]
mov eax, dword [r15 + rax*4 + 0x18]
cdq
idiv dword [rbx + rcx]
and eax, r9d
xor eax, dword [0x69b7]
mov dword [0x14060b224], eax
jmp 0x140010b1b
mov rax, qword [0x14060b258]
movzx edx, byte [0x14060b1f0]
movzx ecx, word [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov eax, dword [rbx + rax]
imul eax, edx
xor edx, edx
cdqe
div qword [rdi + rcx*8]
mov rdx, qword [rsp + 0x88]
xor qword [r8], rax
movsxd rcx, dword [0x14060b208]
movzx edi, byte [rcx + rdx]
inc ecx
mov dword [0x14060b208], ecx
movsxd rcx, dword [r15]
cmp rdi, qword [r14 + rcx*8]
jae 0x140010b16
movzx eax, word [rsp + 0x2c]
mov r9d, 1
mov rbp, qword [rsp + 0x30]
mov r12d, eax
mov r11, qword [rsp + 0x98]
mov r13, qword [rsp + 0x48]
mov r10, qword [rsp + 0x138]
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rbp]
add edi, r9d
lea rcx, [rax + rax*2]
movzx eax, word [0x14060b224]
xor word [r11 + rcx*2], ax
mov eax, dword [rsi]
add eax, r9d
movsxd rdx, eax
movzx eax, word [0x14060b230]
mov rcx, qword [r10 + rax*8]
mov rax, qword [r14 + rdx*8]
or rcx, r12
imul rax, rcx
mov qword [r14 + rdx*8], rax
add word [0x14060b230], r9w
mov eax, dword [r15]
add r15, 4
lea eax, [rax + rax*2]
cdqe
xor qword [r14 + rax*8], r13
movsxd rcx, dword [r15]
movsxd rax, edi
cmp rax, qword [r14 + rcx*8]
jb 0x140010a8e
mov r9d, dword [rsp + 0x110]
mov r10, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x24]
mov esi, dword [rsp + 0x28]
mov rbp, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov eax, 1
add esi, 2
add r9d, eax
mov dword [rsp + 0x28], esi
add r11d, eax
mov dword [rsp + 0x110], r9d
add r13, 6
mov dword [rsp + 0x24], r11d
add r10, 8
mov qword [rsp + 0x38], r13
add rbx, 4
mov qword [rsp + 0x40], r10
add r8, 0x10
cmp esi, 0x2a6c
jg 0x140010880
mov r13b, byte [rsp + 0x118]
movzx eax, word [rsp + 0x2c]
movzx ecx, r13b
sub eax, ecx
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret