Function at 0x1401c1070
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbp
push rdx
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg rdx, r11
mov rdx, r11
xchg rdx, r11
mov r15d, 0x5085dafd
xor r15d, 0xdb2f4bf
sub r15d, 0x36e490ef
xor r15d, 0x36224107
xor r15d, 0x18c9b34b
sub r15d, 0x385fffa
xor r15d, 0x8e4f94c
xor r15d, 0xdd79679
mov byte [rbp + 0x6f], r12b
sub r11, rcx
mov rbx, rdx
xchg rsi, r10
mov r10, rcx
xchg rsi, r10
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1401c1128
lea r13, [0x140000000]
test r9, r9
je 0x1401c12f3
movzx eax, byte [r9]
mov r10d, 0x4ebb1a8
add r10d, 0x35a6a444
xor r10d, 0x60dcc680
xor r10d, 0x22e024fa
sub r10d, 0x72af1de6
add r10d, 0xf962ece
xor r10d, 0x1595c87a
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 0x1401c1291
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 0x1401c1216
xchg rbx, r13
mov r13, qword [rbp + 0x67]
xchg rbx, r13
xchg rdi, rax
mov rdi, qword [rbp + 0x7f]
xchg rdi, rax
mov edi, 0x37fa2f21
xor edi, 0x2caeba7d
sub edi, 0x937008f
add edi, 0x2f8ed0d8
add edi, 0x1154b0fc
sub edi, 0x333ae109
xor edi, 0xb76e196
sub edi, 0x14b0d405
mov r8, qword [0x140217140]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
xchg r14, rbx
mov rax, rbx
xchg r14, rbx
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1862
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 4
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
xchg rcx, rbx
mov rbx, rcx
xchg 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 0x1401c1391
xchg r15, r8
mov r15, rbx
xchg r15, r8
xchg r11, rsi
mov rcx, r11
xchg r11, rsi
sub r8, rsi
xchg rcx, r15
mov rdx, rcx
xchg r15, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c13c7
lea rax, [r9 - 0x10]
xchg rsi, rbx
mov r14, rbx
xchg rbx, rsi
mov qword [rbp + 0x77], rax
mov rsi, rax
mov edx, 0x3b2a3519
xor edx, 0x5f1a435a
add edx, 0xcfaca78
add edx, 0x2bad524
add edx, 0xb8c3f84
sub edx, 0x7f72555f
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x4e48cd64
xor ecx, 0xdcda44
xor ecx, 0x7285c06b
sub ecx, 0x30ff0e6
sub ecx, 0x29df39f4
xor ecx, 0x5ab7e9de
sub ecx, 0x559545ab
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c1453
sub rdx, 1
jne 0x1401c141f
xchg r10, rsi
mov r10, qword [rbp + 0x5f]
xchg rsi, r10
xchg r15, r9
mov r9, r15
xchg r9, r15
mov qword [rbp + 0x7f], rdi
xchg r8, rdx
mov rdx, rsi
xchg rdx, r8
mov r9d, 0x2319f7dd
xor r9d, 0x74005cf2
xor r9d, 0x668841ef
add r9d, 0x39fe7548
xor r9d, 0x3cd8f63
sub r9d, 0x685def67
nop dword [rax + rax]
xchg r14, r8
mov rcx, r14
xchg r14, r8
mov edx, 0x3d3c5a4d
xor edx, 0x599fc507
xor edx, 0x792140dc
xor edx, 0x19550153
add edx, 0x2580f89a
xor edx, 0x2a58d75b
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 0x1401c14f4
inc r8
sub r9, 1
jne 0x1401c14c0
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, 3
shr al, 4
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, 3
shr al, 3
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 3
shr al, 4
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, 7
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 0x1401c157c
xchg rbx, rax
mov rbx, rsi
xchg rbx, rax
lea r8d, [r13 + 4]
mov edx, 0x7351421c
xor edx, 0x296fd71c
add edx, 0xa2ebb9c
add edx, 0xdfb17f
sub edx, 0x5a95d310
add edx, 0x5c550fa
add edx, 0x475903af
sub edx, 0x57d583b0
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1685
sub r8, 1
jne 0x1401c164b
nop
add r15, 0x6221f515
sub r15, 0x6221f505
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1489
mov r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg rsi, r8
mov rcx, rsi
xchg rsi, r8
mov edx, 0x1a054612
add edx, 0x1b84ee46
add edx, 0x236abc73
sub edx, 0x24fd1b1c
add edx, 0x3f959c48
xor edx, 0x738d71f3
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 0x1401c170c
inc r8
sub r9, 1
jne 0x1401c16d8
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
mov rcx, rsi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x576772a2
sub edx, 0x4199840d
add edx, 0x3db9a5b4
sub edx, 0x5192968a
add edx, 0x707bf182
sub edx, 0x237a25f2
sub edx, 0xf714462
sub edx, 0x3172cfb7
xor edx, 0xe12b532
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c17e4
sub r8, 1
jne 0x1401c17a4
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
nop
add rbx, 0x30e83dcc
sub rbx, 0x30e83dbc
xchg r14, rbx
mov qword [rbp + 0x5f], rbx
xchg r14, rbx
sub qword [rsp + 0x28], 1
mov r8, rsi
mov qword [rbp + 0x67], rbx
xchg rsi, r14
mov r14, rsi
xchg rsi, r14
mov r9, rax
xchg rdx, rax
mov qword [rsp + 0x20], rdx
xchg rdx, rax
jne 0x1401c1375
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c1ced
xchg rcx, rsi
mov rsi, rcx
xchg rcx, rsi
sub rbx, rsi
xchg r15, rbp
mov rdx, rbp
xchg r15, rbp
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1883
movzx eax, r12b
sub r15, rax
xchg r8, r9
mov r9, r15
xchg r9, r8
lea rcx, [rax + rsi]
call fcn.1401fd766
lea r8, [rsp + 0x40]
xchg rsi, r15
mov rcx, r15
xchg r15, rsi
sub r8, rsi
mov r9d, 0x4088db3f
sub r9d, 0x16446473
xor r9d, 0x5b603466
sub r9d, 0x5c6393b8
add r9d, 0x9f7c69d
sub r9d, 0x1eb8758b
nop dword [rax]
nop dword [rax + rax]
mov edx, 0xa9051c9
xor edx, 0xdc9d3be
add edx, 0x4c039c70
sub edx, 0x1fea2fba
xor edx, 0x7a04184d
xor edx, 0x58ee4234
add edx, 0x2ee66119
xor edx, 0x19837100
sub edx, 0x59fc6769
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1936
sub r9, 1
jne 0x1401c18f6
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea r10, [0x140000000]
mov r9d, 0x6e0430f0
sub r9d, 0x66e42a15
add r9d, 0x4e3d3b88
xor r9d, 0xba2b8b7
sub r9d, 0x51131eed
sub r9d, 0xdecdbe3
xchg rcx, r11
mov r11, r8
xchg r11, rcx
mov edx, 0x4fb509d6
xor edx, 0x71ee7544
sub edx, 0x10acc502
sub edx, 0x1ed70de0
add edx, 0x5aca2d86
sub edx, 0x69a1d732
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 0x1401c19cb
inc r8
sub r9, 1
jne 0x1401c1997
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, 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 [r15 - 6], cl
xor dil, bl
shr al, 3
shr al, 4
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, 3
shr al, 1
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 0x1401c1a53
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x158fa2c
add edx, 0xddd1af1
add edx, 0x17902362
add edx, 0x29b0a4e5
add edx, 0x145cc9f7
sub edx, 0xe880d1b
add edx, 0x5a4f92c
sub edx, 0x5bf09368
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1b6a
sub r8, 1
jne 0x1401c1b30
add r14, 0x10
sub qword [rsp + 0x30], 1
jne 0x1401c195e
xchg rsi, r14
mov r8, r14
xchg r14, rsi
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg rbx, rcx
mov rbx, r8
xchg rbx, rcx
mov edx, 0x22dd38df
add edx, 0x49183248
sub edx, 0x60f58df5
add edx, 0x5ecf45b2
sub edx, 0x1421c5fd
xor edx, 0x5633d9f8
add edx, 0x5f21a9fb
sub edx, 0x3c788ab
sub edx, 0x5ef8a66b
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 0x1401c1bfe
inc r8
sub r9, 1
jne 0x1401c1bb8
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, 0xa15c575
add ecx, 0x7112fed0
xor ecx, 0x13441cf6
xor ecx, 0x13236120
sub ecx, 0x20afc4be
sub ecx, 0x2e82c68b
add ecx, 0x3d7e935e
xor ecx, 0x699bc1ac
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c1cd0
sub r8, 1
jne 0x1401c1c96
add rsp, 0xf8
push rcx
push rax
push rbx
push rbx
push rdx
push rbx
push rcx
xchg qword [rsp + 0x38], r15
pop rcx
pop rbx
pop rdx
pop rbx
pop rbx
pop rax
pop rcx
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
xchg qword [rsp], r12
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
push rcx
xchg qword [rsp + 8], rsi
add rsp, 0x10
nop
add rsp, 8
mov rbx, qword [rsp - 8]
push rcx
push rbx
xchg qword [rsp + 0x10], rbp
pop rbx
pop rcx
add rsp, 8
ret