Function at 0x14000eba0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor esi, esi
mov qword [rbp - 0x40], r9
mov r15, rcx
mov dword [r9], esi
mov r13d, edx
mov ebx, edx
shr r13d, 4
mov r14, r9
mov ecx, r13d
mov dword [rbp - 0x34], r13d
shl ecx, 4
mov rdi, r8
sub ebx, ecx
mov dword [rbp - 0x48], ecx
mov dword [rbp - 0x38], ebx
mov r12d, esi
test edx, edx
jne 0x14000ec00
mov eax, 1
jmp 0x14000f0d1
mov eax, dword [0x14004a808]
test eax, eax
je 0x14000f073
sub eax, 1
je 0x14000eee9
sub eax, 1
je 0x14000ed79
cmp eax, 1
jne 0x14000ebf6
mov rax, qword [0x14004a820]
mov r14d, esi
test r13d, r13d
je 0x14000ecd5
nop dword [rax + rax]
lea r8, [rbp - 0x20]
mov edx, 0x10
mov rcx, rax
test r14d, r14d
je 0x14000ec55
lea rcx, [rbp - 0x20]
call fcn.14000eb00
test eax, eax
jne 0x14000f0d1
mov edx, r14d
lea r8, [rbp - 0x1f]
shl edx, 4
lea r9d, [rax + 4]
inc edx
lea eax, [rdx - 1]
mov ecx, eax
lea r8, [r8 + 4]
movzx eax, byte [rax + r15]
xor al, byte [r8 - 5]
mov byte [rcx + rdi], al
movzx eax, byte [rdx + r15]
xor al, byte [r8 - 4]
mov byte [rdx + rdi], al
lea eax, [rdx + 1]
mov ecx, eax
movzx eax, byte [rax + r15]
xor al, byte [r8 - 3]
mov byte [rcx + rdi], al
lea eax, [rdx + 2]
mov ecx, eax
lea edx, [rdx + 4]
movzx eax, byte [rax + r15]
xor al, byte [r8 - 2]
mov byte [rcx + rdi], al
sub r9, 1
jne 0x14000ec72
mov rax, qword [0x14004a820]
add r12d, 0x10
inc r14d
cmp r14d, r13d
jb 0x14000ec40
test ebx, ebx
je 0x14000f06a
lea r8, [rbp - 0x20]
mov edx, 0x10
mov rcx, rax
test r14d, r14d
je 0x14000ecf2
lea rcx, [rbp - 0x20]
call fcn.14000eb00
test eax, eax
jne 0x14000f0d1
test ebx, ebx
je 0x14000ed2b
mov r8d, r14d
lea rdx, [rbp - 0x20]
add r8d, r8d
nop dword [rax]
lea eax, [rsi + r8*8]
inc esi
mov ecx, eax
lea rdx, [rdx + 1]
movzx eax, byte [rax + r15]
xor al, byte [rdx - 1]
mov byte [rcx + rdi], al
cmp esi, ebx
jb 0x14000ed10
cmp ebx, 0x10
jae 0x14000f066
movzx r9d, byte [0x14004a7fc]
lea r8, [rbp - 0x20]
mov eax, ebx
add r8, rax
add r14d, r14d
nop dword [rax + rax]
movzx edx, byte [r8]
lea eax, [rbx + r14*8]
xor dl, r9b
lea r8, [r8 + 1]
inc ebx
mov byte [rax + rdi], dl
cmp ebx, 0x10
jb 0x14000ed50
mov rax, qword [rbp - 0x40]
add r12d, 0x10
mov dword [rax], r12d
jmp 0x14000f0cf
mov rax, qword [0x14004a820]
mov r14d, esi
test r13d, r13d
je 0x14000ee33
nop dword [rax]
lea r8, [rbp - 0x20]
mov edx, 0x10
test r14d, r14d
jne 0x14000eda3
mov rcx, rax
jmp 0x14000edaf
mov ecx, r14d
shl ecx, 4
sub ecx, 0x10
add rcx, rdi
call fcn.14000eb00
test eax, eax
jne 0x14000f0d1
mov edx, r14d
lea r8, [rbp - 0x1f]
shl edx, 4
lea r9d, [rax + 4]
inc edx
nop dword [rax]
lea eax, [rdx - 1]
mov ecx, eax
lea r8, [r8 + 4]
movzx eax, byte [rax + r15]
xor al, byte [r8 - 5]
mov byte [rcx + rdi], al
movzx eax, byte [rdx + r15]
xor al, byte [r8 - 4]
mov byte [rdx + rdi], al
lea eax, [rdx + 1]
mov ecx, eax
movzx eax, byte [rax + r15]
xor al, byte [r8 - 3]
mov byte [rcx + rdi], al
lea eax, [rdx + 2]
mov ecx, eax
lea edx, [rdx + 4]
movzx eax, byte [rax + r15]
xor al, byte [r8 - 2]
mov byte [rcx + rdi], al
sub r9, 1
jne 0x14000edd0
mov rax, qword [0x14004a820]
add r12d, 0x10
inc r14d
cmp r14d, r13d
jb 0x14000ed90
test ebx, ebx
je 0x14000f06a
lea r8, [rbp - 0x20]
mov edx, 0x10
test r14d, r14d
jne 0x14000ee4e
mov rcx, rax
jmp 0x14000ee5a
mov ecx, r14d
shl ecx, 4
sub ecx, 0x10
add rcx, rdi
call fcn.14000eb00
test eax, eax
jne 0x14000f0d1
test ebx, ebx
je 0x14000ee9b
mov r8d, r14d
lea rdx, [rbp - 0x20]
add r8d, r8d
nop word [rax + rax]
lea eax, [rsi + r8*8]
inc esi
mov ecx, eax
lea rdx, [rdx + 1]
movzx eax, byte [rax + r15]
xor al, byte [rdx - 1]
mov byte [rcx + rdi], al
cmp esi, ebx
jb 0x14000ee80
cmp ebx, 0x10
jae 0x14000f066
movzx r9d, byte [0x14004a7fc]
lea r8, [rbp - 0x20]
mov eax, ebx
add r8, rax
add r14d, r14d
nop dword [rax + rax]
movzx edx, byte [r8]
lea eax, [rbx + r14*8]
xor dl, r9b
lea r8, [r8 + 1]
inc ebx
mov byte [rax + rdi], dl
cmp ebx, 0x10
jb 0x14000eec0
mov rax, qword [rbp - 0x40]
add r12d, 0x10
mov dword [rax], r12d
jmp 0x14000f0cf
mov r11, qword [0x14004a820]
mov r14d, esi
test r13d, r13d
je 0x14000efa4
mov rax, r11
lea rcx, [rbp - 0x20]
sub rax, r15
mov qword [rbp - 0x30], rax
mov rax, r15
sub rax, rcx
mov qword [rbp - 0x28], rax
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rbp - 0x30]
lea rdx, [rbp - 0x20]
mov r13, qword [rbp - 0x28]
mov r8d, esi
nop
test r14d, r14d
jne 0x14000ef41
lea rax, [rdx + r13]
movzx ecx, byte [rax + rbx]
xor cl, byte [rax]
jmp 0x14000ef5c
lea ecx, [r14 - 1]
mov eax, r14d
shl ecx, 4
add ecx, r8d
shl eax, 4
add eax, r8d
movzx ecx, byte [rcx + rdi]
xor cl, byte [rax + r15]
mov byte [rdx], cl
inc r8d
inc rdx
cmp r8d, 0x10
jb 0x14000ef30
mov ebx, dword [rbp - 0x38]
lea rcx, [rbp - 0x20]
mov r13d, dword [rbp - 0x34]
mov r8d, r14d
shl r8d, 4
mov edx, 0x10
add r8, rdi
call fcn.14000eb00
test eax, eax
jne 0x14000f0d1
add r12d, 0x10
inc r14d
cmp r14d, r13d
jb 0x14000ef20
mov r11, qword [0x14004a820]
test ebx, ebx
je 0x14000f06a
mov r9, r11
lea rax, [rbp - 0x20]
mov r11d, dword [rbp - 0x48]
lea r8, [rbp - 0x20]
sub r9, r15
mov r10, r15
sub r10, rax
test r13d, r13d
jne 0x14000efd9
lea rax, [r8 + r10]
movzx ecx, byte [rax + r9]
xor cl, byte [rax]
mov byte [r8], cl
jmp 0x14000eff1
lea eax, [r13 - 1]
shl eax, 4
lea ecx, [r11 + rsi]
add eax, esi
movzx eax, byte [rax + rdi]
xor al, byte [rcx + r15]
mov byte [r8], al
inc esi
inc r8
cmp esi, ebx
jb 0x14000efc4
mov r11, qword [0x14004a820]
cmp ebx, 0x10
jae 0x14000f04d
movzx r8d, byte [0x14004a7fc]
lea rdx, [rbp - 0x20]
mov eax, ebx
add rdx, rax
lea rax, [rbp - 0x20]
sub r11, rax
nop
test r13d, r13d
jne 0x14000f031
movzx eax, byte [r11 + rdx]
xor al, r8b
mov byte [rdx], al
jmp 0x14000f043
lea eax, [r13 - 1]
shl eax, 4
add eax, ebx
movzx ecx, byte [rax + rdi]
xor cl, r8b
mov byte [rdx], cl
inc ebx
inc rdx
cmp ebx, 0x10
jb 0x14000f020
mov r8d, dword [rbp - 0x48]
lea rcx, [rbp - 0x20]
add r8, rdi
mov edx, 0x10
call fcn.14000eb00
test eax, eax
jne 0x14000f0d1
add r12d, 0x10
mov rax, qword [rbp - 0x40]
mov dword [rax], r12d
jmp 0x14000f0cf
test r13d, r13d
je 0x14000f0af
mov r14d, esi
nop dword [rax + rax]
mov eax, r14d
mov edx, 0x10
lea r8, [rax + rdi]
lea rcx, [rax + r15]
call fcn.14000eb00
test eax, eax
jne 0x14000f0d1
add r12d, 0x10
inc esi
add r14d, 0x10
cmp esi, r13d
jb 0x14000f080
mov ecx, dword [rbp - 0x48]
mov r14, qword [rbp - 0x40]
test ebx, ebx
je 0x14000f0cc
mov eax, ecx
mov edx, ebx
lea r8, [rax + rdi]
lea rcx, [rax + r15]
call fcn.14000eb00
test eax, eax
jne 0x14000f0d1
add r12d, 0x10
mov dword [r14], r12d
xor eax, eax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400102f0
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret