Function at 0x140046b31
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]
neg rsp
sub rsp, 0xffffffffffffff28
neg rsp
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], 0x31ee35aa
add qword [rdx + 0x18], 0x1ee401ef
sub qword [rdx + 0x18], 0x50d23798
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.14000ed40
mov r8, rax
mov ecx, 0x7e591fc4
xor ecx, 0x218d0179
sub ecx, 0x32564339
add ecx, 0x443a83e9
mov r9d, 0x59df46c5
sub r9d, 0x958a8a8
sub r9d, 0x4ef61d4f
xor r9d, 0x1908031
test rsi, rsi
je 0x1400467b4
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 0x140046793
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x140046c75
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x42025c49
add edx, 0x2bcb11c
sub edx, 0x44bf0d5b
mov rcx, r14
call 0x1400974f0
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff2352f7ec
add r15, 0x5040cc8c
sub r15, 0x36e24904
add r15, 0x7fffffff
add r15, 0x434e848c
test rax, rax
je 0x140046830
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x140046847
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x140046838
lea rdi, [rbx + 1]
mov eax, 0x4b997c
add eax, 0x4b14eba5
sub eax, 0x9c8e1d1
sub eax, 0x4197a34e
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400964d0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400975c0
cmp byte [r13 + 0x884], 0
je 0x140046923
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.140038c30
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.140033fe0
cmp eax, dword [rdi]
jle 0x140046923
mov edx, 0x6da1d4c
add edx, 0x4bc0949b
sub edx, 0x529ab1c7
mov rcx, rsi
call fcn.140097690
test rax, rax
jne 0x140046905
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x1400468e7
cmp rax, 1
jbe 0x140046b1d
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 0x14004689f
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 0x140046940
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.14000ed40
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x57618609
sub edx, 0x2fb7912d
add edx, 0x4a0e6a91
popf
mov rdi, r14
jbe 0x1400469cd
mov r8, rsi
mov r9d, 0x18a9d18f
sub r9d, 0xb941b4
xor r9d, 0x1e624d60
sub r9d, 0x992c1bc
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 0x1400469a8
mov rax, qword [r12 + 8]
test rax, rax
je 0x140046b5e
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140046b55
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140096970
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x140046ad3
nop
movabs rsi, 0xffffffff2419288c
add rsi, 0x307df022
sub rsi, 0x244e709c
add rsi, 0x7fffffff
xor rsi, 0x4fb757d9
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.14000ed40
mov rdi, r13
cmp qword [rbx], r13
jbe 0x140046aa8
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 0x140046a90
mov rcx, qword [r12 + 8]
inc r15
nop
sub rbx, 0x1968369a
add rbx, 0x196836da
cmp r15, rcx
jb 0x140046a4c
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x140046b49
test rcx, rcx
je 0x140046b40
xor ebx, ebx
nop
mov rax, qword [r12]
mov rcx, qword [rbx + rax]
lea rdi, [rax + 8]
add rdi, rbx
cmp rcx, rdi
jne 0x140046b29
xor eax, eax
mov ecx, 0x3caacb72
sub ecx, 0x215c81ae
sub ecx, 0x1b4e4994
rep stosb byte [rdi], al
jmp 0x140046b2e
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x140046926
call fcn.1400966a0
inc r14
add rbx, 0x40
cmp r14, qword [r12 + 8]
jb 0x140046aeb
mov rcx, qword [r12]
call fcn.1400966a0
mov qword [r12], r13
xor r14d, r14d
jmp 0x140046b85
mov r13, qword [r12]
jmp 0x140046b85
mov r13, qword [r12]
test r13, r13
jne 0x140046b85
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140096970
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.14000ed40
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x140046bf9
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 0x140046be0
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x140046c2e
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x208cb51b
xor ecx, 0x7df96c79
sub ecx, 0x1f53af3f
sub ecx, 0x3e2229f3
rep stosb byte [rdi], al
jmp 0x140046c33
call fcn.1400966a0
mov rcx, rsi
call fcn.1400964e0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140046c69
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x140046c69
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400467d5
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 0x140046cca
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x6ad31ca2
sub ecx, 0x61599272
sub ecx, 0x9798a00
rep stosb byte [rdi], al
mov rax, r12
neg rsp
add rsp, 0xffffffffffffff28
neg rsp
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.1400966a0
mov rax, r12
add rsp, 0x30e7ad57
sub rsp, 0x30e7ac7f
pop r14
pop r12
pop rdi
pop rbp
ret