Function at 0x140040050
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x14087b200]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbp, rdx
mov rsi, rcx
test rcx, rcx
je 0x140040372
mov rbx, qword [0x14087f330]
test rbx, rbx
je 0x140040372
mov rcx, rbx
call fcn.14005d4b0
mov rdi, rax
mov rcx, rbx
call fcn.14005d4a0
mov r11, rax
lea rbx, [0x14087b9d1]
cmp rdi, rax
je 0x1400401a6
nop dword [rax]
nop word [rax + rax]
xor r9d, r9d
mov rdx, rbx
nop word [rax + rax]
xor r8d, r8d
lea rcx, [rdi + 2]
nop word [rax + rax]
movzx eax, byte [rdx]
xor byte [rcx - 2], al
movzx eax, byte [rdx]
xor byte [rcx - 1], al
movzx eax, byte [rdx]
xor byte [rcx], al
movzx eax, byte [rdx]
xor byte [rcx + 1], al
movzx eax, byte [rdx]
xor byte [rcx + 2], al
movzx eax, byte [rdx]
xor byte [rcx + 3], al
movzx eax, byte [rdx]
xor byte [rcx + 4], al
movzx eax, byte [rdx]
xor byte [rcx + 5], al
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 8
jb 0x1400400e0
inc r9d
inc rdx
cmp r9d, 1
jb 0x1400400d0
xor r9d, r9d
mov rdx, rbx
cmp qword [rdi], rsi
je 0x140040220
nop dword [rax + rax]
xor r8d, r8d
lea rax, [rdi + 2]
nop word [rax + rax]
movzx ecx, byte [rdx]
xor byte [rax - 2], cl
movzx ecx, byte [rdx]
xor byte [rax - 1], cl
movzx ecx, byte [rdx]
xor byte [rax], cl
movzx ecx, byte [rdx]
xor byte [rax + 1], cl
movzx ecx, byte [rdx]
xor byte [rax + 2], cl
movzx ecx, byte [rdx]
xor byte [rax + 3], cl
movzx ecx, byte [rdx]
xor byte [rax + 4], cl
movzx ecx, byte [rdx]
xor byte [rax + 5], cl
add r8d, 8
lea rax, [rax + 8]
cmp r8d, 8
jb 0x140040150
inc r9d
inc rdx
cmp r9d, 1
jb 0x140040140
add rdi, 0x1a
cmp rdi, r11
jne 0x1400400c0
mov qword [0x140880048], 0
mov qword [rsp + 0x50], rsi
lea rcx, [rsp + 0x20]
call fcn.14003e270
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.14005daf0
test byte [rax], 1
je 0x140040291
lea rcx, [rsp + 0x30]
call fcn.14003e270
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.14005daf0
mov rcx, qword [rax]
movabs rax, 0x1c71c71c71c71c72
imul rcx
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*8]
sub rcx, rax
dec cl
jmp 0x1400402c9
xor r8d, r8d
lea rcx, [rdi + 2]
nop word [rax + rax]
movzx eax, byte [rdx]
xor byte [rcx - 2], al
movzx eax, byte [rdx]
xor byte [rcx - 1], al
movzx eax, byte [rdx]
xor byte [rcx], al
movzx eax, byte [rdx]
xor byte [rcx + 1], al
movzx eax, byte [rdx]
xor byte [rcx + 2], al
movzx eax, byte [rdx]
xor byte [rcx + 3], al
movzx eax, byte [rdx]
xor byte [rcx + 4], al
movzx eax, byte [rdx]
xor byte [rcx + 5], al
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 8
jb 0x140040230
inc r9d
inc rdx
cmp r9d, 1
jb 0x140040220
mov qword [0x140880048], rdi
test rdi, rdi
je 0x1400401b1
mov rax, rdi
jmp 0x140040374
lea rcx, [rsp + 0x40]
call fcn.14003e270
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.14005daf0
mov rcx, qword [rax]
movabs rax, 0x1c71c71c71c71c72
imul rcx
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*8]
sub rcx, rax
mov byte [rsp + 0x58], cl
mov byte [rsp + 0x59], 0
mov rcx, qword [0x14087f330]
call fcn.14005d7a0
mov qword [rsp + 0x5a], rax
mov qword [rsp + 0x62], rbp
xor r8d, r8d
nop dword [rax + rax]
xor edx, edx
movzx ecx, byte [rbx]
lea rax, [rsp + 0x51]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x140040300
inc r8d
inc rbx
cmp r8d, 1
jb 0x1400402f0
lea rdx, [rsp + 0x50]
mov rcx, qword [0x14087f330]
call fcn.14005d9a0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
mov word [rsp + 0x68], ax
mov rcx, qword [0x14087f330]
call fcn.14005d7a0
lea rdx, [rax - 1]
mov rcx, qword [0x14087f330]
call fcn.14005d770
jmp 0x140040374
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1403a8760
mov rbx, qword [rsp + 0xb0]
add rsp, 0x80
pop rdi
pop rsi
pop rbp
ret