Function at 0x1401c1410
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, rdx
mov qword [rsp + 0x10], rbx
xchg rdx, rbx
xchg rbx, rcx
mov qword [rsp + 8], rbx
xchg rbx, rcx
push rbp
push rax
mov qword [rsp], rbx
nop
push r15
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
push r11
mov qword [rsp], r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg rdx, r10
mov r11, r10
xchg rdx, r10
mov r15d, 0x2dcc5cc2
xor r15d, 0x508fc83d
xor r15d, 0x346d274f
add r15d, 0x367f7aa0
sub r15d, 0x21b12b27
xor r15d, 0x2a1c638
sub r15d, 0x5f5cc501
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rdx, r10
mov rbx, r10
xchg rdx, r10
xchg rcx, r13
mov rsi, r13
xchg r13, rcx
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1401c14d5
lea r13, [0x140000000]
test r9, r9
je 0x1401c16a8
movzx eax, byte [r9]
mov r10d, 0x4d699e1f
xor r10d, 0x7e143c7e
xor r10d, 0x1a5266c5
xor r10d, 0x2f9113ec
add r10d, 0x11e6fd5d
xor r10d, 0x5c009150
add r10d, 0x186ac941
sub r10d, 0x395634b
xor r10d, 0x597aabef
mov byte [rsp + 0x40], al
movzx eax, byte [r9 + 1]
mov byte [rsp + 0x41], al
movzx eax, byte [r9 + 2]
mov byte [rsp + 0x42], al
movzx eax, byte [r9 + 3]
mov byte [rsp + 0x43], al
movzx eax, byte [r9 + 4]
mov byte [rsp + 0x44], al
movzx eax, byte [r9 + 5]
mov byte [rsp + 0x45], al
movzx eax, byte [r9 + 6]
mov byte [rsp + 0x46], al
movzx eax, byte [r9 + 7]
mov byte [rsp + 0x47], al
movzx eax, byte [r9 + 8]
mov byte [rsp + 0x48], al
movzx eax, byte [r9 + 9]
mov byte [rsp + 0x49], al
movzx eax, byte [r9 + 0xa]
mov byte [rsp + 0x4a], al
movzx eax, byte [r9 + 0xb]
mov byte [rsp + 0x4b], al
movzx eax, byte [r9 + 0xc]
mov byte [rsp + 0x4c], al
movzx eax, byte [r9 + 0xd]
mov byte [rsp + 0x4d], al
movzx eax, byte [r9 + 0xe]
mov byte [rsp + 0x4e], al
movzx eax, byte [r9 + 0xf]
mov byte [rsp + 0x4f], al
nop word [rax + rax]
lea edx, [r10*4 - 4]
movzx r9d, byte [rsp + rdx + 0x40]
lea eax, [rdx + 1]
movzx r8d, byte [rsp + rax + 0x40]
lea eax, [rdx + 2]
movzx r11d, byte [rsp + rax + 0x40]
lea eax, [rdx + 3]
movzx ebx, byte [rsp + rax + 0x40]
movzx edi, r8b
test r10b, 3
jne 0x1401c164c
movzx edi, byte [r11 + r13 + 0x4340]
mov eax, r10d
movzx r11d, byte [rbx + r13 + 0x4340]
xor dil, 0xec
movzx ebx, byte [r9 + r13 + 0x4340]
xor r11b, 0xec
shr eax, 1
shr eax, 1
xor bl, 0xec
movzx ecx, al
movzx r9d, byte [rcx + r13 + 0x4540]
xor r9b, byte [r8 + r13 + 0x4340]
xor r9b, 0x46
lea edx, [r10*4 - 0x10]
xor r9b, byte [rsp + rdx + 0x40]
lea eax, [rdx + 1]
xor dil, byte [rsp + rax + 0x40]
lea r8d, [r10*4]
lea eax, [r8 + 1]
mov byte [rsp + r8 + 0x40], r9b
mov byte [rsp + rax + 0x40], dil
inc r10d
lea eax, [rdx + 2]
xor r11b, byte [rsp + rax + 0x40]
lea eax, [r8 + 2]
mov byte [rsp + rax + 0x40], r11b
lea eax, [rdx + 3]
xor bl, byte [rsp + rax + 0x40]
lea eax, [r8 + 3]
mov byte [rsp + rax + 0x40], bl
cmp r10d, 0x2c
jb 0x1401c15d1
mov rbx, qword [rbp + 0x67]
xchg r15, rax
mov r15, qword [rbp + 0x7f]
xchg r15, rax
mov edi, 0x255aa26f
xor edi, 0x2d182db2
add edi, 0x3bca5855
add edi, 0x1ec7e189
sub edi, 0x678de0c
xor edi, 0x44afb845
xor edi, 0x526f3a9e
sub edi, 0x4a9b696b
mov r8, qword [0x140217140]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
xchg rbp, rax
mov rbp, r14
xchg rbp, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1c50
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 1
shr rax, 1
shr rax, 2
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
mov rcx, rbx
sub r8, rbx
xchg rdx, r15
mov r15, rdx
xchg r15, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1744
xchg rcx, r8
mov rcx, rbx
xchg rcx, r8
xchg r14, rcx
mov r14, rsi
xchg rcx, r14
sub r8, rsi
xchg rbx, r15
mov rdx, rbx
xchg rbx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c177a
lea rax, [r9 - 0x10]
xchg r14, rsi
mov rsi, r14
xchg r14, rsi
mov qword [rbp + 0x77], rax
xchg r10, rax
mov rsi, r10
xchg r10, rax
mov edx, 0x65b26e06
xor edx, 0x1a2ffcea
xor edx, 0x2e885750
xor edx, 0x4cab09da
add edx, 0x2f6bb191
sub edx, 0x26f57616
add edx, 0x28d53aa
add edx, 0x21c76f90
sub edx, 0x4a89cb17
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x6b0407cb
sub ecx, 0x267f2327
xor ecx, 0x3155827c
xor ecx, 0x31bb5f08
xor ecx, 0x189cc924
xor ecx, 0x151fd712
xor ecx, 0x5f445eb1
xor ecx, 0x425bbbd7
xor ecx, 0x54f6c284
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c1828
sub rdx, 1
jne 0x1401c17e8
xchg rsi, r10
mov r10, qword [rbp + 0x5f]
xchg r10, rsi
xchg rdx, r15
mov rdx, r9
xchg rdx, r15
xchg r13, rdi
mov qword [rbp + 0x7f], r13
xchg rdi, r13
mov r8, rsi
mov r9d, 0x2ff105eb
sub r9d, 0x231c4d18
add r9d, 0x34cb9a17
add r9d, 0x17841d1d
xor r9d, 0x6cab0b0f
sub r9d, 0x9b66fe
xor r9d, 0x42ecf101
sub r9d, 0x7618e507
nop dword [rax + rax]
xchg r10, rcx
mov r10, r8
xchg r10, rcx
mov edx, 0x33981aac
xor edx, 0x1dad57b4
xor edx, 0x4dd33a64
sub edx, 0x17628de3
add edx, 0x122523c0
sub edx, 0x490c113f
add edx, 0xe97c6d1
xor edx, 0x2434c2ef
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x4340]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401c18e3
inc r8
sub r9, 1
jne 0x1401c18a3
movzx eax, byte [rsi + 5]
lea r12, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r13d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
movzx edi, byte [r12 - 2]
movzx r8d, byte [r12 - 1]
movzx edx, dil
movzx ebx, byte [r12 + 1]
xor dl, r8b
movzx r10d, byte [r12]
lea r12, [r12 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 2
shr al, 2
shr al, 2
shr al, 1
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r12 - 6], cl
xor dil, bl
shr al, 5
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 6
shr al, 1
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r12 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 4
shr al, 1
shr al, 1
shr al, 1
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r12 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r12 - 3], cl
sub r13, 1
jne 0x1401c196b
xchg r10, rax
mov r10, rsi
xchg r10, rax
lea r8d, [r13 + 4]
mov edx, 0x78549af6
xor edx, 0x4f19a56
xor edx, 0x5bb0ca2c
sub edx, 0x2148466b
add edx, 0x2d6ce406
xor edx, 0x5b985134
xor edx, 0x68a23917
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1a77
sub r8, 1
jne 0x1401c1a43
neg r15
add r15, 0xfffffffffffffff0
neg r15
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1864
xchg r12, r8
mov r12, rsi
xchg r12, r8
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
mov rcx, r8
mov edx, 0x42d5363
add edx, 0x78ce2c5d
sub edx, 0x16d5c296
sub edx, 0x599f17ef
xor edx, 0x5d0f584b
xor edx, 0x5189fd74
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x4340]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401c1af9
inc r8
sub r9, 1
jne 0x1401c1acb
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
mov r9, qword [rsp + 0x20]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 7], cl
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x2a0514d3
add edx, 0x46e4d4ac
sub edx, 0x2d9e31c2
add edx, 0x25efa7ad
sub edx, 0x1af71c63
sub edx, 0x49ff6478
add edx, 0x1ab9311d
add edx, 0x446a0f8d
sub edx, 0x63681f35
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1bd7
sub r8, 1
jne 0x1401c1b97
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
xchg r13, rax
mov r13, qword [rbp + 0x77]
xchg r13, rax
lea r15d, [rdx + 0x10]
sub rbx, 0xfffffffffffffff0
xchg r14, rbx
mov qword [rbp + 0x5f], rbx
xchg r14, rbx
sub qword [rsp + 0x28], 1
mov r8, rsi
xchg r15, rbx
mov qword [rbp + 0x67], r15
xchg r15, rbx
mov rsi, r14
xchg rbx, r9
mov rbx, rax
xchg rbx, r9
mov qword [rsp + 0x20], rax
jne 0x1401c172e
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c20e1
xchg r15, rsi
mov rcx, r15
xchg rsi, r15
sub rbx, rsi
mov rdx, r15
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1c6b
movzx eax, r12b
sub r15, rax
xchg r12, r8
mov r12, r15
xchg r12, r8
lea rcx, [rax + rsi]
call fcn.1401fdc76
lea r8, [rsp + 0x40]
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
sub r8, rsi
mov r9d, 0x5e111339
sub r9d, 0x527f6ac1
add r9d, 0x15ad3f45
sub r9d, 0x146fb627
add r9d, 0x4346c8f
xor r9d, 0x11039e21
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x6bfeacb8
add edx, 0xc88183b
sub edx, 0x3f22a8de
xor edx, 0x581ef737
xor edx, 0x5461d022
xor edx, 0x3a43370d
sub edx, 0xf580c09
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1d12
sub r9, 1
jne 0x1401c1cde
lea r14, [rsp + 0x50]
sub r14, rsi
nop
mov r8, rsi
lea r10, [0x140000000]
mov r9d, 0x44eef2eb
sub r9d, 0x41751fd9
xor r9d, 0x5e057cbd
add r9d, 0xce2c382
sub r9d, 0x2ee708b5
sub r9d, 0x11528fda
add r9d, 0x11b2b120
sub r9d, 0x3bd88bbe
xchg rdi, r8
mov rcx, rdi
xchg rdi, r8
mov edx, 0x10ff3ea6
xor edx, 0xeeea0d7
add edx, 0x50f9159f
xor edx, 0xc2435c5
sub edx, 0x5fe5c8d2
add edx, 0x32e844ec
sub edx, 0x233178b0
add edx, 0x37435b7
xor edx, 0x1673baf2
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r10 + 0x4340]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401c1dc1
inc r8
sub r9, 1
jne 0x1401c1d7b
movzx eax, byte [rsi + 5]
lea r15, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r12d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
movzx edi, byte [r15 - 2]
movzx r8d, byte [r15 - 1]
movzx edx, dil
movzx ebx, byte [r15 + 1]
xor dl, r8b
movzx r10d, byte [r15]
lea r15, [r15 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 1
shr al, 6
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r15 - 6], cl
xor dil, bl
shr al, 5
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 2
shr al, 4
shr al, 1
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r15 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 3
shr al, 1
shr al, 3
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r15 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r15 - 3], cl
sub r12, 1
jne 0x1401c1e49
xchg r12, rcx
mov r12, rsi
xchg rcx, r12
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x3150cc40
add edx, 0x46e267bd
sub edx, 0x1855b7da
xor edx, 0x441df3f4
sub edx, 0xd83e7b3
add edx, 0x69b45bee
xor edx, 0x77f10416
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1f53
sub r8, 1
jne 0x1401c1f1f
nop
sub r14, 0x234d9694
add r14, 0x234d96a4
sub qword [rsp + 0x30], 1
jne 0x1401c1d3a
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
mov edx, 0x14f2ad91
xor edx, 0x104c8cd7
add edx, 0x540a96fc
xor edx, 0x63fca7c4
add edx, 0x1dd81171
xor edx, 0x5c57b4e1
add edx, 0x2970c818
xor edx, 0x2ecc4c2a
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r10 + 0x4340]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401c1fec
inc r8
sub r9, 1
jne 0x1401c1fac
movzx eax, byte [rsi + 5]
lea rdx, [rbp - 1]
movzx ecx, byte [rsi + 1]
lea r8d, [r9 + 4]
mov byte [rsi + 1], al
sub rdx, rsi
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
nop dword [rax]
nop word [rax + rax]
mov ecx, 0x712076a1
sub ecx, 0x5fd28f0a
sub ecx, 0x3d57e83
xor ecx, 0x4a31ea8e
add ecx, 0xef10dfe
xor ecx, 0x4735c505
xor ecx, 0x5ef37c0a
xor ecx, 0x2293f0ae
sub ecx, 0x6d6fd835
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c20c4
sub r8, 1
jne 0x1401c2084
add rsp, 0xf8
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
xchg qword [rsp], r14
add rsp, 8
nop
xchg qword [rsp], r13
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
mov rsi, qword [rsp]
add rsp, 8
push rdx
xchg qword [rsp + 8], rbx
add rsp, 0x10
push rcx
push rbx
push rax
push rax
push rcx
push rax
push rcx
xchg qword [rsp + 0x38], rbp
add rsp, 0x40
ret