Function at 0x1401c0ff0
Capabilities:
Encode data using xor

Disassembly:
xchg rdx, r9
mov qword [rsp + 0x10], r9
xchg r9, rdx
mov qword [rsp + 8], rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
mov qword [rsp - 8], rbx
sub rsp, 8
push rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
mov qword [rsp - 8], r14
sub rsp, 8
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg rbx, r11
mov rbx, rdx
xchg r11, rbx
mov r15d, 0x43bf8169
add r15d, 0x2198ec4
xor r15d, 0x2871cef2
sub r15d, 0x49dc5f6a
sub r15d, 0x2646ee1
add r15d, 0x5a7e1e42
sub r15d, 0x7be62ec6
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg r11, rdx
mov rbx, r11
xchg r11, rdx
xchg r15, rcx
mov rsi, r15
xchg r15, 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 0x1401c10b5
lea r13, [0x140000000]
test r9, r9
je 0x1401c127f
movzx eax, byte [r9]
mov r10d, 0x550e48da
sub r10d, 0x32961a57
sub r10d, 0x16fdc093
add r10d, 0x37b4eb35
add r10d, 0x14abef60
add r10d, 0x2183963e
sub r10d, 0x795edebf
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 0x1401c121d
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, 2
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 0x1401c11a3
xchg rbx, r9
mov r9, qword [rbp + 0x67]
xchg r9, rbx
xchg rcx, rax
mov rcx, qword [rbp + 0x7f]
xchg rcx, rax
mov edi, 0x2b231422
add edi, 0x18343875
add edi, 0x2362e08
add edi, 0xab479b6
add edi, 0x1b8658cd
sub edi, 0x4fc69e5d
xor edi, 0x1c01aecc
mov r8, qword [0x140217140]
test rax, rax
xchg r10, rdi
mov qword [rsp + 0x30], r10
xchg rdi, r10
cmovne r8, rax
mov rax, r14
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c180c
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
xchg rdi, r9
mov qword [rsp + 0x20], rdi
xchg r9, rdi
shr rax, 2
shr rax, 2
inc rax
xchg r12, rax
mov qword [rsp + 0x28], r12
xchg r12, rax
nop dword [rax]
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
sub r8, rbx
xchg rdx, r9
mov r9, r15
xchg r9, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1325
mov r8, rbx
mov rcx, rsi
sub r8, rsi
mov rdx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1349
lea rax, [r9 - 0x10]
xchg rsi, r14
mov rsi, r14
xchg rsi, r14
mov qword [rbp + 0x77], rax
mov rsi, rax
mov edx, 0x3453e619
add edx, 0x1951babf
xor edx, 0x703827bf
add edx, 0x7b76c1c
add edx, 0x2779aa7
sub edx, 0x44e63a05
add edx, 0x4b3a0878
xor edx, 0x4e205c99
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x671be973
xor ecx, 0x27d879ae
add ecx, 0x3d4fe83e
xor ecx, 0x38605860
xor ecx, 0x2a3d757e
sub ecx, 0x4b4e1879
sub ecx, 0x21003b88
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c13e1
sub rdx, 1
jne 0x1401c13ad
mov rsi, qword [rbp + 0x5f]
mov r15, r9
mov qword [rbp + 0x7f], rdi
xchg r8, r9
mov r9, rsi
xchg r9, r8
mov r9d, 0x2d09ff58
add r9d, 0x22c98059
add r9d, 0x177499a5
sub r9d, 0x480ad350
sub r9d, 0xc46cffd
sub r9d, 0x12f67605
nop dword [rax + rax]
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
mov edx, 0x14bc55ab
add edx, 0x41adc287
sub edx, 0x3b67e95
sub edx, 0x662f80a
sub edx, 0x3458608b
sub edx, 0x864863b
xor edx, 0x7d291037
sub edx, 0x164134b5
sub edx, 0x5c797641
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 0x1401c1488
inc r8
sub r9, 1
jne 0x1401c1442
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, 6
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, 6
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 1
shr al, 5
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, 3
shr al, 2
shr al, 2
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 0x1401c1510
xchg r12, rax
mov r12, rsi
xchg r12, rax
lea r8d, [r13 + 4]
mov edx, 0x104b6ed3
add edx, 0x33b8a313
xor edx, 0x5329ad9
sub edx, 0x2483e59f
add edx, 0x1d9db3ed
add edx, 0xd6dff61
xor edx, 0x6029db37
sub edx, 0x279783d5
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c161c
sub r8, 1
jne 0x1401c15e2
nop
sub r15, 0x1d04db90
add r15, 0x1d04dba0
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c140b
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg r8, rcx
mov r8, rcx
xchg r8, rcx
mov edx, 0x112923b3
sub edx, 0xd3d06ae
add edx, 0x46aa98b5
sub edx, 0x223d59b4
sub edx, 0x1bda81e2
xor edx, 0x4c936091
xor edx, 0x5e087ced
add edx, 0x5bf11fc3
sub edx, 0x7ad6e617
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 0x1401c16bb
inc r8
sub r9, 1
jne 0x1401c1675
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg r9, rdi
mov rdi, qword [rsp + 0x20]
xchg rdi, r9
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 r13, rsi
mov rcx, r13
xchg r13, rsi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x38387603
sub edx, 0x2f3a786a
add edx, 0x179613c6
xor edx, 0x2723a17c
add edx, 0x72d7464c
sub edx, 0x7a8ef66b
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c178d
sub r8, 1
jne 0x1401c175f
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
add rbx, 0x10
mov qword [rbp + 0x5f], r14
sub qword [rsp + 0x28], 1
xchg rcx, rsi
mov r8, rcx
xchg rsi, rcx
xchg rbx, r15
mov qword [rbp + 0x67], r15
xchg r15, rbx
xchg rdi, rsi
mov rdi, r14
xchg rdi, rsi
xchg r12, r9
mov r12, rax
xchg r9, r12
xchg rdi, rax
mov qword [rsp + 0x20], rdi
xchg rdi, rax
jne 0x1401c1309
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c1c89
xchg rsi, r12
mov rcx, r12
xchg rsi, r12
sub rbx, rsi
xchg r15, rdx
mov r15, rdx
xchg r15, rdx
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c182d
movzx eax, r12b
sub r15, rax
mov r8, r15
lea rcx, [rax + rsi]
call fcn.1401fd756
lea r8, [rsp + 0x40]
mov rcx, rsi
sub r8, rsi
mov r9d, 0x78df6536
add r9d, 0x4483c9d
xor r9d, 0x72a4fc31
sub r9d, 0x79ac23c
add r9d, 0x132157e6
add r9d, 0x5b2600c8
xor r9d, 0xfd68431
sub r9d, 0x79f97061
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x4a720
add edx, 0x7009efae
sub edx, 0x52bf2306
xor edx, 0x6c984457
xor edx, 0x10bacbf
xor edx, 0x70dc9b24
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c18d0
sub r9, 1
jne 0x1401c18a2
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea r10, [0x140000000]
mov r9d, 0x5fd67bbd
sub r9d, 0x5724bb7d
add r9d, 0x3ea1c791
sub r9d, 0x40ff6b83
add r9d, 0x6b66c782
xor r9d, 0x69f24b8e
xor r9d, 0x255f3ce1
sub r9d, 0x3d1794bb
xchg r8, rcx
mov r8, rcx
xchg rcx, r8
mov edx, 0x5b082edd
sub edx, 0xe2938b0
sub edx, 0x2f8be353
xor edx, 0x67e80364
sub edx, 0x4fd9c44c
add edx, 0x3f07a11a
sub edx, 0x4555755f
xor edx, 0x318db70a
sub edx, 0x151ece23
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 0x1401c1985
inc r8
sub r9, 1
jne 0x1401c193f
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, 4
shr al, 1
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 [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, 2
shr al, 2
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, 4
shr al, 1
shr al, 2
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 0x1401c1a0d
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x6ce3533b
sub edx, 0x98a0dda
sub edx, 0x1ed4063
xor edx, 0x4ffeb1ce
sub edx, 0x2080bb1d
xor edx, 0x4b5b03a3
sub edx, 0x454af9ac
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1b1e
sub r8, 1
jne 0x1401c1aea
sub r14, 0xfffffffffffffff0
sub qword [rsp + 0x30], 1
jne 0x1401c18f8
xchg rsi, r8
mov rsi, r8
xchg rsi, r8
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg r8, r12
mov rcx, r12
xchg r8, r12
mov edx, 0xeb66659
add edx, 0x55b7532e
sub edx, 0x5b4d11eb
xor edx, 0x49434a58
add edx, 0x2fa4140e
sub edx, 0x3708184e
sub edx, 0x38ffe980
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 0x1401c1ba6
inc r8
sub r9, 1
jne 0x1401c1b6c
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, 0x7cc0e13a
sub ecx, 0x2232916d
sub ecx, 0x2df1664f
xor ecx, 0x65108c30
xor ecx, 0x15cba397
sub ecx, 0x5c47c6d5
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c1c6c
sub r8, 1
jne 0x1401c1c3e
add rsp, 0xf8
nop
mov r15, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
add rsp, 8
xchg qword [rsp - 8], r13
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
xchg qword [rsp], rdi
add rsp, 8
nop
xchg qword [rsp], rsi
add rsp, 8
nop
xchg qword [rsp], rbx
add rsp, 8
push rax
push rbx
push rcx
push rdx
push rdx
push rcx
push rdx
push rcx
xchg qword [rsp + 0x40], rbp
pop rcx
pop rdx
pop rcx
pop rdx
pop rdx
pop rcx
pop rbx
pop rax
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]