Function at 0x1401f63d0
Capabilities:
Encode data using xor

Disassembly:
xchg rsi, r8
mov qword [rsp + 0x18], rsi
xchg rsi, r8
mov qword [rsp + 0x10], rdx
xchg rcx, r12
mov qword [rsp + 8], r12
xchg rcx, r12
nop
push 0x4c5df9a1
mov qword [rsp], rbp
nop
push 0x70b3c2bf
mov qword [rsp], rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push rdi
push r15
mov qword [rsp], r12
push r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rdi, rdx
xor eax, eax
mov r14, qword [rdi + 0x20]
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
xchg rsi, rcx
mov rcx, r8
xchg rsi, rcx
mov qword [rbp - 0x60], r14
mov r8, qword [rdi + 8]
lea ebx, [rax + 1]
mov r10, qword [rdi + 0x10]
xchg r11, r10
mov r10, qword [rdi + 0x18]
xchg r11, r10
xchg rcx, r10
mov r10, qword [rdi + 0x28]
xchg rcx, r10
xchg r15, r10
mov r10, qword [rdi + 0x30]
xchg r10, r15
mov r12, qword [rdi + 0x38]
mov qword [rsp + 0x60], rdx
xchg r8, r9
mov qword [rsp + 0x68], r9
xchg r9, r8
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r11
xchg r9, r13
mov qword [rbp + 0xa8], r9
xchg r9, r13
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], r15
xchg r12, rcx
mov qword [rbp - 0x48], rcx
xchg rcx, r12
test r9, r9
je 0x1401f64f3
mov rax, qword [r9]
mov qword [rsp + 0x20], rax
mov rax, qword [r9 + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [r9 + 0x10]
xchg rcx, rax
mov qword [rsp + 0x30], rcx
xchg rcx, rax
xchg r8, rax
mov r8, qword [r9 + 0x18]
xchg r8, rax
jmp 0x1401f650c
mov qword [rsp + 0x28], rax
xchg r8, rax
mov qword [rsp + 0x30], r8
xchg r8, rax
xchg rbx, r14
mov qword [rsp + 0x20], r14
xchg rbx, r14
xchg rdx, r15
mov qword [rsp + 0x40], r15
xchg rdx, r15
lea rdx, [rbp - 0x60]
xchg r13, r8
mov qword [rsp + 0x48], r13
xchg r13, r8
lea r8, [rsp + 0x20]
xchg rdx, rcx
mov qword [rbp - 0x78], rdx
xchg rcx, rdx
lea rcx, [rsp + 0x60]
xchg rbp, rax
mov qword [rsp + 0x38], rbp
xchg rbp, rax
mov qword [rbp - 0x80], r14
xchg r11, r10
mov qword [rsp + 0x50], r11
xchg r10, r11
xchg rsi, r15
mov qword [rbp - 0x70], rsi
xchg r15, rsi
mov qword [rsp + 0x58], r11
mov qword [rbp - 0x68], r12
call fcn.1401f8250
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f5930
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f8250
mov r12d, dword [rbp + 0xb0]
sub r12d, 2
test r12d, r12d
jle 0x1401f66e5
movsxd r13, r12d
mov rcx, r13
rol rbx, cl
mov ecx, 0x54bd3819
xor ecx, 0x535b22e8
xor ecx, 0x51a08ef
add ecx, 0x1cc6410f
sub ecx, 0x197f282c
sub ecx, 0x1020e84
add ecx, 0x481e4aa5
sub ecx, 0x4d5f6702
nop dword [rax]
nop word [rax + rax]
xchg r13, rax
mov r13, rax
xchg r13, rax
lea r14, [rbp - 0x80]
sar rax, 1
sar rax, 5
lea r15, [rsp + 0x40]
lea rdi, [rsp + 0x60]
test qword [rsi + rax*8], rbx
pushf
mov eax, 0x5ab594b8
add eax, 0x17e5e550
sub eax, 0x3599db80
add eax, 0x1c325568
sub eax, 0x517e0637
add eax, 0x513e4329
xor eax, 0x3f53779
xor eax, 0x5b01079b
popf
lea rsi, [rbp - 0x60]
cmove rax, rcx
add r14, rax
add r15, rax
sub rsi, rax
sub rdi, rax
mov r9, r14
xchg r15, r12
mov r8, r12
xchg r12, r15
xchg r9, rsi
mov rdx, r9
xchg r9, rsi
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.1401f72f0
mov r9, rsi
xchg r8, rdi
mov rdi, r8
xchg r8, rdi
xchg r11, r14
mov rdx, r11
xchg r11, r14
xchg r14, rcx
mov r14, r15
xchg rcx, r14
call fcn.1401f6ad0
xchg rsi, rcx
mov rcx, qword [rbp + 0xa0]
xchg rsi, rcx
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x718162e7
xor ecx, 0x33d8d60d
sub ecx, 0x3fe0c7d9
add ecx, 0x1994b912
add ecx, 0x8d257eb
sub ecx, 0x24dffdee
test r12d, r12d
jg 0x1401f65e9
xchg rdi, r15
mov r15, qword [rbp + 0x98]
xchg r15, rdi
mov r13, qword [rbp + 0xa8]
xchg rbx, rax
mov rbx, qword [rsi]
xchg rbx, rax
lea r14, [rbp - 0x80]
not rax
lea r15, [rsp + 0x40]
and eax, 1
lea rbx, [rbp - 0x60]
shl rax, 3
shl rax, 1
shl rax, 1
lea rsi, [rsp + 0x60]
add r14, rax
add r15, rax
sub rbx, rax
sub rsi, rax
mov r9, r14
xchg rdx, r8
mov rdx, r15
xchg rdx, r8
xchg rbx, r12
mov rdx, r12
xchg rbx, r12
xchg rbx, rcx
mov rbx, rsi
xchg rcx, rbx
call fcn.1401f72f0
mov rcx, qword [rsp + 0x60]
xor eax, eax
xchg r14, rcx
mov r9, r14
xchg rcx, r14
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f675e
seta al
mov rdx, qword [rsp + 0x68]
xchg rdx, rcx
mov rdx, rcx
xchg rdx, rcx
xchg r9, r12
mov qword [rsp + 0x20], r12
xchg r9, r12
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f6790
xor eax, eax
cmp rcx, rdx
seta al
mov r8, qword [rsp + 0x70]
mov rdx, r8
xchg rcx, r10
mov qword [rsp + 0x28], r10
xchg r10, rcx
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f67bc
xor eax, eax
cmp rdx, r8
seta al
xchg r10, rbp
mov rbp, qword [rsp + 0x78]
xchg r10, rbp
mov r8, r10
xchg r10, rdx
mov qword [rsp + 0x30], r10
xchg rdx, r10
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f67ee
xor eax, eax
cmp r8, r10
seta al
xchg rdi, r8
mov qword [rsp + 0x38], rdi
xchg rdi, r8
test rax, rax
je 0x1401f68bc
movabs r10, 0xfffffffe50025c8a
xor r10, 0x136d2891
xor r10, 0x7670f4e1
sub r10, 0x58d718c
sub r10, 0x1f7053fb
sub r10, 0x814abc6
add r10, 0x6bf2829b
xor r10, 0x63530654
add r10, 0x7fffffff
add r10, 0x6f536814
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f685c
setb al
lea r9, [rax - 1]
xchg r10, rdx
mov qword [rsp + 0x20], rdx
xchg rdx, r10
add r9, rcx
cmp r9, rcx
je 0x1401f687f
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
xchg r9, r8
mov qword [rsp + 0x28], r8
xchg r9, r8
add rcx, rdx
cmp rcx, rdx
je 0x1401f68a2
xor eax, eax
cmp rcx, rdx
setb al
dec rax
xchg rbp, rcx
mov qword [rsp + 0x30], rbp
xchg rbp, rcx
add rax, r8
xchg rdx, rax
mov qword [rsp + 0x38], rdx
xchg rdx, rax
xchg rbx, rcx
mov r8, rcx
xchg rcx, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa240
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9050
xchg rdi, r8
mov rdi, r8
xchg r8, rdi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa240
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9050
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f93c0
xchg r8, r13
mov r13, r8
xchg r13, r8
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa240
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9050
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa240
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9050
xchg rbx, r9
mov rbx, r9
xchg r9, rbx
mov r8, rsi
xchg rdx, r14
mov r14, rdx
xchg r14, rdx
mov rcx, r15
call fcn.1401f6ad0
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fa8a0
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9050
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401fa240
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f9050
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401fa240
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9050
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401fa240
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f9050
mov rcx, qword [rbp + 0x90]
xchg rdi, rax
mov rdi, qword [rsp + 0x40]
xchg rdi, rax
mov qword [rcx], rax
mov rax, qword [rsp + 0x48]
xchg r15, rax
mov qword [rcx + 8], r15
xchg r15, rax
mov rax, qword [rsp + 0x50]
xchg rbp, rax
mov qword [rcx + 0x10], rbp
xchg rbp, rax
xchg rdi, rax
mov rdi, qword [rsp + 0x58]
xchg rdi, rax
xchg r10, rax
mov qword [rcx + 0x18], r10
xchg r10, rax
mov rax, qword [rbp - 0x80]
mov qword [rcx + 0x20], rax
xchg rcx, rax
mov rcx, qword [rbp - 0x78]
xchg rcx, rax
mov qword [rcx + 0x28], rax
xchg r9, rax
mov r9, qword [rbp - 0x70]
xchg r9, rax
mov qword [rcx + 0x30], rax
mov rax, qword [rbp - 0x68]
xchg rdi, rax
mov qword [rcx + 0x38], rdi
xchg rdi, rax
add rsp, 0x148
nop
xchg qword [rsp], r15
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
push rcx
push rcx
push rcx
push rax
push rbx
xchg qword [rsp + 0x28], r13
pop rbx
pop rax
pop rcx
pop rcx
pop rcx
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
push rcx
push rbx
push rcx
xchg qword [rsp + 0x18], rdi
add rsp, 0x20
nop
xchg qword [rsp], rsi
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], rbp
nop
add rsp, 8
jmp qword [rsp - 8]