Function at 0x140022f72
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov rax, qword [rcx + 0x198]
mov rbx, qword [rcx + 0x1a0]
sub rbx, rax
cmp rbx, r8
jbe 0x140022fbe
mov r15, rax
jmp 0x14002320a
lea rcx, [r14 + 0x20]
mov qword [rsp + 0x40], rcx
xor r15d, r15d
lea r13, [rsp + 0x48]
movabs r12, 0xcccccccccccccccd
lea rcx, [r14 + rax]
add rcx, 0xc8
mov rdx, rdi
mov r8, rbx
call fcn.14002c390
mov qword [rsp + 0x28], rbx
sub rsi, rbx
mov rax, r14
xor ecx, ecx
xor edx, edx
xor ebp, ebp
cmp rdx, qword [r14 + 0x1a0]
jae 0x140023023
mov rbx, qword [r14 + rdx + 0xc8]
xor qword [rax + rbp*8], rbx
add rdx, 8
add rbp, 5
cmp rbp, 0x19
jne 0x140023000
inc rcx
add rax, 8
cmp rcx, 5
jne 0x140022ffe
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
xor r8d, r8d
mov rax, qword [rsp + 0x40]
xor ecx, ecx
mov rdx, qword [rax - 0x18]
xor rdx, qword [rax - 0x20]
xor rdx, qword [rax - 0x10]
xor rdx, qword [rax - 8]
xor rdx, qword [rax]
mov qword [rsp + rcx*8 + 0x48], rdx
inc rcx
add rax, 0x28
cmp rcx, 5
jne 0x140023044
mov rax, r14
xor edi, edi
mov rcx, rdi
inc rdi
movzx edx, dil
imul edx, edx, 0xcd
shr edx, 0xa
lea edx, [rdx + rdx*4]
mov ebx, edi
sub bl, dl
movzx edx, bl
mov rdx, qword [rsp + rdx*8 + 0x48]
rol rdx, 1
add cl, 4
movzx ecx, cl
imul ebp, ecx, 0xcd
shr ebp, 0xa
lea ebp, [rbp + rbp*4]
sub cl, bpl
movzx ecx, cl
xor rdx, qword [rsp + rcx*8 + 0x48]
xor ebp, ebp
xor qword [rax + rbp*8], rdx
inc rbp
cmp rbp, 5
jne 0x1400230b3
add rax, 0x28
cmp rdi, 5
jne 0x14002306e
lea rbp, [0x140054720]
xor r9d, r9d
mov r10, r13
mov rbx, r14
xor r11d, r11d
mov rsi, r9
mov rdi, r10
xor r13d, r13d
mov rax, rsi
mul r12
add rdx, rdx
and rdx, 0xfffffffffffffff8
lea rax, [rdx + rdx*4]
neg rax
mov rdx, qword [rbx + r13*8]
mov cl, byte [rbp + r13*4]
rol rdx, cl
mov qword [rdi + rax], rdx
inc r13
add rdi, 0x40
add rsi, 3
cmp r13, 5
jne 0x1400230e6
inc r11
add rbx, 0x28
add r10, 0x10
add r9, 2
add rbp, 0x14
cmp r11, 5
jne 0x1400230dd
mov r10d, 2
lea r13, [rsp + 0x48]
mov rbp, r13
lea rbx, [rsp + 0x98]
mov rdi, r14
xor r9d, r9d
mov rax, r10
mul r12
shr rdx, 2
imul rax, rdx, 0xffffffffffffff38
add rax, rbx
inc r9
cmp r9, 5
mov rdx, r9
cmove rdx, r15
lea rdx, [rdx + rdx*4]
lea rdx, [rsp + rdx*8]
add rdx, 0x48
xor esi, esi
mov rcx, qword [rdx + rsi]
not rcx
and rcx, qword [rax + rsi]
xor rcx, qword [rbp + rsi]
mov qword [rdi + rsi], rcx
add rsi, 8
cmp rsi, 0x28
jne 0x140023180
add rdi, 0x28
add rbx, 0x28
inc r10
add rbp, 0x28
cmp r9, 5
jne 0x140023150
lea rax, [0x140054790]
mov rax, qword [rax + r8*8]
xor qword [r14], rax
inc r8
cmp r8, 0x18
jne 0x14002303d
mov rdi, qword [rsp + 0x30]
add rdi, qword [rsp + 0x28]
mov edx, 0xc8
mov rcx, r13
call fcn.140026378
mov qword [r14 + 0x198], 0
mov rbx, qword [r14 + 0x1a0]
mov eax, 0
mov rsi, qword [rsp + 0x38]
cmp rsi, rbx
jae 0x140022fd9
lea rcx, [r14 + r15]
add rcx, 0xc8
mov rdx, rdi
mov r8, rsi
call fcn.14002c390
add qword [r14 + 0x198], rsi
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.14002b230
nop
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret