Function at 0x14008af30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
xor r12d, r12d
movabs rax, sym.imp.msvcrt.dll_malloc
mov ebx, 0x5f5e100
mov rax, qword [rax]
movabs r14, sym.imp.msvcrt.dll_free
mov ecx, ebx
mov r14, qword [r14]
mov dword [rbp - 0x48], 0x72373563
mov dword [rbp - 0x44], 0x534f2b64
mov dword [rbp - 0x40], 0x764f366e
mov dword [rbp - 0x3c], 0x6f4f567a
mov dword [rbp - 0x38], 0x774a4952
mov dword [rbp - 0x34], 0x4d3e65
mov dword [rbp - 0x30], 0x65006b
mov dword [rbp - 0x2c], 0x6e0072
mov dword [rbp - 0x28], 0x6c0065
mov dword [rbp - 0x24], 0x320033
mov dword [rbp - 0x20], 0x64002e
mov dword [rbp - 0x1c], 0x6c006c
mov word [rbp - 0x18], r12w
call rax
mov rsi, rax
mov ecx, r12d
mov byte [rcx + rax], cl
inc rcx
cmp rcx, rbx
jb 0x14008ae6d
cmp byte [rax + 0x4f], 0x4f
jne 0x14008af3c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r8, rbx
mov rcx, qword [r8 + 0x60]
mov r9d, r12d
mov rax, rcx
cmp word [rcx], r12w
je 0x14008aeb3
lea rax, [rax + 2]
inc r9d
cmp word [rax], r12w
jne 0x14008aea6
lea rax, [rbp - 0x30]
mov edx, r12d
lea rax, [rax + 2]
inc edx
cmp word [rax], r12w
jne 0x14008aeba
cmp r9d, edx
jne 0x14008af25
lea r11, [rbp - 0x30]
mov r10d, r12d
sub r11, rcx
movzx edx, word [rcx]
mov rax, rcx
mov r9d, r12d
test dx, dx
je 0x14008af36
lea rax, [rax + 2]
inc r9d
cmp word [rax], r12w
jne 0x14008aee3
cmp r10d, r9d
jae 0x14008af36
movzx r9d, word [r11 + rcx]
lea eax, [rdx - 0x41]
cmp ax, 0x19
ja 0x14008af07
add dx, 0x20
lea eax, [r9 - 0x41]
cmp ax, 0x19
ja 0x14008af16
add r9w, 0x20
cmp dx, r9w
jne 0x14008af25
inc r10d
add rcx, 2
jmp 0x14008aed5
mov r8, qword [r8]
cmp r8, rbx
jne 0x14008ae96
mov rbx, r12
jmp 0x14008af40
mov rbx, qword [r8 + 0x30]
jmp 0x14008af40
mov rbx, qword [rbp + 0x50]
mov edx, 0xe3142
mov rcx, rbx
call fcn.14008b2a3
mov edx, 0xd5786
mov rcx, rbx
mov rdi, rax
call fcn.14008b2a3
mov edx, 0x348bfa
mov rcx, rbx
mov qword [rbp - 0x58], rax
call fcn.14008b2a3
mov ebx, 0x3000
mov r13d, 0x37800
mov r9d, 4
xor ecx, ecx
mov r8d, ebx
mov edx, r13d
mov qword [rbp + 0x60], rax
call rdi
movabs r11, section.R
mov r9d, r12d
mov r15, rax
mov qword [rbp - 0x50], rax
mov r10, rax
sub r11, rax
movzx ecx, byte [rsi + 0x58]
movzx edx, byte [rsi]
movabs rax, 0xaaaaaaaaaaaaaaab
imul edx, ecx
imul ecx, edx, 0x16
movsxd r8, ecx
movsxd rcx, r9d
inc r9d
mul rcx
shr rdx, 4
lea rax, [rdx + rdx*2]
shl rax, 3
sub rcx, rax
sub rcx, r8
mov al, byte [rbp + rcx - 0x48]
xor al, byte [r11 + r10]
mov byte [r10], al
inc r10
cmp r9d, r13d
jb 0x14008afa7
movsxd rax, dword [r15 + 0x3c]
movzx r9d, byte [rsi + 8]
mov r8d, ebx
mov edx, dword [rax + r15 + 0x50]
shl r9d, 3
xor ecx, ecx
call rdi
mov rdi, rax
test rax, rax
je 0x14008b28f
mov rcx, rsi
call r14
movsxd r14, dword [r15 + 0x3c]
mov rax, rdi
add r14, r15
mov r8d, r12d
sub rax, qword [r14 + 0x30]
mov r9d, dword [r14 + 0x54]
movzx r10d, word [r14 + 0x14]
mov qword [rbp + 0x50], rax
mov qword [r14 + 0x30], rdi
test r9, r9
je 0x14008b05d
mov rdx, r15
mov rcx, rdi
sub rdx, rdi
mov al, byte [rdx + rcx]
inc r8d
mov byte [rcx], al
movsxd rax, r8d
inc rcx
cmp rax, r9
jb 0x14008b04a
mov rax, qword [r14 + 0xb0]
mov rcx, qword [r14 + 0x90]
xor esi, esi
mov r13, r12
mov ebx, esi
mov qword [rbp + 0x58], rax
cmp si, word [r14 + 6]
jae 0x14008b28f
lea r9, [r10 + 0x24]
add r9, r14
mov r10d, dword [r9]
cmp eax, r10d
jb 0x14008b0a0
mov r8d, dword [r9 - 4]
add r8d, r10d
cmp eax, r8d
jae 0x14008b0a0
lea r13, [r9 - 0xc]
cmp ecx, r10d
jb 0x14008b0b5
mov r8d, dword [r9 - 4]
add r8d, r10d
cmp ecx, r8d
jae 0x14008b0b5
lea r12, [r9 - 0xc]
mov r11d, dword [r9 + 8]
mov esi, dword [r9 + 4]
xor edx, edx
add r11, r15
lea r8, [rdi + r10]
mov r10d, edx
test rsi, rsi
je 0x14008b0e6
sub r11, r8
mov dl, byte [r11 + r8]
inc r10d
mov byte [r8], dl
movsxd rdx, r10d
inc r8
cmp rdx, rsi
jb 0x14008b0d1
movzx edx, word [r14 + 6]
inc ebx
add r9, 0x28
cmp ebx, edx
jl 0x14008b088
xor ecx, ecx
test r12, r12
je 0x14008b28f
mov esi, dword [rbp + 0x5c]
mov edx, ecx
test rsi, rsi
je 0x14008b1bf
mov r12, qword [rbp + 0x50]
mov r9d, dword [r13 + 0x14]
add r9, rdx
add rdx, 8
mov r8d, dword [r9 + r15 + 4]
sub r8, 8
shr r8, 1
je 0x14008b1b4
xor esi, esi
mov eax, dword [r13 + 0x14]
add rax, rdx
add rdx, 2
movzx r10d, word [rax + r15]
mov eax, 0xf000
test ax, r10w
je 0x14008b1ac
mov ecx, dword [r9 + r15]
and r10d, 0xfff
mov qword [rbp + 0x50], rsi
lea rax, [rdi + r10]
mov r11d, esi
lea r10, [rbp + 0x50]
add rcx, rax
lea rax, [rbp + 0x50]
mov rbx, rcx
sub rbx, rax
mov al, byte [rbx + r10]
inc r11d
mov byte [r10], al
movsxd rax, r11d
inc r10
cmp rax, 8
jb 0x14008b173
add qword [rbp + 0x50], r12
lea r11, [rbp + 0x50]
mov r10d, esi
sub r11, rcx
mov al, byte [r11 + rcx]
inc r10d
mov byte [rcx], al
movsxd rax, r10d
inc rcx
cmp rax, 8
jb 0x14008b197
dec r8
jne 0x14008b131
mov esi, dword [rbp + 0x5c]
cmp rdx, rsi
jb 0x14008b112
xor ecx, ecx
mov esi, dword [r14 + 0x90]
add rsi, rdi
je 0x14008b28f
add rsi, 0xc
cmp dword [rsi], ecx
je 0x14008b23d
mov r13, qword [rbp + 0x60]
mov ecx, dword [rsi]
add rcx, rdi
call qword [rbp - 0x58]
xor ecx, ecx
mov r12, rax
test rax, rax
je 0x14008b28f
mov ebx, dword [rsi + 4]
add rbx, rdi
cmp qword [rbx], rcx
je 0x14008b235
xor r15d, r15d
mov rax, qword [rbx]
movabs rcx, 0x8000000000000000
test rcx, rax
mov rcx, r12
je 0x14008b219
movzx edx, ax
jmp 0x14008b220
lea rdx, [rax + 2]
add rdx, rdi
call r13
mov qword [rbx], rax
add rbx, 8
cmp qword [rbx], r15
jne 0x14008b1ff
mov r15, qword [rbp - 0x50]
xor ecx, ecx
add rsi, 0x14
cmp dword [rsi], ecx
jne 0x14008b1db
movsxd rax, dword [r15 + 0x3c]
cmp dword [rax + r15 + 0xd0], ecx
je 0x14008b271
mov eax, dword [r14 + 0xd0]
mov rbx, qword [rax + rdi + 0x18]
jmp 0x14008b269
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 1]
call rax
lea rbx, [rbx + 8]
mov rax, qword [rbx]
test rax, rax
jne 0x14008b259
mov eax, dword [r14 + 0x28]
mov rcx, qword [rbp + 0x48]
xor r8d, r8d
lea edx, [r8 + 1]
add rax, rdi
call rax
neg eax
sbb rax, rax
and rax, rdi
jmp 0x14008b291
xor eax, eax
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret