Function at 0x140055770
Capabilities:
Encode data using xor

Disassembly:
push rbx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
push r13
mov dword [rsp - 0x10], 0x61061bd5
push r14
sub rsp, 0x40
lea rdi, [rcx + 8]
xorps xmm0, xmm0
xchg rbx, rbx
xchg rdi, r8
mov qword [rcx], r8
xchg r8, rdi
lea rsi, [r8 + r8]
mov dword [rsp - 0x14], 0x7689543a
xchg rdi, r9
movups xmmword [r9], xmm0
xchg rdi, r9
xchg rsp, rbx
mov rsp, rcx
xchg rsp, rbx
mov r12, r8
mov rsi, rsi
movups xmmword [rdi + 0x10], xmm0
mov r14, rdx
xchg rdi, r14
movups xmmword [r14 + 0x20], xmm0
xchg rdi, r14
xchg rbx, rsi
mov qword [rcx + 0x38], rbx
xchg rsi, rbx
mov rcx, qword [rcx]
xchg r13, r13
cmp rcx, rdi
je 0x14005580c
call fcn.140098930
mov dword [rsp - 0x3c], ebx
xor r13d, r13d
mov qword [rsp + 0x88], r15
cmp rsi, 0x18
mov dword [rsp - 0x18], 0x6b484b53
jbe 0x14005584f
lea rcx, [rsi + rsi]
call fcn.140098be0
mov rdi, rdi
mov qword [rbx], rax
test rax, rax
jne 0x14005585f
mov qword [rbx], rdi
xchg r10, r10
mov r15d, r13d
jmp 0x140055883
xchg rdi, r10
mov qword [rbx], r10
xchg rdi, r10
xchg r12, rax
mov r12, rdi
xchg r12, rax
xorps xmm0, xmm0
xchg r14, rax
movups xmmword [r14], xmm0
xchg r14, rax
xchg r10, rax
movups xmmword [r10 + 0x10], xmm0
xchg r10, rax
movups xmmword [rax + 0x20], xmm0
mov r8, r8
xchg r15, r14
mov r14, qword [rbx]
xchg r14, r15
mov ebp, 0x3e88405
add ebp, 0x3787e1d6
xor ebp, 0x51730b2d
xor ebp, 0xac65d4f
xchg rdx, r13
mov rsi, rdx
xchg r13, rdx
test r12, r12
je 0x140055a88
mov dword [rsp - 0xc], 0x23ec2c6a
mov eax, 0x48fb7266
sub eax, 0x38e06138
sub eax, 0xaf361f4
sub eax, 0x527ae59
mov dword [rsp + 0x20], 0x4a5f0c0d
add dword [rsp + 0x20], 0x18755797
sub dword [rsp + 0x20], 0x3b2d0483
xor dword [rsp + 0x20], 0x27a45fbd
mov word [rsp + 0x28], ax
mov dword [rsp + 0x24], 0x7539b32b
sub dword [rsp + 0x24], 0x60918c99
xor dword [rsp + 0x24], 0x1d42a8a8
add dword [rsp + 0x24], 0x4ba19fd7
xor dword [rsp + 0x24], 0x55de2efa
nop
movzx r8d, byte [rsi + r14]
mov dword [rsp - 0x2c], ebx
mov qword [rsp + 0x80], r13
mov rax, qword [rsp + 0x80]
nop word [rax + rax]
mov r15, r15
xchg rdx, rcx
mov rdx, qword [rsp + 0x80]
xchg rcx, rdx
mov rax, qword [rsp + 0x80]
and cl, 3
shl cl, 1
shl cl, 1
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x233ffb59
xor eax, 0x4192a4d6
sub eax, 0x3be1bb76
sub eax, 0x13029d5f
add eax, 0x4cfc2cff
shr eax, cl
mov rdi, rdi
movzx ecx, al
xchg rdx, rax
mov rdx, qword [rsp + 0x80]
xchg rdx, rax
xor cx, dx
mov word [rsp + rax*2 + 0x2a], cx
xchg rbp, rax
mov rbp, qword [rsp + 0x80]
xchg rbp, rax
inc rax
xchg r8, rax
mov qword [rsp + 0x80], r8
xchg r8, rax
xchg rdi, rax
mov rdi, qword [rsp + 0x80]
xchg rdi, rax
cmp rax, 5
mov dword [rsp - 0x30], 0x1b4c2aa5
jb 0x14005593e
lea rdx, [rsp + 0x2a]
mov word [rsp + 0x34], r13w
lea rcx, [rsp + 0x90]
mov dword [rsp - 0x20], 0x2adcccb0
call fcn.1400546c0
xor eax, eax
lea rdi, [rsp + 0x2a]
mov ecx, 0x18f4ea85
xor ecx, 0x503f9d8a
xor ecx, 0x4bcf26fd
add ecx, 0x13a37f90
xor ecx, 0x16a7d187
rep stosb byte [rdi], al
mov dword [rsp - 0x44], 0x7154da72
movzx eax, bp
mov ecx, 0x628cde10
sub ecx, 0x33f70989
xor ecx, 0x416d8772
xor ecx, 0x6ff8530a
and ax, cx
mov r13, r13
ror ebp, 7
ror ebp, 1
xor ax, word [rsp + 0x90]
mov dword [rsp - 0x1c], 0x63f6f38d
mov word [r15 + rsi*4], ax
movzx eax, bp
and ax, cx
ror ebp, 5
ror ebp, 1
ror ebp, 1
ror ebp, 1
xor ax, word [rsp + 0x92]
mov word [r15 + rsi*4 + 2], ax
xchg rdi, rdi
inc rsi
cmp rsi, r12
jb 0x140055917
mov dword [rsp - 0x24], esi
mov r15, qword [rsp + 0x88]
mov rax, rbx
nop
sub rsp, 0x4c0c2724
add rsp, 0x4c0c2764
nop
mov r14, qword [rsp]
add rsp, 8
pop r13
mov rsi, rsi
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
mov rdi, qword [rsp]
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
pop rbp
mov dword [rsp - 0x14], edx
nop
add rsp, 8
mov rbx, qword [rsp - 8]
ret