Function at 0x140172900
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, r9
mov qword [rsp + 8], r9
xchg rcx, r9
push rbx
nop
sub rsp, 8
mov qword [rsp], r13
sub rsp, 0x38
movabs rax, 0xfffffff528a1762
sub rax, 0x3b543156
add rax, 0x3b812e5a
xor rax, 0x21ef0f05
sub rax, 0x54cf6b98
add rax, 0x3da4f9c8
add rax, 0x31035
sub rax, 0x1890b384
add rax, 0x7fffffff
add rax, 0x3c5ff9bc
mov r13, rcx
bsr rcx, rax
mov ebx, 0x61675a98
sub ebx, 0x10f68950
sub ebx, 0x22905c11
add ebx, 0x3e11b61d
sub ebx, 0x3ebf3766
xor ebx, 0x2d32f3ef
mov eax, ebx
shl rax, cl
cmp rdx, rax
ja 0x140172dc8
mov qword [rsp + 0x58], rbp
lea rax, [rdx - 1]
mov rbp, qword [r13 + 8]
or rax, rbx
bsr rcx, rax
mov qword [rsp + 0x60], rsi
xchg rsi, r8
mov rsi, rbp
xchg rsi, r8
inc ecx
mov qword [rsp + 0x68], rdi
shl rbx, cl
xchg r12, r8
mov qword [rsp + 0x30], r8
xchg r8, r12
lea r12, [r13 + 0x18]
xchg r15, rcx
mov r15, r12
xchg r15, rcx
lea rdx, [rbx + rbx]
call fcn.140171fb0
xchg r9, rbx
mov qword [r13 + 0x38], r9
xchg r9, rbx
lea rax, [rbx - 1]
xchg rsi, rax
mov qword [r13 + 0x30], rsi
xchg rsi, rax
xchg rdi, r8
mov r8, qword [r13 + 8]
xchg rdi, r8
mov rdi, qword [rdi]
xchg rdi, rsi
mov rdi, rsi
xchg rsi, rdi
cmp rdi, rbp
je 0x140172d44
mov qword [rsp + 0x28], r14
movabs rax, 0xcbf29ce437988eed
add rax, 0x42b19c3d
xor rax, 0x7fb6e37d
sub rax, 0x4b8011e
xor rax, 0x72caa775
sub rax, 0x30714c80
add rax, 0x182d0db3
sub rax, 0x5011041e
add rax, 0x78e905c4
mov qword [rsp + 0x20], r15
movabs r10, 0x10052349bb3
xor r10, 0x5f2861ad
xor r10, 0x182a76f0
add r10, 0x2e0c6726
add r10, 0x159b7043
sub r10, 0x11f3cd92
xor r10, 0x64913d81
add r10, 0xd68de7e
sub r10, 0x2fe4880f
nop dword [rax + rax]
xchg rdx, r9
mov rdx, qword [rdi + 0x28]
xchg rdx, r9
lea r8, [rdi + 0x10]
mov rsi, qword [rsi]
xchg r15, rsi
mov rsi, qword [rdi + 0x20]
xchg r15, rsi
cmp r9, 0x10
jb 0x140172aca
mov r8, qword [rdi + 0x10]
xor ecx, ecx
mov rdx, rax
test r15, r15
je 0x140172b1d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
inc rcx
push rdx
xor edx, eax
push rdx
xor rdx, qword [rsp + 8]
shr rdx, 0x20
ror rax, 0x20
xor edx, eax
ror rax, 0x20
shl rdx, 0x20
xor rdx, qword [rsp]
add rsp, 0x10
imul rdx, r10
cmp rcx, r15
jb 0x140172ae5
mov r13, qword [r13 + 0x30]
and r13, rdx
shl r13, 1
shl r13, 3
add r13, qword [r12]
mov r12, qword [r13]
cmp r12, rbp
jne 0x140172b55
xchg rdi, r9
mov qword [r13], r9
xchg r9, rdi
xchg r9, rdi
mov qword [r13 + 8], r9
xchg r9, rdi
jmp 0x140172ceb
mov rbx, qword [r13 + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x140172b6f
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x140172b87
xchg r12, rcx
mov r12, qword [rdi + 0x10]
xchg rcx, r12
cmp r15, rax
jne 0x140172c08
xchg r15, rcx
mov r8, rcx
xchg rcx, r15
call fcn.1401ff302
test eax, eax
jne 0x140172bfe
xchg rcx, r8
mov rcx, qword [rbx]
xchg r8, rcx
cmp r8, rdi
je 0x140172bef
mov rdx, qword [rdi + 8]
mov qword [rdx], rsi
xchg rcx, r9
mov r9, qword [rsi + 8]
xchg r9, rcx
mov qword [rcx], r8
xchg r15, rax
mov r15, qword [r8 + 8]
xchg r15, rax
mov qword [rax], rdi
xchg rbx, rcx
mov qword [r8 + 8], rbx
xchg rbx, rcx
xchg rdx, r13
mov qword [rsi + 8], r13
xchg r13, rdx
mov qword [rdi + 8], rax
xchg rcx, rdi
mov qword [r13 + 8], rcx
xchg rcx, rdi
jmp 0x140172cb0
xchg r9, rbx
mov rbx, qword [rdi + 0x28]
xchg rbx, r9
cmp r12, rbx
je 0x140172c7d
nop word [rax + rax]
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
xchg r14, rax
mov r14, qword [rdx + 0x10]
xchg r14, rax
jb 0x140172c39
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x140172c51
xchg rsi, rcx
mov rsi, qword [rdi + 0x10]
xchg rsi, rcx
cmp r15, rax
jne 0x140172c74
xchg r15, r8
mov r15, r8
xchg r15, r8
call fcn.1401ff302
test eax, eax
je 0x140172d8b
mov r9, qword [rdi + 0x28]
cmp r12, rbx
jne 0x140172c1b
mov rdx, qword [rdi + 8]
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rbx
xchg rdx, rax
mov rdx, qword [rbx + 8]
xchg rdx, rax
mov qword [rax], rdi
xchg rdx, rcx
mov qword [rbx + 8], rdx
xchg rcx, rdx
mov qword [rsi + 8], rdx
xchg r15, rax
mov qword [rdi + 8], r15
xchg r15, rax
mov qword [r13], rdi
movabs r10, 0x1002c1e5031
sub r10, 0x1a0fe82c
add r10, 0x656f43d2
sub r10, 0x396ab1b7
add r10, 0x18bd4e63
xor r10, 0x487f2054
xor r10, 0xef26307
xor r10, 0x105d0a63
mov r13, qword [rsp + 0x50]
mov rdi, rsi
movabs rax, 0xcbf29ce450364ed9
sub rax, 0x2541fba0
add rax, 0x421c21e9
sub rax, 0x8307c5c
sub rax, 0x60477bd8
add rax, 0x323ec24
add rax, 0x471ddbeb
sub rax, 0x10ebba6d
add rax, 0x46339895
lea r12, [r13 + 0x18]
cmp rsi, rbp
jne 0x140172aa1
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x68]
xchg r14, rsi
mov r14, qword [rsp + 0x60]
xchg r14, rsi
xchg rdi, rbp
mov rdi, qword [rsp + 0x58]
xchg rdi, rbp
xchg rcx, r12
mov rcx, qword [rsp + 0x30]
xchg rcx, r12
add rsp, 0x38
nop
add rsp, 8
xchg qword [rsp - 8], r13
nop
add rsp, 8
xchg qword [rsp - 8], rbx
nop
add rsp, 8
jmp qword [rsp - 8]
mov r8, qword [rbx]
xchg rdx, r9
mov r9, qword [rdi + 8]
xchg r9, rdx
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], r8
xchg rbx, rax
mov rbx, qword [r8 + 8]
xchg rbx, rax
xchg rdi, rdx
mov qword [rax], rdx
xchg rdx, rdi
mov qword [r8 + 8], rcx
mov qword [rsi + 8], rdx
xchg rdx, rax
mov qword [rdi + 8], rdx
xchg rdx, rax
jmp 0x140172cb0
lea rcx, [0x140001530]
call fcn.1401fee80
int3