Function at 0x1400af590
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp - 0x1c], 0x2214a35
mov qword [rsp + 0x18], rbp
push rdi
mov qword [rsp], rsi
push rdi
mov dword [rsp - 0x44], edx
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
add rsp, 0x3de8d297
sub rsp, 0x3de8d2f7
movsxd rax, dword [rcx + 0x3c]
mov r14, rdx
mov dword [rsp - 0x2c], edx
mov rsi, r8
mov rbx, rcx
mov edx, dword [rax + rcx + 0x98]
mov r14, r14
test edx, edx
je 0x1400af667
cmp dword [rax + rcx + 0x9c], 0
je 0x1400af667
xchg r14, r14
call fcn.1400aac10
xchg r10, rax
mov rdi, r10
xchg r10, rax
test rax, rax
je 0x1400af667
xchg rbp, rbp
movzx r8d, word [rax + 0xe]
xor ebp, ebp
movzx ecx, word [rax + 0xc]
mov edx, ebp
xchg r10, r10
add r8d, ecx
je 0x1400af667
lea rcx, [rax + 0x10]
mov dword [rsp - 0x24], esi
mov eax, dword [rcx]
test eax, eax
js 0x1400af64a
mov dword [rsp - 0x18], ebx
cmp ax, 0x10
je 0x1400af69d
inc edx
nop
sub rcx, 0x706c841c
add rcx, 0x706c8424
cmp edx, r8d
mov rsi, rsi
jb 0x1400af632
xor al, al
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov dword [rsp - 0x34], 0x18338a1e
mov rbp, qword [r11 + 0x30]
xchg rsp, r11
mov r11, rsp
xchg r11, rsp
pop r14
pop rdi
mov dword [rsp - 0x1c], 0x7dc8af40
nop
add rsp, 8
mov rsi, qword [rsp - 8]
ret
mov edx, dword [rcx + 4]
xchg rdx, rdx
test edx, edx
jns 0x1400af667
btr edx, 0x1f
mov dword [rsp - 0x28], esi
add rdx, rdi
je 0x1400af667
mov r8d, 0x1827660b
add r8d, 0xfc597f5
xor r8d, 0x24f6e7d8
xor r8d, 0x5916014b
sub r8d, 0x5a0c1892
mov rcx, rdi
call fcn.1400afb30
mov dword [rsp - 0x30], esp
test rax, rax
je 0x1400af667
mov r8d, 0x7f4939f0
xor r8d, 0xb6dd0cc
xor r8d, 0x62e9c3b
sub r8d, 0x720a70fe
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
call fcn.1400afac0
test rax, rax
mov dword [rsp - 0x14], edi
je 0x1400af667
mov edx, dword [rax]
xchg r14, rcx
mov r14, rbx
xchg rcx, r14
call fcn.1400aac10
xchg r8, rax
mov rax, r8
xchg r8, rax
test rax, rax
je 0x1400af667
xchg rcx, rcx
mov ecx, 0x12a86474
add ecx, 0x4874c3b2
sub ecx, 0xcbd5907
xor ecx, 0x6a05217c
sub ecx, 0x245aede7
mov dword [rsp + 0x20], 0x52d6c2d9
xor dword [rsp + 0x20], 0x1a84bdcb
sub dword [rsp + 0x20], 0x3c9444d9
xor dword [rsp + 0x20], 0x5495bbb3
sub dword [rsp + 0x20], 0x5ed68126
mov word [rsp + 0x3c], cx
mov dword [rsp + 0x24], 0x48d9e313
sub dword [rsp + 0x24], 0x35cdabe3
add dword [rsp + 0x24], 0x47aa00cc
xor dword [rsp + 0x24], 0x5ad13790
mov dword [rsp + 0x28], 0x30e6ef1d
add dword [rsp + 0x28], 0x2e953f2
xor dword [rsp + 0x28], 0x313144b9
xor dword [rsp + 0x28], 0x2b507c1
mov dword [rsp + 0x2c], 0x7e8c3dc9
sub dword [rsp + 0x2c], 0x140d7800
add dword [rsp + 0x2c], 0x147f65cb
xor dword [rsp + 0x2c], 0x49533217
xor dword [rsp + 0x2c], 0x37d519e3
mov dword [rsp + 0x30], 0x419f6bba
add dword [rsp + 0x30], 0x13edb347
add dword [rsp + 0x30], 0x1c0e7a00
xor dword [rsp + 0x30], 0x3fab1b65
sub dword [rsp + 0x30], 0x4de881e7
mov dword [rsp + 0x34], 0x75fd3fe0
sub dword [rsp + 0x34], 0x281c0bf2
add dword [rsp + 0x34], 0x1290cc1f
sub dword [rsp + 0x34], 0x5ff9ffa1
mov dword [rsp + 0x38], 0x5e3b1a59
xor dword [rsp + 0x38], 0x2ec68097
xor dword [rsp + 0x38], 0x33d72d8a
sub dword [rsp + 0x38], 0x42eab6c8
mov qword [rsp + 0x80], rbp
mov dword [rsp - 0x14], 0x15906f5c
xchg r8, rax
mov r8, qword [rsp + 0x80]
xchg r8, rax
nop dword [rax]
xchg r13, r13
nop word [rax + rax]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x80]
mov dword [rsp - 0x24], ebp
and cl, 3
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x20]
mov dword [rsp - 0x28], ebx
mov eax, 0x862878a
xor eax, 0x76eb9c49
sub eax, 0x1bd2af0b
sub eax, 0x31836686
shr eax, cl
mov dword [rsp - 0x18], ebp
movzx ecx, al
xchg r10, rax
mov r10, qword [rsp + 0x80]
xchg r10, rax
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
mov dword [rsp - 0xc], edi
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov dword [rsp - 0x28], 0x6cb1396b
cmp rax, 0xf
jb 0x1400af89a
lea rax, [r8 + 6]
mov rsi, rsi
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
sub rdi, rax
mov r14, r14
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
mov dword [rsp - 0x34], edx
sub edx, ecx
jne 0x1400af96c
neg rax
add rax, 0xfffffffffffffffe
neg rax
test ecx, ecx
mov dword [rsp - 0x28], 0x2363c2ca
jne 0x1400af93f
xor eax, eax
lea rdi, [rsp + 0x3e]
mov ecx, 0x55a6541c
sub ecx, 0x12a474df
sub ecx, 0x2ce431bf
sub ecx, 0x161dad6f
rep stosb byte [rdi], al
xchg rcx, rcx
test edx, edx
jne 0x1400af667
mov eax, dword [r8 + 0x28]
mov dword [rsp - 0x14], 0x72fff010
xor eax, 0x71c6092d
cmp eax, 0x8f290d90
jne 0x1400af667
mov dword [rsp - 0x3c], esp
cmp dword [r8 + 0x2c], 0x10000
jne 0x1400af667
mov eax, dword [r8 + 0x30]
mov dword [r14], eax
mov dword [rsp - 0x10], 0x732609a9
mov eax, dword [r8 + 0x34]
mov dword [rsi], eax
mov al, 0x10
xor al, 0x62
xor al, 0x37
sub al, 0x15
xor al, 0x31
jmp 0x1400af669