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

Disassembly:
sub rsp, 8
mov qword [rsp], rbp
push rbx
mov dword [rsp - 0x2c], ebx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push rdi
mov qword [rsp], rdi
lea rbp, [rsp - 0x78]
neg rsp
sub rsp, 0xfffffffffffffe88
neg rsp
lea rdi, [rcx + 8]
mov dword [rsp - 0x1c], 0x36417c33
mov rsi, rdx
mov qword [rcx], rdi
xchg rbx, rcx
mov rcx, rbx
xchg rbx, rcx
xchg r10, rdi
mov rcx, r10
xchg r10, rdi
xor edx, edx
mov r8d, 0x239b266f
add r8d, 0x8f223c8
sub r8d, 0x19a0b737
add r8d, 0x5dd92c18
xor r8d, 0x70c5be18
call fcn.1400b7560
mov qword [rbx + 0x108], 0x6a37cd3e
xor qword [rbx + 0x108], 0x4da55006
add qword [rbx + 0x108], 0x2a22b117
xor qword [rbx + 0x108], 0x63425e11
sub qword [rbx + 0x108], 0x32f71038
mov rcx, qword [rbx]
mov r13, r13
cmp rcx, rdi
je 0x14009e717
call fcn.1400b6f90
xor edx, edx
xchg r15, r15
mov qword [rbx], rdi
mov r8d, 0x146c69f5
xor r8d, 0xf807113
add r8d, 0x16bcae44
xor r8d, 0x207e97aa
sub r8d, 0x12d64f80
xchg rcx, r15
mov r15, rdi
xchg rcx, r15
call fcn.1400b7560
mov dword [rsp - 0x2c], edx
mov rdi, qword [rbx]
test rdi, rdi
je 0x14009ed14
xchg rdi, rdi
movzx r8d, byte [rsi + 0xf]
mov eax, 0x2153275e
add eax, 0x17f1b12
xor eax, 0x626dce1
sub eax, 0x24f49d97
movzx r10d, byte [rsi + 0xe]
movzx r11d, byte [rsi + 0xd]
mov dword [rsp - 0x38], 0x7fdc86a8
movzx r9d, byte [rsi + 8]
xchg r12, rbp
mov qword [rsp + 0x1a8], rbp
xchg rbp, r12
movzx r12d, byte [rsi + 0xa]
mov dword [rsp - 0xc], 0x4103d788
mov word [rbp - 0x18], ax
xor eax, eax
mov qword [rsp + 0x1b0], r13
movzx r13d, byte [rsi + 9]
mov dword [rsp - 0x2c], 0x26cd08d9
mov qword [rsp + 0x1b8], r14
movzx r14d, byte [rsi + 0xc]
mov dword [rsp + 0x70], 0x5d172849
sub dword [rsp + 0x70], 0x44f64807
add dword [rsp + 0x70], 0x155c322a
xor dword [rsp + 0x70], 0x454d63ea
xor dword [rsp + 0x70], 0x6838717a
mov dword [rsp + 0x74], 0x2581ffba
xor dword [rsp + 0x74], 0x717c67db
xor dword [rsp + 0x74], 0x7f83e67c
sub dword [rsp + 0x74], 0x2b5f7e1d
mov dword [rsp + 0x78], 0x573f3191
add dword [rsp + 0x78], 0xce5d5d2
sub dword [rsp + 0x78], 0x5fbaa722
sub dword [rsp + 0x78], 0x3f55f82
mov dword [rsp + 0x7c], 0x6f6fae7d
xor dword [rsp + 0x7c], 0x409e3ec4
add dword [rsp + 0x7c], 0x4c6076f5
sub dword [rsp + 0x7c], 0x71130138
sub dword [rsp + 0x7c], 0xb2b0659
mov dword [rbp - 0x80], 0x37d921cb
xor dword [rbp - 0x80], 0x1c5ee0dc
xor dword [rbp - 0x80], 0x24882bc5
add dword [rbp - 0x80], 0x2daa8f6
sub dword [rbp - 0x80], 0x11e79311
mov dword [rbp - 0x7c], 0x45c508d3
add dword [rbp - 0x7c], 0x27b22cf
add dword [rbp - 0x7c], 0xf3ea664
sub dword [rbp - 0x7c], 0x5715d202
mov dword [rbp - 0x78], 0x45fa68c2
add dword [rbp - 0x78], 0x25d7dff6
sub dword [rbp - 0x78], 0xf3ac3c1
sub dword [rbp - 0x78], 0x5c8f844d
mov dword [rbp - 0x74], 0x153f09c5
add dword [rbp - 0x74], 0x37ce2643
xor dword [rbp - 0x74], 0x3086b1ba
sub dword [rbp - 0x74], 0x11ad17db
sub dword [rbp - 0x74], 0x6bbf69d7
mov dword [rbp - 0x70], 0x2188be91
add dword [rbp - 0x70], 0x37ef4cff
add dword [rbp - 0x70], 0x267eb175
xor dword [rbp - 0x70], 0x7f83bdb6
mov dword [rbp - 0x6c], 0x45549dc9
sub dword [rbp - 0x6c], 0x2d588a06
xor dword [rbp - 0x6c], 0x7ed3f6c0
xor dword [rbp - 0x6c], 0x693be51e
mov dword [rbp - 0x68], 0x17f0dc77
xor dword [rbp - 0x68], 0x7db1cfe5
xor dword [rbp - 0x68], 0x38b90e11
sub dword [rbp - 0x68], 0x52f51ccc
mov dword [rbp - 0x64], 0x2761bc31
xor dword [rbp - 0x64], 0x51afd60b
sub dword [rbp - 0x64], 0x17e5e8b6
sub dword [rbp - 0x64], 0x1ce5c6bb
sub dword [rbp - 0x64], 0x4199bac7
mov dword [rbp - 0x60], 0x4ec36711
xor dword [rbp - 0x60], 0x2d38ad96
sub dword [rbp - 0x60], 0x26dbd41c
add dword [rbp - 0x60], 0x40e6d00a
sub dword [rbp - 0x60], 0x7de9c5d3
mov dword [rbp - 0x5c], 0x49440e4a
xor dword [rbp - 0x5c], 0x778ef322
xor dword [rbp - 0x5c], 0x7a518c5c
xor dword [rbp - 0x5c], 0x4498712a
mov dword [rbp - 0x58], 0x15a716e3
add dword [rbp - 0x58], 0x102922ed
xor dword [rbp - 0x58], 0x369a57f0
add dword [rbp - 0x58], 0x59bde34
sub dword [rbp - 0x58], 0x18e64b75
mov dword [rbp - 0x54], 0x7a27025f
sub dword [rbp - 0x54], 0x177d610a
sub dword [rbp - 0x54], 0x419b65d4
sub dword [rbp - 0x54], 0x210d3b6c
mov dword [rbp - 0x50], 0x30f58bb4
sub dword [rbp - 0x50], 0x8e97b2e
xor dword [rbp - 0x50], 0x2d380afa
add dword [rbp - 0x50], 0x3d43e1fa
sub dword [rbp - 0x50], 0x4258fbcd
mov dword [rbp - 0x4c], 0x5c75f4f9
sub dword [rbp - 0x4c], 0x31ea18ec
add dword [rbp - 0x4c], 0x3615e447
add dword [rbp - 0x4c], 0x2248aa8
sub dword [rbp - 0x4c], 0x62b24a94
mov dword [rbp - 0x48], 0x3715925a
sub dword [rbp - 0x48], 0x1ae31161
xor dword [rbp - 0x48], 0x1d26230c
add dword [rbp - 0x48], 0x34c876c8
sub dword [rbp - 0x48], 0x35da1a06
mov dword [rbp - 0x44], 0x826f910
add dword [rbp - 0x44], 0x13362c10
xor dword [rbp - 0x44], 0x7669280b
sub dword [rbp - 0x44], 0x6ccb0d29
mov dword [rbp - 0x40], 0x3f9b94c3
sub dword [rbp - 0x40], 0x230c3415
xor dword [rbp - 0x40], 0x4dcd242a
add dword [rbp - 0x40], 0x1ecd5e8
xor dword [rbp - 0x40], 0x53321ace
mov dword [rbp - 0x3c], 0x150abdc3
add dword [rbp - 0x3c], 0x594fb283
sub dword [rbp - 0x3c], 0x1a785f11
sub dword [rbp - 0x3c], 0x53df1117
mov dword [rbp - 0x38], 0x1e04f45b
xor dword [rbp - 0x38], 0x387ec681
sub dword [rbp - 0x38], 0x7f91425
add dword [rbp - 0x38], 0x115fc90a
sub dword [rbp - 0x38], 0x2fd8e6e0
mov dword [rbp - 0x34], 0x3925a527
sub dword [rbp - 0x34], 0x1e132a6b
add dword [rbp - 0x34], 0x637a7624
sub dword [rbp - 0x34], 0xf4b0913
sub dword [rbp - 0x34], 0x6f22e7cd
mov dword [rbp - 0x30], 0x45390b4a
xor dword [rbp - 0x30], 0x30fe104
add dword [rbp - 0x30], 0xa434ff3
xor dword [rbp - 0x30], 0x500f3af4
mov dword [rbp - 0x2c], 0x5b1ef052
xor dword [rbp - 0x2c], 0x1151ed7b
sub dword [rbp - 0x2c], 0x2cc72b3
xor dword [rbp - 0x2c], 0x4783aa63
mov dword [rbp - 0x28], 0x70c641ac
sub dword [rbp - 0x28], 0x2e44f1b7
xor dword [rbp - 0x28], 0x43895a4
xor dword [rbp - 0x28], 0x46a6daf8
mov dword [rbp - 0x24], 0xfbaad04
add dword [rbp - 0x24], 0x6337f3a3
add dword [rbp - 0x24], 0xf3dce4
sub dword [rbp - 0x24], 0x73d27d23
mov dword [rbp - 0x20], 0x685b521b
sub dword [rbp - 0x20], 0x401ff988
xor dword [rbp - 0x20], 0x10328eab
add dword [rbp - 0x20], 0xfd3b90e
sub dword [rbp - 0x20], 0x47da8e8f
mov dword [rbp - 0x1c], 0x4d8aba19
sub dword [rbp - 0x1c], 0x33c66431
sub dword [rbp - 0x1c], 0x16947924
add dword [rbp - 0x1c], 0x6261edd1
sub dword [rbp - 0x1c], 0x6528ca93
mov qword [rbp + 0xa0], rax
mov r8, r8
xchg r8, rax
mov r8, qword [rbp + 0xa0]
xchg r8, rax
xchg r15, r11
mov qword [rsp + 0x170], r11
xchg r11, r15
movzx r15d, byte [rsi + 0xb]
nop dword [rax]
mov rcx, qword [rbp + 0xa0]
mov dword [rsp - 0x1c], 0x76b8c584
xchg r8, rax
mov r8, qword [rbp + 0xa0]
xchg r8, rax
and cl, 3
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x70]
mov dword [rsp - 0x34], 0x2685328c
mov eax, 0x21910785
add eax, 0x2941dc39
xor eax, 0x5b725e4
sub eax, 0x1e3598d3
shr eax, cl
movzx ecx, al
mov rax, qword [rbp + 0xa0]
xchg r13, r13
xor cx, dx
mov word [rbp + rax*2 - 0x16], cx
mov rax, qword [rbp + 0xa0]
mov dword [rsp - 0xc], ebx
inc rax
mov qword [rbp + 0xa0], rax
xchg rsi, rax
mov rsi, qword [rbp + 0xa0]
xchg rsi, rax
cmp rax, 0x3d
mov dword [rsp - 0x14], 0x7137b579
jb 0x14009ebc4
mov dword [rsp + 0x68], r8d
xor eax, eax
mov dword [rsp + 0x60], r10d
mov dword [rsp - 0x40], ebx
lea r8, [rbp - 0x16]
mov dword [rsp + 0x58], r11d
mov edx, 0x7de5836d
xor edx, 0x63b73882
xor edx, 0x5f94446c
sub edx, 0x41c6ff5c
mov dword [rsp + 0x50], r14d
mov rcx, rdi
xchg r9, r9
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x40], r12d
mov word [rbp + 0x64], ax
movzx eax, word [rsi + 6]
xchg r8, r8
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r9d
mov r9d, dword [rsi]
mov rbp, rbp
mov dword [rsp + 0x28], eax
movzx eax, word [rsi + 4]
mov dword [rsp + 0x20], eax
call fcn.14009f370
xchg r15, r15
mov r15, qword [rsp + 0x170]
lea rdi, [rbp - 0x16]
xchg r14, rdi
mov rdi, qword [rsp + 0x1b8]
xchg r14, rdi
xor eax, eax
mov dword [rsp - 0x30], edx
mov r13, qword [rsp + 0x1b0]
mov ecx, 0x4673ed06
add ecx, 0x11f8e873
sub ecx, 0x41cd1247
add ecx, 0x22a18449
sub ecx, 0x3941473e
mov r12, qword [rsp + 0x1a8]
xchg r15, r15
rep stosb byte [rdi], al
mov rax, rbx
sub rsp, 0xfffffffffffffe88
mov dword [rsp - 0x3c], ebx
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
mov rsi, qword [rsp]
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
ret