Function at 0x1401c1960
Capabilities:
Encode data using xor

Disassembly:
xchg rbp, rdx
mov qword [rsp + 0x10], rbp
xchg rdx, rbp
mov qword [rsp + 8], rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
sub rsp, 8
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, r9
mov r11, r9
xchg rdx, r9
mov r15d, 0x7f462618
xor r15d, 0x4d583f1e
add r15d, 0xd08d267
xor r15d, 0x6cdc4eae
add r15d, 0x15ca3a90
xor r15d, 0x78c5184f
xor r15d, 0x7499f3b7
xor r15d, 0x7053e73d
sub r15d, 0x15cbec86
mov byte [rbp + 0x6f], r12b
sub r11, rcx
mov rbx, rdx
xchg r10, rsi
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 0x1401c1a39
lea r13, [0x140000000]
test r9, r9
je 0x1401c1c12
movzx eax, byte [r9]
mov r10d, 0x4449898a
add r10d, 0x36d8b5f7
sub r10d, 0x3c273bf4
xor r10d, 0x33eb4c6c
xor r10d, 0x5439d0b3
add r10d, 0x1f13af6b
sub r10d, 0x51bf58a1
add r10d, 0x1feef6c6
sub r10d, 0x466cecde
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 0x1401c1bb0
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 0x1401c1b35
xchg rbx, r11
mov r11, qword [rbp + 0x67]
xchg r11, rbx
xchg r11, rax
mov r11, qword [rbp + 0x7f]
xchg r11, rax
mov edi, 0x22a2640e
xor edi, 0x5d447343
sub edi, 0x33e2300e
sub edi, 0x4aeb58f1
add edi, 0x743df0b8
sub edi, 0x6462fb96
add edi, 0x491a183f
sub edi, 0x5a0d9ba6
mov r8, qword [0x140217140]
test rax, rax
xchg rdi, rbp
mov qword [rsp + 0x30], rbp
xchg rbp, rdi
cmovne r8, rax
xchg r11, rax
mov r11, r14
xchg r11, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c2192
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 1
shr rax, 3
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
xchg rdi, rcx
mov rdi, rbx
xchg rdi, rcx
sub r8, rbx
xchg r15, rdx
mov r15, rdx
xchg rdx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1cb7
xchg rcx, r8
mov rcx, rbx
xchg r8, rcx
xchg r13, rcx
mov r13, rsi
xchg rcx, r13
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 0x1401c1ced
lea rax, [r9 - 0x10]
mov r14, rsi
xchg rcx, rax
mov qword [rbp + 0x77], rcx
xchg rcx, rax
mov rsi, rax
mov edx, 0x1c07c31f
add edx, 0x1d609579
xor edx, 0x250d3483
add edx, 0x30017dd0
sub edx, 0x69922ab
add edx, 0x6d1230e
sub edx, 0x4c9eea4a
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x425c49ca
xor ecx, 0x624c58e4
add ecx, 0x15c045de
add ecx, 0x2db646e5
xor ecx, 0x7cbe88c8
add ecx, 0x43281963
xor ecx, 0x62602e98
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c1d7d
sub rdx, 1
jne 0x1401c1d49
xchg rsi, r14
mov r14, qword [rbp + 0x5f]
xchg rsi, r14
xchg r9, r8
mov r15, r8
xchg r9, r8
xchg r10, rdi
mov qword [rbp + 0x7f], r10
xchg r10, rdi
xchg r8, rdx
mov rdx, rsi
xchg r8, rdx
mov r9d, 0x2c876782
xor r9d, 0x510e8360
sub r9d, 0x21ccd2af
add r9d, 0x1098d077
sub r9d, 0x148687c1
xor r9d, 0x57cf5aed
nop dword [rax + rax]
xchg r12, rcx
mov r12, r8
xchg r12, rcx
mov edx, 0x44a504d4
sub edx, 0x14daacf5
xor edx, 0x6b10530f
add edx, 0x1d14be1c
sub edx, 0x6f302d2
sub edx, 0x5afbc016
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 0x1401c1e24
inc r8
sub r9, 1
jne 0x1401c1df0
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, 7
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, 1
shr al, 4
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, 4
shr al, 3
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 0x1401c1eac
xchg rsi, rdi
mov rax, rdi
xchg rsi, rdi
lea r8d, [r13 + 4]
mov edx, 0x15c0c506
add edx, 0x272d4456
add edx, 0x2db01fd0
sub edx, 0x10986d72
xor edx, 0x2ac6bdc8
sub edx, 0x530fb8b3
add edx, 0x2333ee56
sub edx, 0x40e73c11
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1fb9
sub r8, 1
jne 0x1401c1f7f
sub r15, 0xfffffffffffffff0
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1db9
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg rcx, r8
mov r8, rcx
xchg rcx, r8
mov edx, 0x50977977
add edx, 0xd99f059
sub edx, 0xa8b9acd
add edx, 0x29397c86
sub edx, 0xfcb91ef
sub edx, 0x6792b916
xor edx, 0x4451a9a0
xor edx, 0x41d0a920
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 0x1401c2047
inc r8
sub r9, 1
jne 0x1401c2007
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg r9, r8
mov r8, qword [rsp + 0x20]
xchg r8, 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 r14, rcx
mov r14, rsi
xchg r14, rcx
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x715581c4
xor edx, 0x76124fa0
add edx, 0x1e5de035
xor edx, 0x3dcd5546
sub edx, 0x1ddd52
sub edx, 0x184b1e89
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2119
sub r8, 1
jne 0x1401c20eb
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
sub rbx, 0xfffffffffffffff0
xchg r14, r13
mov qword [rbp + 0x5f], r13
xchg r14, r13
sub qword [rsp + 0x28], 1
xchg rdi, rsi
mov r8, rdi
xchg rsi, rdi
xchg r8, rbx
mov qword [rbp + 0x67], r8
xchg r8, rbx
mov rsi, r14
xchg rdx, rax
mov r9, rdx
xchg rdx, rax
mov qword [rsp + 0x20], rax
jne 0x1401c1c9b
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c2607
mov rcx, rsi
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 0x1401c21a7
movzx eax, r12b
sub r15, rax
xchg r15, r11
mov r8, r11
xchg r11, r15
lea rcx, [rax + rsi]
call fcn.1401fe116
lea r8, [rsp + 0x40]
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
sub r8, rsi
mov r9d, 0x244b2423
add r9d, 0x3133f4f4
xor r9d, 0x3147650f
sub r9d, 0x41b030ab
xor r9d, 0x3337682c
sub r9d, 0x2ff8332
add r9d, 0xb805857
sub r9d, 0x1a3ff862
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x6373afcc
sub edx, 0x3a0cae01
xor edx, 0x45ebe47d
xor edx, 0x5c654d40
add edx, 0x499d01c
sub edx, 0x3583790e
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2256
sub r9, 1
jne 0x1401c2228
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
lea r10, [0x140000000]
mov r9d, 0x2bd42f5c
sub r9d, 0x209fe8e6
sub r9d, 0x95070ed
add r9d, 0xf8bce8a
add r9d, 0x50cf03e2
add r9d, 0x7ceede7
sub r9d, 0x6a0d95d8
xchg rcx, rbp
mov rbp, r8
xchg rbp, rcx
mov edx, 0x7a5feb39
xor edx, 0xb0c8a4
xor edx, 0x515e61f8
add edx, 0x543f5ecc
sub edx, 0x36729f65
add edx, 0x3569c2a1
sub edx, 0x943ff86
sub edx, 0x75a3c4e3
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 0x1401c22fe
inc r8
sub r9, 1
jne 0x1401c22be
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, 3
shr al, 1
shr al, 1
shr al, 2
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, 7
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 1
shr al, 6
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, 6
shr al, 1
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 0x1401c2386
mov rcx, rsi
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x19c7f587
add edx, 0x5f4da448
xor edx, 0x7841e0cf
xor edx, 0x1c3774ae
add edx, 0x26dbbc37
add edx, 0x1a6d7d36
sub edx, 0x5eac4717
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2485
sub r8, 1
jne 0x1401c2451
nop
sub r14, 0x2ee7920d
add r14, 0x2ee7921d
sub qword [rsp + 0x30], 1
jne 0x1401c227e
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg r8, r15
mov rcx, r15
xchg r15, r8
mov edx, 0x4f75683e
sub edx, 0x2e69e7db
xor edx, 0x132a61a7
sub edx, 0x170edb63
xor edx, 0x5ad2099c
sub edx, 0x1b5ded8d
sub edx, 0x2663226c
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 0x1401c2518
inc r8
sub r9, 1
jne 0x1401c24de
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, 0x79d82255
sub ecx, 0x354e6a89
sub ecx, 0x36b46530
add ecx, 0x945392
add ecx, 0x2fe1c513
xor ecx, 0x610f97ec
sub ecx, 0x4bf99762
sub ecx, 0x134b6547
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c25ea
sub r8, 1
jne 0x1401c25b0
add rsp, 0xf8
nop
xchg qword [rsp], r15
add rsp, 8
push rdx
push rbx
push rax
push rbx
push rax
push rcx
push rbx
xchg qword [rsp + 0x38], r14
add rsp, 0x40
nop
add rsp, 8
xchg qword [rsp - 8], r13
push rcx
xchg qword [rsp + 8], r12
add rsp, 0x10
nop
xchg qword [rsp], rdi
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
xchg qword [rsp], rbp
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]