Function at 0x1401c0e50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
xchg rcx, r15
mov qword [rsp + 8], r15
xchg rcx, r15
nop
sub rsp, 8
mov qword [rsp], rbp
push rbx
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg rcx, rdx
mov r11, rcx
xchg rdx, rcx
mov r15d, 0x6216d18a
sub r15d, 0x4a1bf7ce
add r15d, 0x44e0b2e7
add r15d, 0x166e9ee8
sub r15d, 0x58da5d25
add r15d, 0x372dad58
xor r15d, 0x35bb9611
xor r15d, 0x2dea77f4
xor r15d, 0x49cc9a4b
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rbx, rdx
mov rdx, rbx
xchg rbx, rdx
xchg rcx, rbx
mov rsi, rbx
xchg rcx, rbx
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1401c0f15
lea r13, [0x140000000]
test r9, r9
je 0x1401c10e0
movzx eax, byte [r9]
mov r10d, 0x55d1853a
xor r10d, 0x709861d8
sub r10d, 0x11127f56
xor r10d, 0x2b33f272
sub r10d, 0x418ed08
sub r10d, 0x142eac4d
sub r10d, 0x26bcfea5
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 0x1401c107e
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 0x1401c1003
xchg rbx, r12
mov r12, qword [rbp + 0x67]
xchg r12, rbx
xchg rbx, rax
mov rbx, qword [rbp + 0x7f]
xchg rbx, rax
mov edi, 0x2dc3b84d
sub edi, 0xe0f5e5b
sub edi, 0x33e9809
add edi, 0xdf56a56
xor edi, 0x64b0f092
xor edi, 0x72190986
xor edi, 0x3cc2d522
mov r8, qword [0x140217140]
test rax, rax
xchg r12, rdi
mov qword [rsp + 0x30], r12
xchg r12, rdi
cmovne r8, rax
xchg r14, r13
mov rax, r13
xchg r13, r14
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1668
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 1
shr rax, 1
shr rax, 1
shr rax, 1
inc rax
xchg r15, rax
mov qword [rsp + 0x28], r15
xchg r15, rax
nop dword [rax]
mov rcx, rbx
sub r8, rbx
xchg r15, r10
mov rdx, r10
xchg r10, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1184
mov r8, rbx
mov rcx, rsi
sub r8, rsi
xchg rdx, r15
mov r15, rdx
xchg rdx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c11ae
lea rax, [r9 - 0x10]
xchg r14, rdi
mov rdi, rsi
xchg r14, rdi
mov qword [rbp + 0x77], rax
xchg r11, rax
mov rsi, r11
xchg r11, rax
mov edx, 0x20483097
xor edx, 0x9ff80b6
xor edx, 0x19eafefd
sub edx, 0x11e3be61
add edx, 0x5af2dd1b
sub edx, 0x796c6d92
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x338fc5d0
sub ecx, 0x31e55db8
add ecx, 0x51a31afb
add ecx, 0x6883c78
add ecx, 0x4863aff
xor ecx, 0x53351537
xor ecx, 0x165645a5
add ecx, 0x109e6c
xor ecx, 0x1b494880
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c124a
sub rdx, 1
jne 0x1401c120a
mov rsi, qword [rbp + 0x5f]
xchg r15, r13
mov r13, r9
xchg r13, r15
mov qword [rbp + 0x7f], rdi
xchg rsi, rbp
mov r8, rbp
xchg rbp, rsi
mov r9d, 0x5fa117df
xor r9d, 0x4244a06a
sub r9d, 0x18698841
add r9d, 0x181eb442
add r9d, 0x1e679e69
sub r9d, 0x390cbcc8
add r9d, 0x4b6f5c70
sub r9d, 0x4e6521c3
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x53e9d0c2
sub edx, 0x42d0bb3e
add edx, 0x6d9903de
xor edx, 0xad67153
sub edx, 0x6481291d
sub edx, 0xfe33f10
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 0x1401c12ed
inc r8
sub r9, 1
jne 0x1401c12bf
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, 4
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, 1
shr al, 6
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 3
shr al, 2
shr al, 1
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, 5
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 0x1401c1375
xchg rbx, rax
mov rbx, rsi
xchg rbx, rax
lea r8d, [r13 + 4]
mov edx, 0x2d63390e
add edx, 0xd8b6400
add edx, 0x316f643e
xor edx, 0x50334acb
add edx, 0x2728787f
xor edx, 0x6395c402
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1479
sub r8, 1
jne 0x1401c144b
neg r15
add r15, 0xfffffffffffffff0
neg r15
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c127a
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg rdi, rcx
mov rdi, r8
xchg rcx, rdi
mov edx, 0x5b936ccf
sub edx, 0x13f6e324
add edx, 0x2fab1289
xor edx, 0x63701a69
add edx, 0x2a1f78ed
add edx, 0xdf84928
add edx, 0x334a49e0
sub edx, 0x7f99924e
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 0x1401c150d
inc r8
sub r9, 1
jne 0x1401c14cd
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg rbp, r9
mov rbp, qword [rsp + 0x20]
xchg r9, rbp
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, 0x5ab253de
xor edx, 0x162134ec
xor edx, 0x43acee2e
add edx, 0x4f03653f
xor edx, 0x478029c2
sub edx, 0x1817e9ec
add edx, 0x616a4ec6
sub edx, 0x1fbdc47f
xor edx, 0x435767f0
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c15f1
sub r8, 1
jne 0x1401c15b1
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
sub rbx, 0xfffffffffffffff0
mov qword [rbp + 0x5f], r14
sub qword [rsp + 0x28], 1
mov r8, rsi
xchg rbx, r13
mov qword [rbp + 0x67], r13
xchg r13, rbx
xchg r14, rsi
mov r14, rsi
xchg r14, rsi
xchg r14, rax
mov r9, r14
xchg r14, rax
xchg r12, rax
mov qword [rsp + 0x20], r12
xchg r12, rax
jne 0x1401c116e
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c1af4
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
sub rbx, rsi
xchg r15, rdx
mov r15, rdx
xchg rdx, r15
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1689
movzx eax, r12b
sub r15, rax
xchg r8, rbp
mov rbp, r15
xchg r8, rbp
lea rcx, [rax + rsi]
call fcn.1401fd676
lea r8, [rsp + 0x40]
xchg rcx, rsi
mov rsi, rcx
xchg rcx, rsi
sub r8, rsi
mov r9d, 0x49d8cf05
sub r9d, 0x3d435003
xor r9d, 0x7b093592
sub r9d, 0x3c5ea160
sub r9d, 0xe196d34
sub r9d, 0x2d243bf8
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x5eb073cb
sub edx, 0x5a1139c3
xor edx, 0x2efdcd61
xor edx, 0x1b09546c
xor edx, 0x3dbc1ed8
xor edx, 0x41158c79
add edx, 0xbba5ec4
xor edx, 0x25e4a824
sub edx, 0x7c983848
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c173c
sub r9, 1
jne 0x1401c16fc
lea r14, [rsp + 0x50]
sub r14, rsi
nop
mov r8, rsi
lea r10, [0x140000000]
mov r9d, 0x6582e1ba
sub r9d, 0x3dc2ecc7
xor r9d, 0x5142fbec
xor r9d, 0x4ca20e48
add r9d, 0x142812aa
add r9d, 0x20684e7b
sub r9d, 0x1a5a0bcb
xor r9d, 0x1ef40140
xor r9d, 0x4a6157f5
mov rcx, r8
mov edx, 0x548f4111
sub edx, 0x1a2981eb
sub edx, 0x3332ceab
xor edx, 0x7340ce4a
xor edx, 0x47db49c7
sub edx, 0x33a977f2
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 0x1401c17da
inc r8
sub r9, 1
jne 0x1401c17ac
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, 2
shr al, 4
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, 2
shr al, 3
shr al, 1
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 [r15 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 7
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 0x1401c1862
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x5b891df7
xor edx, 0x2c4f9e44
xor edx, 0x2308ad28
sub edx, 0x3d5ee6b2
xor edx, 0x8d85ab1
sub edx, 0xf64881f
add edx, 0x503a3062
xor edx, 0x608cc59f
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1972
sub r8, 1
jne 0x1401c1938
nop
sub r14, 0x271e36ed
add r14, 0x271e36fd
sub qword [rsp + 0x30], 1
jne 0x1401c1764
xchg rsi, rdx
mov r8, rdx
xchg rsi, rdx
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x129afedc
add edx, 0x206225d5
xor edx, 0x146401b2
add edx, 0x19bc7a90
add edx, 0x2edda02c
add edx, 0xcb6aabe
sub edx, 0x7be9ea79
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 0x1401c19ff
inc r8
sub r9, 1
jne 0x1401c19cb
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, 0x1cca539d
add ecx, 0x60d32adf
sub ecx, 0x167f04a2
xor ecx, 0x36523b60
add ecx, 0x1722f33a
add ecx, 0x4f12776
sub ecx, 0xe98ce89
sub ecx, 0x183509a4
xor ecx, 0x46928539
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c1ad7
sub r8, 1
jne 0x1401c1a97
add rsp, 0xf8
push rbx
push rdx
push rcx
push rbx
xchg qword [rsp + 0x20], r15
pop rbx
pop rcx
pop rdx
pop rbx
add rsp, 8
push rdx
xchg qword [rsp + 8], r14
pop rdx
add rsp, 8
nop
mov r13, qword [rsp]
add rsp, 8
push rbx
push rcx
push rbx
push rax
push rax
push rax
xchg qword [rsp + 0x30], r12
pop rax
pop rax
pop rax
pop rbx
pop rcx
pop rbx
add rsp, 8
push rbx
push rdx
push rbx
push rbx
push rdx
push rbx
push rcx
xchg qword [rsp + 0x38], rdi
add rsp, 0x40
push rbx
xchg qword [rsp + 8], rsi
add rsp, 0x10
nop
xchg qword [rsp], rbx
add rsp, 8
push rbx
push rbx
push rcx
xchg qword [rsp + 0x18], rbp
add rsp, 0x20
ret