Function at 0x14002d318
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x507925f8
add rsp, 0x50792578
lea rcx, [0x1404a38a0]
xchg rdx, rsp
mov rbx, rsp
xchg rdx, rsp
call fcn.140058eb0
mov dword [rsp - 0x34], esp
test al, al
je 0x14002d54a
xorps xmm0, xmm0
mov r13, r13
xchg rsi, r8
mov qword [rsp + 0x90], r8
xchg r8, rsi
mov rsi, qword [rbx + 0x38]
lea rax, [rsp + 0x48]
mov dword [rsp - 0x18], 0x637c767b
mov rbx, qword [rbx]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x98], rdi
mov dword [rsp - 0x10], 0xa36230d
mov qword [rsp + 0x40], rax
lea rdx, [rsi + 1]
xchg rsp, rdi
movups xmmword [rdi + 0x48], xmm0
xchg rsp, rdi
movups xmmword [rsp + 0x58], xmm0
xchg rsi, rsp
movups xmmword [rsi + 0x68], xmm0
xchg rsi, rsp
call fcn.14000ee10
xchg r15, rax
mov r8, r15
xchg r15, rax
mov ecx, 0x5d944fb3
sub ecx, 0x2a084607
sub ecx, 0x227ace42
xor ecx, 0xba16b7d
test rsi, rsi
mov dword [rsp - 0x30], esp
je 0x14002d25f
mov rdx, rax
sub rbx, rax
mov dword [rsp - 0x14], 0x7fc8de49
mov rdi, rsi
mov r9d, 0x1492d0b4
xor r9d, 0x26089200
sub r9d, 0x1e117ec9
add r9d, 0x21abc082
sub r9d, 0x3634836e
nop dword [rax]
mov rdx, rdx
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r9w
mov dword [rsp - 0x2c], esp
ror ecx, 2
ror ecx, 5
ror ecx, 1
xor ax, word [rdx + rbx - 2]
mov dword [rsp - 0x14], 0x16e9db6d
mov word [rdx - 2], ax
sub rdi, 1
jne 0x14002d229
mov dword [rsp - 0x28], ecx
xor edi, edi
mov dword [rsp + 0xa8], 0x3520a456
sub dword [rsp + 0xa8], 0x1ac976b0
sub dword [rsp + 0xa8], 0x13d3895e
add dword [rsp + 0xa8], 0x35fc6a70
sub dword [rsp + 0xa8], 0x3c600e40
mov word [r8 + rsi*2], di
mov rsi, qword [rsp + 0x90]
xchg rsi, rsi
mov dword [rsp + 0xac], 0x20a596e4
sub dword [rsp + 0xac], 0x12fbcd91
add dword [rsp + 0xac], 0x53fb2862
sub dword [rsp + 0xac], 0x6130f0e0
mov qword [rsp + 0xa0], rdi
mov rax, qword [rsp + 0xa0]
mov dword [rsp - 0x44], esi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa0]
mov dword [rsp - 0x3c], esi
and cl, 3
shl cl, 3
movzx edx, word [rsp + rax*2 + 0xa8]
mov eax, 0x3fb8da95
xor eax, 0x3db9391a
add eax, 0x480341f1
sub eax, 0x2f54d569
shr eax, cl
movzx ecx, al
xchg r10, r10
mov rax, qword [rsp + 0xa0]
xor cx, dx
mov word [rsp + rax*2 + 0x30], cx
mov dword [rsp - 0x18], 0x1aeb67be
xchg r14, rax
mov r14, qword [rsp + 0xa0]
xchg r14, rax
inc rax
mov rsi, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
cmp rax, 4
jb 0x14002d2f6
mov rbp, rbp
mov rax, qword [0x1404a33d0]
lea rdx, [rsp + 0x30]
mov r8, qword [rsp + 0x40]
movabs rcx, 0x5de7be1a5f5482e7
xor rcx, 0x6cc411f8
xor rcx, 0x47944a67
xor rcx, 0x57725471
add rcx, 0x7fffffff
sub rcx, 0x14619e7a
xor rax, rcx
mov rbx, rbx
mov dword [rsp + 0x28], 0xabb8f17
add dword [rsp + 0x28], 0x6954f8f2
xor dword [rsp + 0x28], 0x6f77b75e
xor dword [rsp + 0x28], 0x1b673f56
rol rax, 2
rol rax, 6
rol rax, 1
movabs rcx, 0x4cbd11033b11eebb
xor rcx, 0xf31ca7c
sub rcx, 0x2d856ce1
add rcx, 0x48d1a5d4
xor rcx, 0x13906bcd
xor rax, rcx
mov word [rsp + 0x38], di
mov dword [rsp - 0x44], edi
movabs rcx, 0x71b814a44e1f788d
add rcx, 0x18625f0e
xor rcx, 0x543c2c99
xor rcx, 0x62e0a794
add rcx, 0x7fffffff
xor rcx, 0x30abb845
xchg rdi, r8
mov qword [rsp + 0x20], r8
xchg r8, rdi
sub rax, rcx
xor r9d, r9d
rol rax, 5
rol rax, 4
rol rax, 6
rol rax, 1
rol rax, 0xc
movabs rcx, 0x853eef7832c0192b
xor rcx, 0x5df2c4eb
sub rcx, 0x3970b00e
xor rcx, 0x63fcac53
add rcx, 0x5a8a4785
add rax, rcx
mov r13, r13
xor ecx, ecx
call rax
xor eax, eax
mov r14, r14
lea rdi, [rsp + 0x30]
mov ecx, 0x75b6adb7
sub ecx, 0x621a601d
xor ecx, 0xf3d128b
xor ecx, 0x366d8b94
sub ecx, 0x2accd481
rep stosb byte [rdi], al
mov dword [rsp - 0x18], esp
xchg rcx, r14
mov r14, qword [rsp + 0x40]
xchg r14, rcx
lea rax, [rsp + 0x48]
xchg r10, r10
cmp rcx, rax
jne 0x14002d534
lea rdi, [rsp + 0x48]
mov dword [rsp - 0x28], ecx
xor eax, eax
mov ecx, 0x2b8c0aa5
add ecx, 0x46da26e2
sub ecx, 0x360bcf38
sub ecx, 0x3c5a621f
rep stosb byte [rdi], al
xchg rdx, rdx
xchg r14, rdi
mov r14, qword [rsp + 0x98]
xchg rdi, r14
add rsp, 0x2a60a5a9
sub rsp, 0x2a60a529
nop
add rsp, 8
mov rbx, qword [rsp - 8]
ret
call fcn.140099240
mov rbp, rbp
xchg r14, rdi
mov r14, qword [rsp + 0x98]
xchg r14, rdi
add rsp, 0x4282e532
sub rsp, 0x4282e4b2
nop
add rsp, 8
mov rbx, qword [rsp - 8]
ret