Function at 0x14008a2c0
Capabilities:
Encode data using xor

Disassembly:
xchg r9, rbx
mov qword [rsp + 0x10], r9
xchg r9, rbx
mov qword [rsp + 0x18], rbp
xchg r14, r14
push rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r14
add rsp, 0xffffffffffffffa0
movsxd rax, dword [rcx + 0x3c]
mov r11, r11
xchg r14, rdx
mov rdx, r14
xchg r14, rdx
xchg r8, rsp
mov rsi, rsp
xchg rsp, r8
xchg rsi, rbx
mov rsi, rcx
xchg rsi, rbx
mov edx, dword [rax + rcx + 0x98]
test edx, edx
je 0x14008a3a1
mov rbp, rbp
cmp dword [rax + rcx + 0x9c], 0
je 0x14008a3a1
call fcn.1400857a0
xchg r12, rdi
mov r12, rax
xchg rdi, r12
test rax, rax
mov dword [rsp - 0x34], edi
je 0x14008a3a1
movzx r8d, word [rax + 0xe]
xor ebp, ebp
mov dword [rsp - 0x10], 0x20d60c52
movzx ecx, word [rax + 0xc]
mov edx, ebp
add r8d, ecx
xchg r12, r12
je 0x14008a3a1
lea rcx, [rax + 0x10]
mov eax, dword [rcx]
mov dword [rsp - 0x18], 0x33abf854
test eax, eax
js 0x14008a38a
cmp ax, 0x10
mov dword [rsp - 0x1c], 0x7532320c
je 0x14008a3d9
inc edx
add rcx, 8
mov dword [rsp - 0x24], 0x5c280db1
cmp edx, r8d
jb 0x14008a366
xor al, al
lea r11, [rsp + 0x60]
mov rbp, rbp
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
xchg r11, rsp
mov r11, rsp
xchg r11, rsp
nop
mov r14, qword [rsp]
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rsi, qword [rsp - 8]
ret
mov edx, dword [rcx + 4]
test edx, edx
jns 0x14008a3a1
mov rcx, rcx
btr edx, 0x1f
add rdx, rdi
je 0x14008a3a1
mov r8d, 0x7b996f39
sub r8d, 0x4e6d5215
add r8d, 0x2d68207d
xor r8d, 0x2719fa99
sub r8d, 0x7d8dc737
xchg rbp, rcx
mov rbp, rdi
xchg rcx, rbp
call fcn.14008a8c0
mov dword [rsp - 0x3c], ecx
test rax, rax
je 0x14008a3a1
mov r8d, 0xcafc192
xor r8d, 0x5eaeae91
xor r8d, 0x2673c16f
sub r8d, 0x7472aa63
xchg r14, rdx
mov r14, rax
xchg r14, rdx
xchg rdi, rcx
mov rdi, rcx
xchg rcx, rdi
call fcn.14008a850
mov dword [rsp - 0x44], ecx
test rax, rax
je 0x14008a3a1
mov edx, dword [rax]
mov r8, r8
xchg rbx, r9
mov rcx, r9
xchg r9, rbx
call fcn.1400857a0
mov dword [rsp - 0x10], edx
xchg rcx, r8
mov rcx, rax
xchg r8, rcx
test rax, rax
mov dword [rsp - 0x18], 0x685a3a9d
je 0x14008a3a1
mov eax, 0x6870f2a4
xor eax, 0x3c38671a
sub eax, 0x4f6e981f
add eax, 0x7c896c0
sub eax, 0xca293cf
mov dword [rsp + 0x20], 0x72ce5885
xor dword [rsp + 0x20], 0x35c0b472
add dword [rsp + 0x20], 0x8bc10e0
sub dword [rsp + 0x20], 0x207ba5f7
sub dword [rsp + 0x20], 0x2eef5723
mov word [rsp + 0x3c], ax
mov dword [rsp + 0x24], 0x6a79bbcf
add dword [rsp + 0x24], 0x1222c20
xor dword [rsp + 0x24], 0x2d6f530d
xor dword [rsp + 0x24], 0x46b8b462
mov dword [rsp + 0x28], 0xc145ae0
add dword [rsp + 0x28], 0x384b3f47
xor dword [rsp + 0x28], 0x3db689bc
sub dword [rsp + 0x28], 0x798812ed
mov dword [rsp + 0x2c], 0x155c6aa1
xor dword [rsp + 0x2c], 0x311fdf32
xor dword [rsp + 0x2c], 0x3dbac539
add dword [rsp + 0x2c], 0x294f678a
sub dword [rsp + 0x2c], 0x42f5d7a8
mov dword [rsp + 0x30], 0x3fdf8a16
sub dword [rsp + 0x30], 0x1e60475d
xor dword [rsp + 0x30], 0x1758adf9
sub dword [rsp + 0x30], 0x35aaee9c
mov dword [rsp + 0x34], 0x3d315341
sub dword [rsp + 0x34], 0x3733535f
add dword [rsp + 0x34], 0x839b21
sub dword [rsp + 0x34], 0x141a8cf
sub dword [rsp + 0x34], 0x4ecf1b4
mov dword [rsp + 0x38], 0xbc3fa34
add dword [rsp + 0x38], 0x773b50e
add dword [rsp + 0x38], 0x36535518
add dword [rsp + 0x38], 0x9f448da
sub dword [rsp + 0x38], 0x530a4c8f
xchg rbp, rsi
mov qword [rsp + 0x80], rsi
xchg rbp, rsi
xchg r13, rax
mov r13, qword [rsp + 0x80]
xchg r13, rax
nop dword [rax]
mov dword [rsp - 0x44], 0x1cf17af8
nop word [rax + rax]
xchg r8, rcx
mov r8, qword [rsp + 0x80]
xchg rcx, r8
mov rax, qword [rsp + 0x80]
and cl, 3
mov rbp, rbp
shl cl, 1
shl cl, 1
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x101c786d
xor eax, 0x4c7730a6
xor eax, 0x7bf91148
add eax, 0x87ecf6f
sub eax, 0x1531f507
shr eax, cl
mov r12, r12
movzx ecx, al
xchg rdi, rax
mov rdi, qword [rsp + 0x80]
xchg rdi, rax
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
mov dword [rsp - 0x3c], 0x91f8094
xchg rdx, rax
mov rdx, qword [rsp + 0x80]
xchg rdx, rax
inc rax
mov rbx, rbx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
cmp rax, 0xf
mov dword [rsp - 0x14], 0x4f009ccb
jb 0x14008a5ef
lea rax, [r8 + 6]
mov word [rsp + 0x5c], bp
mov dword [rsp - 0xc], 0x479aff3c
lea rdi, [rsp + 0x3e]
sub rdi, rax
nop word [rax + rax]
xchg r11, r11
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
mov dword [rsp - 0x34], ecx
jne 0x14008a6d8
nop
sub rax, 0x5ad1a82d
add rax, 0x5ad1a82f
test ecx, ecx
jne 0x14008a6ac
mov dword [rsp - 0xc], edi
xor eax, eax
lea rdi, [rsp + 0x3e]
mov ecx, 0x5ccb321d
add ecx, 0x9560704
sub ecx, 0x3bcf1e58
xor ecx, 0x66f22f4f
sub ecx, 0x4ca03577
rep stosb byte [rdi], al
test edx, edx
jne 0x14008a3a1
mov dword [rsp - 0x20], 0x3b0b1b23
mov eax, dword [r8 + 0x28]
xor eax, 0x1d1855eb
cmp eax, 0xe3f75156
mov r15, r15
jne 0x14008a3a1
cmp dword [r8 + 0x2c], 0x10000
jne 0x14008a3a1
mov eax, dword [r8 + 0x30]
mov dword [rsp - 0x40], edx
mov dword [r14], eax
mov eax, dword [r8 + 0x34]
mov dword [rsi], eax
mov al, 0x14
xor al, 0x28
xor al, 3
sub al, 0x3e
jmp 0x14008a3a3