Function at 0x140002520
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov eax, dword [rsp + 0x90]
lea edi, [r9 - 0x7f1]
mov r13d, eax
lea esi, [r9 - 0x327]
add eax, 0xffffd9c7
mov r15d, r9d
xor r15d, 0xd00
mov dword [rsp + 0x90], eax
mov ebx, r9d
mov r12d, ecx
xor r13d, 0xb1d
xor ebx, 0xddd
xor r12d, 0x273d
mov rbp, r8
lea eax, [r15 + 0x7d9]
mov r14d, esi
cmp edi, eax
jge 0x1400027a4
mov r14d, dword [rsp + 0x90]
lea rax, [0x140019690]
mov qword [0x1400120f0], rax
lea r15, [0x140012010]
mov eax, ebx
lea r9d, [rbx - 0x1e9]
mov ecx, esi
xor eax, 0xed3
lea edx, [r14 + 0x256c]
mov dword [rsp + 0x20], eax
xor ecx, 0xd61
mov r8, r15
call fcn.140003bc0
mov r12d, eax
lea r9d, [rdi + 0x29]
mov r8d, r12d
lea eax, [r13 - 0x5e7]
mov dword [rsp + 0x28], eax
lea ecx, [r13 - 0xb16]
xor r14d, 0x29eb
xor r8d, 0xe2e
mov rdx, r15
mov dword [rsp + 0x20], r14d
call fcn.140001f74
mov r14d, eax
xor r8d, r8d
mov eax, dword [rbp + 0x100]
sub eax, dword [rbp + 0xb8]
add eax, 0x111097
add dword [rbp + 0x78], eax
mov ecx, dword [0x1400120cc]
mov eax, dword [0x1400120dc]
add eax, 0x1ca68
imul ecx, eax
mov dword [0x1400120cc], ecx
mov rcx, qword [section..data]
mov rax, qword [rbp + 0xe0]
mov edx, dword [r8 + rax]
add r8, 4
imul edx, dword [rcx + 0x60]
mov eax, dword [rbp + 0x24]
sub eax, dword [rbp + 0xf8]
xor dword [rcx + 0x94], eax
mov ecx, 0x16865e
mov rax, qword [section..data]
sub ecx, dword [rax + 0x148]
sub ecx, dword [rbp + 0x140]
add dword [rbp + 0xac], ecx
mov rax, qword [0x1400120f8]
movsxd rcx, dword [rbp + 0x90]
mov byte [rcx + rax], dl
inc dword [rbp + 0x90]
mov rax, qword [section..data]
mov ecx, dword [rax + 0x74]
sub ecx, dword [rbp + 0x24]
xor dword [rbp + 0x98], ecx
mov eax, dword [rbp + 0xcc]
xor eax, dword [rbp + 0x148]
xor eax, 0x13dbca
mov dword [rbp + 0xcc], eax
mov rdx, qword [section..data]
mov eax, dword [rdx + 0xd0]
mov ecx, dword [rdx + 0x128]
xor eax, ecx
sub ecx, eax
mov dword [rdx + 0x128], ecx
mov rdx, qword [section..data]
mov eax, dword [rbp + 0x100]
add eax, dword [rbp + 0x8c]
xor eax, 0x1afac8e6
or dword [0x140012180], eax
mov eax, dword [rdx + 0x24]
mov ecx, dword [rbp + 0x5c]
xor ecx, 1
imul eax, ecx
mov ecx, 0x44
mov dword [rdx + 0x24], eax
mov rax, qword [section..data]
sub ecx, dword [rax + 0x98]
sub ecx, dword [rbp + 0x11c]
mov eax, dword [rbp + 0x40]
add dword [rbp + 0x170], ecx
add eax, 0xca797
add dword [rbp + 0x3c], eax
mov dword [rbp + 0xb8], 0x111098
cmp r8, 0x330
jl 0x14000261c
lea eax, [rdi + 0x3b7]
mov qword [rsp + 0x30], rbp
lea r8d, [r12 - 0x187]
mov dword [rsp + 0x28], eax
xor r8d, 0xa19
lea r10d, [rbx + 0x26b]
xor esi, 0x8f4
mov dword [rsp + 0x20], r10d
xor edi, 0x5b
mov edx, esi
mov ecx, edi
lea r9d, [r8 - 0x9fa]
call fcn.140001eec
jmp 0x14000282c
mov eax, ebx
and eax, esi
add eax, 0x2327
cmp esi, eax
jl 0x14000282c
mov r9d, dword [r8 + 0x118]
lea edx, [r15 + r13]
mov ecx, dword [r8 + 0xd0]
lea r10, [0x140012010]
mov rax, qword [section..data]
sub ecx, r9d
mov r8d, dword [r8 + 0x74]
add ecx, r15d
or r8d, esi
mov qword [rsp + 0x28], r10
and r8d, ebx
add r9d, r15d
or edx, dword [rax + 0x40]
mov eax, esi
sub eax, dword [rbp + 4]
mov dword [rsp + 0x20], eax
call fcn.1400048d0
mov ecx, dword [0x1400120cc]
or edi, 0x29eb
mov edx, dword [0x14001216c]
add ecx, r15d
xor edx, r12d
mov dword [rsp + 0x20], edi
lea r8d, [rsi + rax]
add ecx, r13d
xor r8d, 0x2327
mov r9, rbp
call fcn.140005e8c
lea r11, [rsp + 0x40]
xor r14d, 0x46c
mov rbx, qword [r11 + 0x30]
mov eax, r14d
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret