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

Disassembly:
push rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
mov dword [rsp - 0xc], 0x456eeb2a
lea rbp, [rsp - 0x78]
neg rsp
sub rsp, 0xfffffffffffffe88
neg rsp
lea rdi, [rcx + 8]
xchg rsp, rsp
mov rsi, rdx
mov qword [rcx], rdi
mov rbx, rcx
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
xor edx, edx
xchg r8, r8
mov r8d, 0x6fc13500
sub r8d, 0x2eb18f89
xor r8d, 0x669d0fee
xor r8d, 0x2792ab99
call fcn.14004d990
mov rcx, rcx
mov eax, 0x58cf4031
xor eax, 0x118bb220
sub eax, 0x2e599b5c
add eax, 0x24beb6fc
sub eax, 0x3faa0d8b
mov qword [rbx + 0x108], rax
mov rcx, qword [rbx]
mov r14, r14
cmp rcx, rdi
je 0x14003dcd8
call fcn.14004d3c0
xchg rcx, rcx
xor edx, edx
mov qword [rbx], rdi
mov r8d, 0x675a064c
add r8d, 0xe61b313
xor r8d, 0x2e88a47c
sub r8d, 0x5523a092
sub r8d, 0x60f7b91
xchg rdi, rcx
mov rdi, rcx
xchg rcx, rdi
call fcn.14004d990
xchg r11, r11
xchg r10, r8
mov r8, qword [rbx]
xchg r8, r10
test r10, r10
mov rsi, rsi
je 0x14003e2fa
movzx r8d, byte [rsi + 0xf]
mov eax, 0x5545881f
xor eax, 0x4b742d87
add eax, 0x2ae82635
sub eax, 0x4919cbad
movzx r11d, byte [rsi + 0xe]
movzx r9d, byte [rsi + 9]
mov r13, r13
xchg rcx, r12
mov qword [rsp + 0x1a8], rcx
xchg rcx, r12
movzx r12d, byte [rsi + 0xb]
mov dword [rsp - 0x3c], esp
mov word [rbp - 0x18], ax
xor eax, eax
xchg r13, rdi
mov qword [rsp + 0x1b0], rdi
xchg rdi, r13
movzx r13d, byte [rsi + 0xa]
mov qword [rsp + 0x1b8], r14
xchg r9, r9
movzx r14d, byte [rsi + 0xd]
mov dword [rsp + 0x70], 0xd2e3bd2
add dword [rsp + 0x70], 0x484e8e74
xor dword [rsp + 0x70], 0x1537f80e
xor dword [rsp + 0x70], 0x3cbc121d
sub dword [rsp + 0x70], 0x7cda202f
mov dword [rsp + 0x74], 0xd8d169d
add dword [rsp + 0x74], 0x2a1580e2
sub dword [rsp + 0x74], 0x2aa379ce
add dword [rsp + 0x74], 0x52de8b12
sub dword [rsp + 0x74], 0x5fbaa7e3
mov dword [rsp + 0x78], 0x4c321223
xor dword [rsp + 0x78], 0x586a92ca
xor dword [rsp + 0x78], 0x417ddcb4
sub dword [rsp + 0x78], 0x54c55bf8
mov dword [rsp + 0x7c], 0x4aa14ba1
sub dword [rsp + 0x7c], 0x1d41301d
add dword [rsp + 0x7c], 0x2f18e15e
sub dword [rsp + 0x7c], 0x5c50fbe5
mov dword [rbp - 0x80], 0x57bb0d4e
sub dword [rbp - 0x80], 0xd2fdd2c
xor dword [rbp - 0x80], 0x35438dfa
xor dword [rbp - 0x80], 0x5f4725b5
sub dword [rbp - 0x80], 0x20799800
mov dword [rbp - 0x7c], 0x33c6724c
sub dword [rbp - 0x7c], 0xdd4dd4f
add dword [rbp - 0x7c], 0xc498540
sub dword [rbp - 0x7c], 0xb031582
sub dword [rbp - 0x7c], 0x26e303d7
mov dword [rbp - 0x78], 0x87cac05
xor dword [rbp - 0x78], 0x3309c8ae
add dword [rbp - 0x78], 0x36f196f
xor dword [rbp - 0x78], 0x6eca16e
sub dword [rbp - 0x78], 0x37ebdf04
mov dword [rbp - 0x74], 0x1c7a2ea5
add dword [rbp - 0x74], 0x331cd62c
add dword [rbp - 0x74], 0x10f17fad
sub dword [rbp - 0x74], 0x6065839e
mov dword [rbp - 0x70], 0x4b6372f4
xor dword [rbp - 0x70], 0x9109f7a
xor dword [rbp - 0x70], 0x22670764
xor dword [rbp - 0x70], 0x6074ea83
mov dword [rbp - 0x6c], 0x1f9f8b3d
add dword [rbp - 0x6c], 0xcbc8c67
xor dword [rbp - 0x6c], 0x36fd0c4
sub dword [rbp - 0x6c], 0x2f0bc663
mov dword [rbp - 0x68], 0x236946e6
add dword [rbp - 0x68], 0x444d3b58
sub dword [rbp - 0x68], 0x627b3b7a
xor dword [rbp - 0x68], 0x16f5dae4
sub dword [rbp - 0x68], 0x13b89bb3
mov dword [rbp - 0x64], 0x78ff7a81
xor dword [rbp - 0x64], 0x6645a5ef
sub dword [rbp - 0x64], 0xcf8fe67
xor dword [rbp - 0x64], 0x1194e1e5
mov dword [rbp - 0x60], 0x533dedcd
sub dword [rbp - 0x60], 0x4ddbb04b
xor dword [rbp - 0x60], 0x763df96c
sub dword [rbp - 0x60], 0xe9badc2
xor dword [rbp - 0x60], 0x64cc1754
mov dword [rbp - 0x5c], 0x25d7654f
xor dword [rbp - 0x5c], 0x5ae41efd
xor dword [rbp - 0x5c], 0x6dbb1dc4
xor dword [rbp - 0x5c], 0x1a5d7e62
sub dword [rbp - 0x5c], 0x8961716
mov dword [rbp - 0x58], 0x7910e7be
xor dword [rbp - 0x58], 0x1ef0652c
xor dword [rbp - 0x58], 0x3cadbf28
sub dword [rbp - 0x58], 0x5b383db5
mov dword [rbp - 0x54], 0x328ce3c0
sub dword [rbp - 0x54], 0x29c9b2dc
add dword [rbp - 0x54], 0x3896da98
xor dword [rbp - 0x54], 0x11b96ed2
sub dword [rbp - 0x54], 0x50a664b9
mov dword [rbp - 0x50], 0x6366c95b
sub dword [rbp - 0x50], 0x39953f7d
sub dword [rbp - 0x50], 0x1b2f78f6
add dword [rbp - 0x50], 0x30031ed1
sub dword [rbp - 0x50], 0x3e9b2f46
mov dword [rbp - 0x4c], 0x1ebe2e04
sub dword [rbp - 0x4c], 0xa230d97
xor dword [rbp - 0x4c], 0x12d508d3
xor dword [rbp - 0x4c], 0x6662836
mov dword [rbp - 0x48], 0x588f8076
sub dword [rbp - 0x48], 0x587ba096
xor dword [rbp - 0x48], 0x75092061
xor dword [rbp - 0x48], 0x750cffec
mov dword [rbp - 0x44], 0x1b4fea95
add dword [rbp - 0x44], 0x17e90c98
add dword [rbp - 0x44], 0x28c7ef1b
sub dword [rbp - 0x44], 0x5babe566
mov dword [rbp - 0x40], 0x54f3ffa0
sub dword [rbp - 0x40], 0x4c7e4a04
xor dword [rbp - 0x40], 0x36c4efd5
add dword [rbp - 0x40], 0x205233ec
xor dword [rbp - 0x40], 0x5f0b8e4d
mov dword [rbp - 0x3c], 0x3a6bb805
add dword [rbp - 0x3c], 0x1185b9f5
sub dword [rbp - 0x3c], 0xa1696fc
sub dword [rbp - 0x3c], 0x2bfb81ba
sub dword [rbp - 0x3c], 0x15a05846
mov dword [rbp - 0x38], 0x10b84aaf
add dword [rbp - 0x38], 0x2994e06
add dword [rbp - 0x38], 0x3d7ded19
sub dword [rbp - 0x38], 0x50b285c9
mov dword [rbp - 0x34], 0x6b761948
sub dword [rbp - 0x34], 0x6b0d08c4
xor dword [rbp - 0x34], 0x5b00093e
add dword [rbp - 0x34], 0x73b2fb6
sub dword [rbp - 0x34], 0x62814890
mov dword [rbp - 0x30], 0x49ca2e63
sub dword [rbp - 0x30], 0x3da4c392
xor dword [rbp - 0x30], 0x4bb9a4a5
sub dword [rbp - 0x30], 0x473cce05
mov dword [rbp - 0x2c], 0x62bbb8e9
sub dword [rbp - 0x2c], 0x603075a0
add dword [rbp - 0x2c], 0x269e4a3e
xor dword [rbp - 0x2c], 0x1f3c5893
sub dword [rbp - 0x2c], 0x35d8d41f
mov dword [rbp - 0x28], 0xa2eb2ec
add dword [rbp - 0x28], 0x288a02d4
sub dword [rbp - 0x28], 0x305cf51c
sub dword [rbp - 0x28], 0x251c031
mov dword [rbp - 0x24], 0x4a461c97
sub dword [rbp - 0x24], 0x4f10cf6
add dword [rbp - 0x24], 0x19456e10
sub dword [rbp - 0x24], 0x442fcfdf
xor dword [rbp - 0x24], 0x1a42ad5a
mov dword [rbp - 0x20], 0x1eec4543
xor dword [rbp - 0x20], 0x1b2da65c
add dword [rbp - 0x20], 0x3f80b54
add dword [rbp - 0x20], 0x5ae7fe1a
xor dword [rbp - 0x20], 0x64b7ece0
mov dword [rbp - 0x1c], 0x53243fca
sub dword [rbp - 0x1c], 0x4dffd45
xor dword [rbp - 0x1c], 0x6a1b3e9a
sub dword [rbp - 0x1c], 0x240a7b3d
xchg r9, rax
mov qword [rbp + 0xa0], r9
xchg r9, rax
xchg rdx, rax
mov rdx, qword [rbp + 0xa0]
xchg rdx, rax
xchg r15, r11
mov qword [rsp + 0x170], r11
xchg r15, r11
movzx r15d, byte [rsi + 0xc]
mov dword [rsp - 0x10], 0x13423bab
nop dword [rax + rax]
mov rcx, qword [rbp + 0xa0]
mov edx, 0x2e42679b
add edx, 0x49a779b7
xor edx, 0xf529a24
sub edx, 0x6aeb4319
mov rax, qword [rbp + 0xa0]
xchg r8, r8
and cl, 3
shl cl, 2
shl cl, 1
shr edx, cl
mov dword [rsp - 0x38], 0x6b504e44
movzx ecx, dl
xor cx, word [rsp + rax*2 + 0x70]
mov rax, qword [rbp + 0xa0]
mov word [rbp + rax*2 - 0x16], cx
mov dword [rsp - 0x1c], esi
xchg r11, rax
mov r11, qword [rbp + 0xa0]
xchg r11, rax
inc rax
mov dword [rsp - 0x10], edx
mov qword [rbp + 0xa0], rax
xchg r12, rax
mov r12, qword [rbp + 0xa0]
xchg r12, rax
cmp rax, 0x3d
xchg rdx, rdx
jb 0x14003e18e
mov dword [rsp + 0x68], r8d
xor eax, eax
xchg r9, r9
mov dword [rsp + 0x60], r11d
lea r8, [rbp - 0x16]
mov dword [rsp + 0x58], r14d
xchg r12, r12
mov edx, 0x6b89a531
xor edx, 0x358b567f
add edx, 0xc994f70
sub edx, 0x6a9c4297
mov dword [rsp + 0x50], r15d
xchg r8, r10
mov rcx, r8
xchg r8, r10
mov dword [rsp + 0x48], r12d
mov r13, r13
mov word [rbp + 0x64], ax
movzx eax, byte [rsi + 8]
mov dword [rsp + 0x40], r13d
mov dword [rsp - 0x3c], 0x73a9bbb0
mov dword [rsp + 0x38], r9d
mov r9d, dword [rsi]
mov dword [rsp + 0x30], eax
mov dword [rsp - 0x24], edx
movzx eax, word [rsi + 6]
mov dword [rsp + 0x28], eax
movzx eax, word [rsi + 4]
mov dword [rsp + 0x20], eax
mov dword [rsp - 0x28], edi
call fcn.14003e9e0
xchg rcx, r15
mov rcx, qword [rsp + 0x170]
xchg rcx, r15
lea rdi, [rbp - 0x16]
mov dword [rsp - 0x40], edx
mov r14, qword [rsp + 0x1b8]
xor eax, eax
xchg r13, r8
mov r8, qword [rsp + 0x1b0]
xchg r8, r13
mov ecx, 0x4981fdaa
xor ecx, 0x3d76fb0
xor ecx, 0x659f19ee
add ecx, 0x2122b742
sub ecx, 0x50ec42f9
xchg r12, r13
mov r13, qword [rsp + 0x1a8]
xchg r12, r13
rep stosb byte [rdi], al
mov dword [rsp - 0x3c], 0x6d795136
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
sub rsp, 0x64d7172d
add rsp, 0x64d718a5
nop
mov rdi, qword [rsp]
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
pop rbp
mov dword [rsp - 0x30], 0x1a0688d7
ret