Function at 0x1400ffd81
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xd8
mov qword [rax - 0x28], rbx
xorps xmm0, xmm0
mov qword [rax - 0x30], rsi
xor r14d, r14d
mov qword [rdx], r14
mov r12, rdx
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], 0x3fb47745
xor qword [rdx + 0x18], 0x4f15a257
xor qword [rdx + 0x18], 0x3c9e5eab
xor qword [rdx + 0x18], 0x4c3f8bb8
mov rsi, qword [rcx + 0x868]
mov rbx, qword [rcx + 0x830]
mov qword [rax - 0x38], r13
mov r13, rcx
lea rax, [rbp - 0x29]
lea rdx, [rsi + 1]
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x31]
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call fcn.140017924
mov r8, rax
mov ecx, 0x34d705bb
sub ecx, 0x2ec3214e
add ecx, 0x289b6e46
mov r9d, 0x931cbf
add r9d, 0x2ea84c37
xor r9d, 0x29ae669b
sub r9d, 0x6950d6e
test rsi, rsi
je 0x1400ffa00
mov rdx, rax
sub rbx, rax
mov rdi, rsi
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r9w
ror ecx, 8
xor ax, word [rbx + rdx - 2]
mov word [rdx - 2], ax
sub rdi, 1
jne 0x1400ff9df
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x1400ffec2
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x34010149
xor edx, 0x48f3674
xor edx, 0x393b911a
sub edx, 0x9b5a61d
mov rcx, r14
call 0x14009aa00
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff23f3c47f
sub r15, 0x87f46c2
add r15, 0x500a618
add r15, 0x7fffffff
xor r15, 0x5f8adc2b
test rax, rax
je 0x1400ffa82
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x1400ffa99
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x1400ffa8a
lea rdi, [rbx + 1]
mov eax, 0x45aa7d4c
sub eax, 0x1ffea7ae
sub eax, 0x25abd59c
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.140099880
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.14009ab50
cmp byte [r13 + 0x884], 0
je 0x1400ffb76
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.1400f0f70
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400f4334
cmp eax, dword [rdi]
jle 0x1400ffb76
mov edx, 0x1867b882
add edx, 0x467b6ca8
sub edx, 0x27f56bac
sub edx, 0x36edb95e
mov rcx, rsi
call fcn.14009ac50
test rax, rax
jne 0x1400ffb58
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x1400ffb3a
cmp rax, 1
jbe 0x1400ffd6a
dec rax
lea rax, [rsi + rax*2]
mov word [rax], bx
sub rax, rsi
sar rax, 1
lea rax, [r14 + rax*2]
mov qword [rbp + 0x6f], rax
cmp byte [r13 + 0x884], bl
jne 0x1400ffaec
xor r14d, r14d
xorps xmm0, xmm0
lea rax, [rbp - 0x69]
mov qword [rbp - 0x71], rax
mov rdx, r15
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x1400ffb93
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140017924
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0xae2619f
add edx, 0x591cd53c
add edx, 0xf7e38e9
xor edx, 0x5dd23d77
popf
mov rdi, r14
jbe 0x1400ffc26
mov r8, rsi
mov r9d, 0x64d5ca6a
sub r9d, 0x4b658fc9
sub r9d, 0x2050872
sub r9d, 0x176b3130
sub r8, rax
nop word [rax + rax]
movzx ecx, dx
lea rax, [rax + 2]
and cx, r9w
ror edx, 8
xor cx, word [r8 + rax - 2]
inc rdi
mov word [rax - 2], cx
cmp rdi, qword [rbp - 0x39]
jb 0x1400ffc01
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400ffdb1
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x1400ffda8
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140099d10
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x1400ffd1a
nop
movabs rsi, 0xffffffff37ae4f89
add rsi, 0x1df67045
add rsi, 0x7fffffff
add rsi, 0x2a5b3ffb
lea rbx, [rax + 0x38]
sub rsi, rax
xor r13d, r13d
nop dword [rax]
mov r14, qword [r12]
lea rax, [rbx - 0x30]
mov qword [rbx - 0x38], rax
lea rcx, [rbx - 0x38]
xorps xmm0, xmm0
add r14, rsi
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rdx, qword [r14 + rbx + 0x38]
mov qword [rbx], rdx
call fcn.140017924
mov rdi, r13
cmp qword [rbx], r13
jbe 0x1400ffcfa
nop word [rax + rax]
mov rcx, qword [r14 + rbx]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx]
jb 0x1400ffce2
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x1400ffc9e
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x1400ffd9f
mov rbx, r14
test rcx, rcx
je 0x1400ffd96
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x1400ffd76
xor eax, eax
mov ecx, 0x1b118c7d
xor ecx, 0x1f7e9433
add ecx, 0x300aad74
sub ecx, 0x3479c592
rep stosb byte [rdi], al
jmp 0x1400ffd7b
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x1400ffb79
call fcn.1400999d0
inc rbx
neg r14
add r14, 0xffffffffffffffc0
neg r14
cmp rbx, qword [r12 + 8]
jb 0x1400ffd32
xor r14d, r14d
mov rcx, qword [r12]
call fcn.1400999d0
mov qword [r12], r13
jmp 0x1400ffdd8
mov r13, qword [r12]
jmp 0x1400ffdd8
mov r13, qword [r12]
test r13, r13
jne 0x1400ffdd8
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140099d10
mov r13, rax
mov qword [r12], rax
mov rax, qword [r12 + 8]
xorps xmm0, xmm0
mov rbx, rax
shl rbx, 6
add rbx, r13
inc rax
mov rcx, rbx
mov qword [r12 + 8], rax
lea rax, [rbx + 8]
mov qword [rbx], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x38], rax
mov rdx, qword [rbp - 0x39]
call fcn.140017924
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x1400ffe4c
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp - 0x71]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx + 0x38]
jb 0x1400ffe33
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x1400ffe7b
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x18cc6140
sub ecx, 0x920d154
sub ecx, 0xfab8fbc
rep stosb byte [rdi], al
jmp 0x1400ffe80
call fcn.1400999d0
mov rcx, rsi
call fcn.140099890
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x1400ffeb6
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x1400ffeb6
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400ffa21
mov r14, qword [rbp - 0x31]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
lea rax, [rbp - 0x29]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
cmp r14, rax
jne 0x1400fff18
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x7f7df819
sub ecx, 0x485a0503
xor ecx, 0x3723f326
rep stosb byte [rdi], al
mov rax, r12
add rsp, 0x5f7c6e1d
sub rsp, 0x5f7c6d45
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.1400999d0
mov rax, r12
add rsp, 0xd8
pop r14
pop r12
pop rdi
pop rbp
ret