Function at 0x140001690
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov edi, 4
lea r10, [rbp - 0x2f]
mov r11d, edi
mov r15, r9
mov r12, r8
mov rbx, rcx
add rdx, 8
nop word [rax + rax]
movzx eax, byte [rdx - 8]
lea rdx, [rdx + 1]
mov byte [r10 - 1], al
lea r10, [r10 + 4]
movzx eax, byte [rdx - 5]
mov byte [r10 - 4], al
movzx eax, byte [rdx - 1]
mov byte [r10 - 3], al
movzx eax, byte [rdx + 3]
mov byte [r10 - 2], al
sub r11, 1
jne 0x1400016e0
lea rcx, [rbp - 0x2f]
mov r8, rdi
lea rdx, [r9 + 8]
nop dword [rax]
movzx eax, byte [rdx - 8]
lea rdx, [rdx + 1]
xor byte [rcx - 1], al
lea rcx, [rcx + 4]
movzx eax, byte [rdx - 5]
xor byte [rcx - 4], al
movzx eax, byte [rdx - 1]
xor byte [rcx - 3], al
movzx eax, byte [rdx + 3]
xor byte [rcx - 2], al
sub r8, 1
jne 0x140001720
mov r13d, dword [rbx + 4]
lea r8, [0x140000000]
mov esi, 1
lea r14d, [r13 - 1]
cmp r14d, esi
jb 0x14000196c
nop word [rax + rax]
lea rcx, [rbp - 0x2f]
mov rdx, rdi
movzx eax, byte [rcx - 1]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r8 + 0x27870]
mov byte [rcx - 5], al
movzx eax, byte [rcx - 4]
movzx eax, byte [rax + r8 + 0x27870]
mov byte [rcx - 4], al
movzx eax, byte [rcx - 3]
movzx eax, byte [rax + r8 + 0x27870]
mov byte [rcx - 3], al
movzx eax, byte [rcx - 2]
movzx eax, byte [rax + r8 + 0x27870]
mov byte [rcx - 2], al
sub rdx, 1
jne 0x140001777
movzx eax, byte [rbp - 0x2b]
lea r14, [0x140000000]
mov byte [rbp - 0x3c], al
xorps xmm0, xmm0
movzx eax, byte [rbp - 0x2a]
xor r10d, r10d
mov byte [rbp - 0x3b], al
movzx eax, byte [rbp - 0x29]
mov byte [rbp - 0x3a], al
movzx eax, byte [rbp - 0x2c]
mov byte [rbp - 0x39], al
mov eax, dword [rbp - 0x3c]
mov dword [rbp - 0x2c], eax
movzx eax, byte [rbp - 0x26]
mov byte [rbp - 0x38], al
movzx eax, byte [rbp - 0x25]
mov byte [rbp - 0x37], al
movzx eax, byte [rbp - 0x28]
mov byte [rbp - 0x36], al
movzx eax, byte [rbp - 0x27]
mov byte [rbp - 0x35], al
mov eax, dword [rbp - 0x38]
mov dword [rbp - 0x28], eax
movzx eax, byte [rbp - 0x21]
mov byte [rbp - 0x40], al
movzx eax, byte [rbp - 0x24]
mov byte [rbp - 0x3f], al
movzx eax, byte [rbp - 0x23]
mov byte [rbp - 0x3e], al
movzx eax, byte [rbp - 0x22]
mov byte [rbp - 0x3d], al
mov eax, dword [rbp - 0x40]
mov dword [rbp - 0x24], eax
movups xmmword [rbp - 0x20], xmm0
nop dword [rax + rax]
xor eax, eax
lea rbx, [r14 + 0x27860]
add rbx, r10
nop dword [rax]
movzx ecx, byte [rbx + rax]
movzx r9d, byte [rbp + r10 - 0x20]
movzx r11d, byte [rbp + rax*4 - 0x30]
cmp cl, 1
jne 0x140001888
xor r9b, r11b
mov byte [rbp + r10 - 0x20], r9b
movzx ecx, byte [rbp + rax*4 - 0x2f]
xor byte [rbp + r10 - 0x1f], cl
movzx ecx, byte [rbp + rax*4 - 0x2e]
xor byte [rbp + r10 - 0x1e], cl
movzx ecx, byte [rbp + rax*4 - 0x2d]
jmp 0x1400018e3
mov rdx, rcx
mov r8, rcx
shl r8, 8
shl rdx, 8
add rdx, r11
xor r9b, byte [rdx + r14 + 0x27980]
mov byte [rbp + r10 - 0x20], r9b
movzx ecx, byte [rbp + rax*4 - 0x2f]
add rcx, r8
movzx ecx, byte [rcx + r14 + 0x27980]
xor byte [rbp + r10 - 0x1f], cl
movzx ecx, byte [rbp + rax*4 - 0x2e]
add rcx, r8
movzx ecx, byte [rcx + r14 + 0x27980]
xor byte [rbp + r10 - 0x1e], cl
movzx ecx, byte [rbp + rax*4 - 0x2d]
add rcx, r8
movzx ecx, byte [rcx + r14 + 0x27980]
xor cl, byte [rbp + r10 - 0x1d]
inc rax
mov byte [rbp + r10 - 0x1d], cl
cmp rax, rdi
jb 0x140001850
add r10, rdi
cmp r10, 0x10
jb 0x140001840
movaps xmm0, xmmword [rbp - 0x20]
lea rcx, [rbp - 0x2f]
mov edx, esi
movdqa xmmword [rbp - 0x30], xmm0
shl edx, 4
lea r14d, [r13 - 1]
add rdx, 8
mov r8, rdi
add rdx, r15
nop word [rax + rax]
movzx eax, byte [rdx - 8]
lea rdx, [rdx + 1]
xor byte [rcx - 1], al
lea rcx, [rcx + 4]
movzx eax, byte [rdx - 5]
xor byte [rcx - 4], al
movzx eax, byte [rdx - 1]
xor byte [rcx - 3], al
movzx eax, byte [rdx + 3]
xor byte [rcx - 2], al
sub r8, 1
jne 0x140001930
inc esi
lea r8, [0x140000000]
cmp esi, r14d
jbe 0x140001770
lea rcx, [rbp - 0x2f]
mov rdx, rdi
movzx eax, byte [rcx - 1]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r8 + 0x27870]
mov byte [rcx - 5], al
movzx eax, byte [rcx - 4]
movzx eax, byte [rax + r8 + 0x27870]
mov byte [rcx - 4], al
movzx eax, byte [rcx - 3]
movzx eax, byte [rax + r8 + 0x27870]
mov byte [rcx - 3], al
movzx eax, byte [rcx - 2]
movzx eax, byte [rax + r8 + 0x27870]
mov byte [rcx - 2], al
sub rdx, 1
jne 0x140001973
movzx eax, byte [rbp - 0x2b]
lea rcx, [rbp - 0x2f]
mov byte [rbp - 0x40], al
mov r8, rdi
movzx eax, byte [rbp - 0x2a]
mov byte [rbp - 0x3f], al
movzx eax, byte [rbp - 0x29]
mov byte [rbp - 0x3e], al
movzx eax, byte [rbp - 0x2c]
mov byte [rbp - 0x3d], al
mov eax, dword [rbp - 0x40]
mov dword [rbp - 0x2c], eax
movzx eax, byte [rbp - 0x26]
mov byte [rbp - 0x40], al
movzx eax, byte [rbp - 0x25]
mov byte [rbp - 0x3f], al
movzx eax, byte [rbp - 0x28]
mov byte [rbp - 0x3e], al
movzx eax, byte [rbp - 0x27]
mov byte [rbp - 0x3d], al
mov eax, dword [rbp - 0x40]
mov dword [rbp - 0x28], eax
movzx eax, byte [rbp - 0x21]
mov byte [rbp - 0x40], al
movzx eax, byte [rbp - 0x24]
mov byte [rbp - 0x3f], al
movzx eax, byte [rbp - 0x23]
mov byte [rbp - 0x3e], al
movzx eax, byte [rbp - 0x22]
shl r13d, 4
mov edx, r13d
mov byte [rbp - 0x3d], al
add rdx, 8
mov eax, dword [rbp - 0x40]
add rdx, r15
mov dword [rbp - 0x24], eax
nop dword [rax + rax]
movzx eax, byte [rdx - 8]
lea rdx, [rdx + 1]
xor byte [rcx - 1], al
lea rcx, [rcx + 4]
movzx eax, byte [rdx - 5]
xor byte [rcx - 4], al
movzx eax, byte [rdx - 1]
xor byte [rcx - 3], al
movzx eax, byte [rdx + 3]
xor byte [rcx - 2], al
sub r8, 1
jne 0x140001a40
lea rcx, [rbp - 0x2f]
lea rdx, [r12 + 8]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx - 1]
lea rcx, [rcx + 4]
mov byte [rdx - 8], al
lea rdx, [rdx + 1]
movzx eax, byte [rcx - 4]
mov byte [rdx - 5], al
movzx eax, byte [rcx - 3]
mov byte [rdx - 1], al
movzx eax, byte [rcx - 2]
mov byte [rdx + 3], al
sub rdi, 1
jne 0x140001a80
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140002e20
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
ret