Function at 0x140012380
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push r12
push r13
sub rsp, 0x98
xor eax, eax
lea r8, [0x14039e1c0]
mov dword [rsp + 0x32], eax
xor ebp, ebp
mov word [rsp + 0x36], ax
xor r13b, r13b
mov dword [rsp + 0x4a], eax
mov r12, rdx
mov word [rsp + 0x4e], ax
xor dl, dl
mov dword [rsp + 0x32], eax
mov rsi, rcx
mov word [rsp + 0x36], ax
mov r10b, 1
mov dword [rsp + 0x4a], eax
movzx r11d, r10b
mov word [rsp + 0x4e], ax
mov rax, qword [rcx + 0x58]
mov rcx, qword [rcx + 8]
test rax, rax
mov byte [rsp + 0xd0], dl
cmovne r8, rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x60], r8
mov eax, dword [r8]
test eax, eax
je 0x1400127d2
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x78], r15
mov r15d, eax
add r15, rcx
mov rbx, qword [r15]
test rbx, rbx
je 0x1400127a0
mov r14d, dword [r8 + 0x10]
add r14, rcx
nop dword [rax]
mov qword [r14], 0
test rbx, rbx
js 0x140012772
test dl, dl
jne 0x1400125e0
lea rsi, [rbx + 2]
mov rdi, 0xffffffffffffffff
add rsi, rcx
mov qword [rsp + 0x38], rsi
nop dword [rax + rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x140012470
mov qword [rsp + 0x40], rdi
cmp rdi, 0x11
jne 0x1400125d8
test rdi, rdi
je 0x14001249b
movzx r8d, byte [rsi]
mov byte [rsp + 0xd8], r8b
jmp 0x1400124a4
movzx r8d, byte [rsp + 0xd8]
test rdi, rdi
mov r9b, 1
setne al
test rdi, rdi
je 0x1400124b9
mov al, 0x52
cmp al, r8b
jmp 0x1400124bc
cmp r9b, al
setne al
test al, al
jne 0x1400125d8
lea rax, [rdi - 1]
cmp rdi, rax
jbe 0x1400124dc
movzx r8d, byte [rax + rsi]
mov byte [rsp + 0x20], r8b
jmp 0x1400124e2
movzx r8d, byte [rsp + 0x20]
seta cl
jbe 0x1400124ee
mov al, 0x72
cmp al, r8b
jmp 0x1400124f1
cmp r9b, cl
setne al
test al, al
jne 0x1400125d3
movups xmm0, xmmword [rsp + 0x38]
lea rcx, [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
call fcn.140008990
movabs rcx, 0xb62c59c0b901f5e0
cmp rcx, rax
jne 0x1400125c4
mov r8, rdi
lea r9, [rdi + rsi]
movabs r11, 0x10b3c101a0132800
movabs r10, 0x485f0ac04020000
imul r8, r11
xor r8, r10
cmp rsi, r9
je 0x14001259d
movabs r12, 0x1539b1ada4152800
nop dword [rax]
nop dword [rax + rax]
movsx rcx, byte [rsi]
inc rsi
mov rax, rcx
imul rax, rcx
imul rcx, rax
mov rdx, rcx
imul rdx, rcx
add rdx, r8
xor rdx, r10
imul rdx, r11
xor rdx, rcx
add rdx, r12
imul r8, rdx
xor r8, rdx
cmp rsi, r9
jne 0x140012560
mov r12, qword [rsp + 0xc8]
movabs rax, 0xe64554fea32c9660
cmp r8, rax
jne 0x1400125c4
mov rax, qword [r12]
mov dl, 1
mov qword [r14], rax
or ebp, 1
mov byte [rsp + 0xd0], dl
jmp 0x140012772
movzx edx, byte [rsp + 0xd0]
mov r10b, 1
movzx r11d, r10b
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0xc0]
test r13b, r13b
jne 0x140012772
add rbx, 2
mov rdi, 0xffffffffffffffff
add rbx, rcx
mov qword [rsp + 0x38], rbx
nop dword [rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140012600
mov qword [rsp + 0x40], rdi
cmp rdi, 0x12
jne 0x140012772
test rdi, rdi
je 0x140012626
movzx ecx, byte [rbx]
mov byte [rsp + 0x21], cl
jmp 0x14001262b
movzx ecx, byte [rsp + 0x21]
test rdi, rdi
setne al
test r10b, r10b
je 0x140012641
test rdi, rdi
je 0x140012641
mov al, 0x47
cmp al, cl
jmp 0x140012644
cmp r10b, al
setne al
test al, al
jne 0x140012772
lea rax, [rdi - 1]
cmp rdi, rax
jbe 0x140012664
movzx r8d, byte [rax + rbx]
mov byte [rsp + 0x22], r8b
jmp 0x14001266a
movzx r8d, byte [rsp + 0x22]
seta cl
test r11b, r11b
je 0x14001267e
cmp rdi, rax
jbe 0x14001267e
mov al, 0x57
cmp al, r8b
jmp 0x140012681
cmp r11b, cl
setne al
test al, al
jne 0x140012772
movups xmm0, xmmword [rsp + 0x38]
lea rcx, [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
call fcn.140008990
movabs rcx, 0x3e3f40df81b9ba7
cmp rcx, rax
jne 0x14001276a
mov r8, rdi
lea r9, [rdi + rbx]
movabs r11, 0x10b3c101a0132800
movabs r10, 0x485f0ac04020000
imul r8, r11
xor r8, r10
cmp rbx, r9
je 0x14001272d
movabs rsi, 0x1539b1ada4152800
nop dword [rax]
nop dword [rax + rax]
movsx rcx, byte [rbx]
inc rbx
mov rax, rcx
imul rax, rcx
imul rcx, rax
mov rdx, rcx
imul rdx, rcx
add rdx, r8
xor rdx, r10
imul rdx, r11
xor rdx, rcx
add rdx, rsi
imul r8, rdx
xor r8, rdx
cmp rbx, r9
jne 0x1400126f0
mov rsi, qword [rsp + 0xc0]
movabs r9, 0x3603d2e48223de47
cmp r8, r9
jne 0x14001276a
mov eax, dword [rsi + 0x18]
shr eax, 1
test al, 1
je 0x14001274c
mov rax, qword [r12 + 8]
jmp 0x140012751
mov rax, qword [r12 + 0x10]
mov qword [r14], rax
mov r13b, 1
mov eax, dword [rsi + 0x18]
shr eax, 1
not eax
and eax, 1
lea eax, [rax*2 + 2]
or ebp, eax
movzx edx, byte [rsp + 0xd0]
mov rbx, qword [r15 + 8]
add r15, 8
mov rcx, qword [rsp + 0x28]
add r14, 8
mov rsi, qword [rsp + 0xc0]
mov r10b, 1
movzx r11d, r10b
test rbx, rbx
jne 0x140012440
mov r8, qword [rsp + 0x60]
mov eax, dword [r8 + 0x14]
add r8, 0x14
mov qword [rsp + 0x60], r8
test eax, eax
jne 0x140012420
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
mov eax, ebp
add rsp, 0x98
pop r13
pop r12
pop rsi
pop rbp
ret