Function at 0x140127458
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, rsp
mov rax, rcx
xchg rcx, rsp
xchg rbx, r10
mov qword [rax + 8], r10
xchg rbx, r10
xchg r13, rsi
mov qword [rax + 0x10], r13
xchg r13, rsi
mov qword [rax + 0x18], rdi
xchg r9, r12
mov qword [rax + 0x20], r9
xchg r9, r12
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], r14
sub rsp, 8
push r15
mov dword [rsp - 0x40], 0x493e959b
lea rbp, [rax - 0x5f]
add rsp, 0x177c44e0
sub rsp, 0x177c4580
xchg rdi, rsi
mov rdi, rdx
xchg rdi, rsi
lea rdx, [rbp + 7]
call fcn.140127064
xchg r15, rsp
mov rsp, qword [rbp + 0x3f]
xchg rsp, r15
lea rax, [rbp - 0x31]
mov dword [rsp - 0x28], esi
xchg rbx, r10
mov r10, qword [rbp + 7]
xchg r10, rbx
lea rcx, [rbp - 0x39]
xorps xmm0, xmm0
mov qword [rbp - 0x39], rax
mov dword [rsp - 0x1c], 0x4fba7ac2
xchg rsp, rbp
movups xmmword [rsp - 0x31], xmm0
xchg rbp, rsp
lea rdx, [r15 + 1]
xchg r13, r13
xchg rbp, rdi
movups xmmword [rdi - 0x21], xmm0
xchg rbp, rdi
xchg rbp, r8
movups xmmword [r8 - 0x11], xmm0
xchg rbp, r8
call fcn.140017924
mov dword [rsp - 0x34], 0x16f59062
xor edi, edi
mov r14d, 0x35088751
xor r14d, 0x5774498
add r14d, 0x30daccde
sub r14d, 0x32ab3df4
xchg rdx, rax
mov r8, rdx
xchg rdx, rax
mov edx, r14d
mov r12d, 0x26bdee78
sub r12d, 0x11f4e469
add r12d, 0x63f8c713
sub r12d, 0x78640824
sub r12d, 0x5dc7ff
test r15, r15
je 0x1401275bc
mov dword [rsp - 0x2c], 0x4bc62d5d
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
sub rbx, rax
mov r9, r15
movzx eax, dx
mov rbx, rbx
ror edx, 5
ror edx, 1
ror edx, 1
ror edx, 1
and ax, r12w
xor ax, word [rbx + rcx]
mov word [rcx], ax
mov r11, r11
lea rcx, [rcx + 2]
sub r9, 1
jne 0x14012758e
mov rbx, rbx
mov word [r8 + r15*2], di
mov edx, 0x37facae1
sub edx, 0x978c481
sub edx, 0x251fb09f
add edx, 0x43c51152
sub edx, 0x4d2766e5
xchg r14, rcx
mov r14, qword [rbp - 0x39]
xchg r14, rcx
call fcn.14009ac50
mov r15, r15
lea rcx, [rsi + 8]
xorps xmm0, xmm0
test rax, rax
mov dword [rsp - 0x2c], esp
je 0x1401276b1
mov word [rax], di
or rdx, 0xffffffffffffffff
mov rbx, qword [rbp - 0x39]
mov dword [rsp - 0x40], 0x551fd53f
xchg rsp, rcx
mov qword [rsi], rsp
xchg rsp, rcx
xchg rcx, rbx
movups xmmword [rbx], xmm0
xchg rbx, rcx
xchg r13, rcx
movups xmmword [r13 + 0x10], xmm0
xchg rcx, r13
xchg rdx, rcx
movups xmmword [rdx + 0x20], xmm0
xchg rdx, rcx
inc rdx
cmp word [rbx + rdx*2], di
jne 0x14012763e
mov dword [rsp - 0xc], 0x5244c173
xchg rsi, r12
mov rcx, r12
xchg r12, rsi
xchg r9, rdx
mov qword [rsi + 0x38], r9
xchg rdx, r9
call fcn.140017924
cmp qword [rsi + 0x38], rdi
jbe 0x140127722
mov r12, r12
sub rbx, rax
movzx ecx, r14w
inc rdi
mov rcx, rcx
and cx, r12w
ror r14d, 7
ror r14d, 1
xor cx, word [rbx + rax]
mov dword [rsp - 0x24], edx
mov word [rax], cx
lea rax, [rax + 2]
cmp rdi, qword [rsi + 0x38]
jb 0x14012767b
mov rsi, rsi
jmp 0x140127722
mov rdx, qword [rbp + 0x3f]
xchg r10, rcx
mov qword [rsi], r10
xchg rcx, r10
xchg rcx, r8
movups xmmword [r8], xmm0
xchg rcx, r8
xchg rcx, r8
movups xmmword [r8 + 0x10], xmm0
xchg r8, rcx
movups xmmword [rcx + 0x20], xmm0
xchg r10, rcx
mov r10, rsi
xchg r10, rcx
xchg rdi, rdx
mov qword [rsi + 0x38], rdi
xchg rdx, rdi
call fcn.140017924
cmp qword [rsi + 0x38], rdi
jbe 0x140127722
mov r13, r13
xchg r12, rcx
mov r12, qword [rbp + 7]
xchg rcx, r12
movzx edx, word [rcx + rdi*2]
xchg rsi, rsi
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rsi + 0x38]
jb 0x1401276fc
mov dword [rsp - 0x2c], esp
xchg rcx, r15
mov r15, qword [rbp - 0x39]
xchg rcx, r15
lea rax, [rbp - 0x31]
mov ebx, 0x3ff325db
add ebx, 0x15d69f50
sub ebx, 0x3a713ad
add ebx, 0x1172fef2
xor ebx, 0x6395b040
cmp rcx, rax
xchg rbx, rbx
jne 0x14012776b
lea rdi, [rbp - 0x31]
xor eax, eax
mov ecx, ebx
xchg rdx, rdx
rep stosb byte [rdi], al
jmp 0x140127770
call fcn.1400999d0
mov rcx, qword [rbp + 7]
lea rax, [rbp + 0xf]
mov dword [rsp - 0xc], ebx
cmp rcx, rax
jne 0x14012779f
xchg rbx, r8
mov rcx, r8
xchg rbx, r8
lea rdi, [rbp + 0xf]
xor eax, eax
mov dword [rsp - 0x1c], edi
rep stosb byte [rdi], al
jmp 0x1401277a4
call fcn.1400999d0
lea r11, [rsp + 0xa0]
mov dword [rsp - 0x24], 0x6a044de3
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
xchg rbx, r10
mov r10, qword [r11 + 0x20]
xchg rbx, r10
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov dword [rsp - 0x10], ecx
mov r12, qword [r11 + 0x38]
xchg rcx, r11
mov rsp, rcx
xchg r11, rcx
nop
add rsp, 8
mov r15, qword [rsp - 8]
pop r14
xchg r15, r15
pop rbp
ret