Function at 0x1400856aa
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
xchg rdx, r8
mov qword [rax + 0x18], rdx
xchg r8, rdx
mov qword [rax + 8], rcx
push rbp
mov dword [rsp - 0x30], esp
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push rdi
mov r14, r14
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
mov qword [rsp - 8], r13
sub rsp, 8
lea rbp, [rax - 0x268]
neg rsp
sub rsp, 0xfffffffffffffcc0
neg rsp
xchg r9, rbx
mov qword [rax + 0x20], r9
xchg rbx, r9
xchg r14, rdx
mov rsi, r14
xchg rdx, r14
xchg rsi, r14
mov qword [rax - 0x30], rsi
xchg r14, rsi
xchg rbp, rbx
mov rbp, rcx
xchg rbp, rbx
lea rax, [rbp + 0x18]
mov dword [rsp - 0x3c], 0x459ee222
xor edx, edx
mov r8d, 0x1df183df
add r8d, 0x39513b7e
add r8d, 0x15b49a
sub r8d, 0x575872f7
xchg rdi, rax
mov qword [rbp + 0x10], rdi
xchg rdi, rax
lea rcx, [rbp + 0x18]
xchg rbp, rbp
xchg rbp, r9
mov rdi, rbp
xchg r9, rbp
call fcn.140097a60
mov dword [rsp - 0x1c], ebp
nop
movabs r8, 0xffffffff318df4b0
add r8, 0xa3abef7
add r8, 0x32209d9b
sub r8, 0x7b49007
add r8, 0x7fffffff
xor r8, 0x19cb3ec5
inc r8
mov r15, r15
cmp byte [rdi + r8], 0
jne 0x14008536a
xchg r11, rdx
mov r11, rdi
xchg rdx, r11
lea rcx, [rbp + 0x10]
mov dword [rsp - 0x3c], 0x3405cd5f
call fcn.14008fbe0
mov rcx, qword [rsi + 0x78]
lea rax, [rbp + 0x10]
xchg rsi, rsi
mov r14, qword [rbx]
xor r13d, r13d
xchg rbx, rax
mov qword [rsp + 0x28], rbx
xchg rbx, rax
lea rax, [0x140001af0]
mov qword [rbp + 0x120], rax
mov dword [rsp - 0x14], 0xa2e0c9b
lea rax, [rbp + 0x10]
xchg r10, rax
mov qword [rbp + 0x130], r10
xchg r10, rax
mov r12d, r13d
mov rsi, rsi
mov qword [rbp + 0x278], r13
mov qword [rsp + 0x20], rsi
mov qword [rbp + 0x198], 0x768ce90e
sub qword [rbp + 0x198], 0x3aadcdd7
xor qword [rbp + 0x198], 0x4ad2e516
sub qword [rbp + 0x198], 0x710dfe09
xchg r15, rsi
mov qword [rbp + 0x128], r15
xchg rsi, r15
mov qword [rbp], rcx
cmp rcx, 0x78
mov r9, r9
jbe 0x14008547a
xchg rbx, r12
mov r12, qword [rsi]
xchg r12, rbx
xchg r15, rax
mov r15, qword [rbx]
xchg r15, rax
xchg r13, rdi
mov r13, qword [rax + 0x10]
xchg r13, rdi
call fcn.140097730
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
xchg r13, rcx
mov r13, rbx
xchg rcx, r13
call rdi
xchg rcx, rbx
mov rcx, qword [rbp + 0x270]
xchg rbx, rcx
mov qword [rbp - 0x78], rax
mov r15, r15
jmp 0x14008549a
test rcx, rcx
je 0x14008549a
xchg rdx, rax
mov rdx, qword [rsi]
xchg rdx, rax
lea rdx, [rbp - 0x78]
xchg rcx, rdx
mov rdx, rsi
xchg rcx, rdx
call qword [rax + 0x10]
lea r8, [rbp + 0x120]
mov dword [rsp - 0x3c], 0x3edec6f0
mov rdx, r14
lea rcx, [rbp - 0x78]
call fcn.140083220
xchg rdi, rdi
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
test rax, rax
jne 0x140085a06
mov dword [rsp - 0x40], edx
mov rcx, qword [rsi + 0x78]
mov r14, qword [rbp + 0x10]
xchg r15, rcx
mov qword [rsp + 0x330], rcx
xchg r15, rcx
xchg r15, rsi
mov rsi, qword [rbx]
xchg r15, rsi
xchg rcx, rbx
mov qword [rbp], rbx
xchg rcx, rbx
cmp rcx, 0x78
jbe 0x14008554b
mov dword [rsp - 0xc], 0x346ef99e
mov rbx, qword [rsi]
xchg r8, rax
mov r8, qword [rbx]
xchg r8, rax
xchg rdi, r13
mov r13, qword [rax + 0x10]
xchg rdi, r13
call fcn.140097730
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
xchg rbx, r11
mov rcx, r11
xchg rbx, r11
call rdi
xchg r11, rbx
mov r11, qword [rbp + 0x270]
xchg r11, rbx
mov qword [rbp - 0x78], rax
mov rbx, rbx
jmp 0x140085577
test rcx, rcx
mov dword [rsp - 0x1c], 0x39849693
je 0x140085577
mov rax, qword [rsi]
lea rdx, [rbp - 0x78]
xchg rsp, rcx
mov rsp, rsi
xchg rcx, rsp
call qword [rax + 0x10]
mov dword [rsp - 0x30], 0x55f68dee
mov r9, r14
lea rdx, [rbp - 0x78]
xchg r10, r8
mov r10, r15
xchg r10, r8
lea rcx, [rsp + 0x68]
call fcn.140084200
xchg rbx, rbx
mov rax, qword [rsp + 0x68]
mov r15, r13
xchg r13, rdi
mov rdi, qword [rsp + 0x70]
xchg rdi, r13
test r13, r13
xchg rbp, rbp
cmovne r15, rax
je 0x1400855cd
shl r13, 1
shl r13, 2
shl r13, 2
shl r13, 1
add r13, rax
jmp 0x1400855d2
xor eax, eax
mov r13d, eax
cmp r15, r13
mov r14, r14
je 0x1400859e4
nop word [rax + rax]
xchg rbx, rax
mov rbx, qword [r15 + 0x38]
xchg rbx, rax
mov rcx, qword [rbp + 0x10]
xchg rdi, rax
mov qword [rbp + 0x118], rdi
xchg rdi, rax
lea rdi, [rax + 1]
xchg rsi, rsi
lea rax, [rbp + 0x18]
cmp rcx, rax
je 0x14008561b
mov dword [rsp - 0x1c], esi
call fcn.140097490
cmp rdi, 0x80
jbe 0x140085663
lea rcx, [rdi + rdi]
mov dword [rsp - 0x34], 0x7e763cb6
call fcn.140097730
xchg rcx, rax
mov qword [rbp + 0x10], rcx
xchg rcx, rax
test rax, rax
jne 0x14008566f
mov dword [rsp - 0x34], 0x673da89
lea rax, [rbp + 0x18]
xchg r8, rax
mov qword [rbp + 0x10], r8
xchg r8, rax
jmp 0x14008582f
lea rax, [rbp + 0x18]
xchg r9, rax
mov qword [rbp + 0x10], r9
xchg r9, rax
xor edx, edx
mov r10, r10
mov r8d, 0x14e7ccb0
xor r8d, 0x3dd3b33b
add r8d, 0xbd03df3
sub r8d, 0x3504bc7e
mov rcx, rax
call fcn.140097a60
mov r12, qword [rbp + 0x10]
xchg r10, r10
test r12, r12
je 0x140085822
mov r14, qword [r15 + 0x38]
lea rax, [rsp + 0x38]
mov rdi, rdi
xchg r8, rbx
mov r8, qword [r15]
xchg r8, rbx
lea rcx, [rsp + 0x30]
mov dword [rsp - 0x20], 0x21a83c34
xorps xmm0, xmm0
xchg r9, rax
mov qword [rsp + 0x30], r9
xchg r9, rax
xchg r14, rsp
movups xmmword [r14 + 0x38], xmm0
xchg rsp, r14
lea rdx, [r14 + 1]
mov dword [rsp - 0x44], 0x466ca925
movups xmmword [rsp + 0x48], xmm0
xchg rsp, r12
movups xmmword [r12 + 0x58], xmm0
xchg rsp, r12
call fcn.140017c38
mov edx, 0x2263fcf2
xor edx, 0x5008583c
sub edx, 0x1a2ed14f
sub edx, 0x3fe7bb11
test r14, r14
mov dword [rsp - 0x34], edx
je 0x14008578f
mov rdi, rax
sub rbx, rax
mov dword [rsp - 0x38], edi
xchg r15, r14
mov r8, r15
xchg r14, r15
mov r9d, 0x2412355d
add r9d, 0x25c97576
xor r9d, 0x7901e9d7
sub r9d, 0x30da4205
nop dword [rax + rax]
movzx ecx, dx
xchg rcx, rcx
lea rdi, [rdi + 2]
and cx, r9w
ror edx, 4
ror edx, 1
ror edx, 2
ror edx, 1
xor cx, word [rbx + rdi - 2]
mov word [rdi - 2], cx
mov dword [rsp - 0x3c], 0x3f556ddb
sub r8, 1
jne 0x14008575c
xor ecx, ecx
mov word [rax + r14*2], cx
mov dword [rsp - 0x20], 0x213b7314
xchg r12, rbp
mov rcx, rbp
xchg r12, rbp
mov rdx, qword [rbp + 0x118]
xchg r8, rdi
mov rdi, qword [rsp + 0x30]
xchg r8, rdi
inc rdx
call fcn.140098460
xchg r9, rcx
mov r9, qword [rsp + 0x30]
xchg r9, rcx
lea rax, [rsp + 0x38]
cmp rcx, rax
mov dword [rsp - 0xc], 0x33327831
jne 0x140085810
lea rdi, [rsp + 0x38]
xor eax, eax
mov ecx, 0x5f1bbf92
add ecx, 0x1f4bd3ec
sub ecx, 0x6a0eed18
sub ecx, 0x1046fb01
xor ecx, 0x411ab55
rep stosb byte [rdi], al
xchg r9, r9
jmp 0x140085815
call fcn.140097490
xchg rdx, rbx
mov rdx, qword [rbp + 0x270]
xchg rbx, rdx
xchg r12, rsi
mov rsi, qword [rbp + 0x278]
xchg rsi, r12
xchg rcx, r14
mov r14, qword [rsi + 0x78]
xchg rcx, r14
lea rax, [0x140001af0]
xchg rcx, r14
mov rcx, qword [rbx]
xchg rcx, r14
mov qword [rbp], 0x69918df
xor qword [rbp], 0x797ce7f
xor qword [rbp], 0x54141703
sub qword [rbp], 0x551ac18b
mov qword [rbp - 0x78], rax
xchg rbp, rbp
xchg rcx, r14
mov qword [rbp + 0x198], r14
xchg rcx, r14
xchg r10, rsp
movups xmm0, xmmword [r10 + 0x20]
xchg rsp, r10
xchg rbp, rbx
movups xmmword [rbx - 0x70], xmm0
xchg rbx, rbp
cmp rcx, 0x78
xchg r14, r14
jbe 0x1400858e6
mov rbx, qword [rsi]
mov rax, qword [rbx]
mov dword [rsp - 0x14], 0x3d10036d
xchg rsp, rdi
mov rsp, qword [rax + 0x10]
xchg rsp, rdi
call fcn.140097730
xchg rsp, rsp
mov rdx, rax
xchg rbx, r8
mov rcx, r8
xchg rbx, r8
call rdi
xchg rbx, rsp
mov rsp, qword [rbp + 0x270]
xchg rsp, rbx
mov qword [rbp + 0x120], rax
jmp 0x14008590f
test rcx, rcx
xchg r9, r9
je 0x14008590f
xchg r12, rax
mov r12, qword [rsi]
xchg r12, rax
lea rdx, [rbp + 0x120]
xchg rdx, rsi
mov rcx, rdx
xchg rsi, rdx
call qword [rax + 0x10]
mov r14, r14
lea r8, [rbp - 0x78]
mov rdx, r14
lea rcx, [rbp + 0x120]
call fcn.140083220
xchg rsp, rsp
mov rdi, rax
test rax, rax
je 0x1400859cf
xchg rdx, rcx
mov rcx, qword [rsi + 0x78]
xchg rdx, rcx
cmp rdx, 0x78
mov r12, r12
jbe 0x140085950
mov rcx, qword [rsi]
jmp 0x14008595f
xor eax, eax
test rdx, rdx
mov dword [rsp - 0x3c], edx
mov ecx, eax
cmovne rcx, rsi
mov rax, qword [rcx]
lea r8, [rbp + 0x1a0]
mov dword [rsp - 0x34], 0x78fcc3f9
mov r9d, 0xb8153b5
add r9d, 0x1de61d97
add r9d, 0x358093ce
sub r9d, 0x5ee8048a
xchg rdi, rdx
mov rdi, rdx
xchg rdi, rdx
call qword [rax + 8]
xchg r15, r15
xor ecx, ecx
test al, al
mov r12d, ecx
cmovne r12, qword [rbp + 0x1d0]
mov rsp, rsp
xchg r12, rdi
mov qword [rbp + 0x278], rdi
xchg rdi, r12
cmp r12, qword [rbp + 0x280]
mov dword [rsp - 0x1c], 0x355ad332
jne 0x1400859e4
add r15, 0x40
cmp r15, r13
mov dword [rsp - 0x24], 0x4a919e43
jne 0x1400855e7
lea rcx, [rsp + 0x68]
call fcn.140087c80
mov dword [rsp - 0x24], 0x2425ccc1
mov r15, qword [rsp + 0x330]
xor r13d, r13d
jmp 0x140085a78
xchg r13, rax
mov r13, qword [rsi + 0x78]
xchg r13, rax
cmp rax, 0x78
jbe 0x140085a28
mov dword [rsp - 0x3c], 0x66d9a39a
mov rcx, qword [rsi]
jmp 0x140085a38
test rax, rax
xchg rsp, r13
mov rcx, rsp
xchg rsp, r13
cmovne rcx, rsi
mov rax, qword [rcx]
lea r8, [rbp + 0x1a0]
xchg r8, r8
mov r9d, 0x1d7a46d3
xor r9d, 0x249b010b
add r9d, 0xcbcf990
sub r9d, 0x576e921
sub r9d, 0x412757b7
call qword [rax + 8]
test al, al
mov dword [rsp - 0x44], esi
cmovne r12, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x10]
lea rax, [rbp + 0x18]
mov dword [rsp - 0x24], esp
xchg r14, r10
mov r10, qword [rsp + 0x338]
xchg r10, r14
mov rbx, qword [rsp + 0x388]
mov rcx, rcx
cmp rcx, rax
jne 0x140085ad2
lea rdi, [rbp + 0x18]
mov dword [rsp - 0x24], esi
xor eax, eax
mov ecx, 0x384d249
xor ecx, 0x789d474f
xor ecx, 0x6b7d9594
xor ecx, 0x10640192
rep stosb byte [rdi], al
mov dword [rsp - 0x30], edx
jmp 0x140085ada
call fcn.140097490
xchg r9, r9
mov rcx, qword [rsi + 0x78]
cmp rcx, 0x78
jbe 0x140085b0c
mov dword [rsp - 0xc], esi
mov rcx, qword [rsi]
xor edx, edx
xchg rdi, rbp
mov rbp, qword [rcx]
xchg rdi, rbp
call qword [rdi]
mov r8, r8
mov rcx, qword [rsi]
call fcn.140097490
jmp 0x140085b39
test rcx, rcx
mov dword [rsp - 0x14], ebx
je 0x140085b39
xchg rdi, rax
mov rdi, qword [rsi]
xchg rdi, rax
xor edx, edx
mov dword [rsp - 0x34], esp
xchg rsi, r9
mov rcx, r9
xchg r9, rsi
call qword [rax]
mov dword [rsp - 0x34], 0x3f4ebaa5
xchg r13, r11
mov qword [rsi + 0x78], r11
xchg r13, r11
xchg r12, rax
mov r12, rax
xchg r12, rax
neg rsp
add rsp, 0xfffffffffffffcc0
neg rsp
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
pop rdi
nop
add rsp, 8
mov rsi, qword [rsp - 8]
pop rbp
ret