Function at 0x14012e060
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp - 0x40], r9
mov dword [rbp - 0x34], r8d
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x20], rcx
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.14012e399
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rdx]
mov qword [rbp - 0x10], rcx
mov rax, qword [rax]
mov rdx, rax
add rdx, 8
cmp rcx, rdx
mov qword [rbp - 8], rax
jge 0x14012e0fd
mov rcx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x10]
mov rax, r8
shl rax, 1
mov edx, 8
cmp r8, 3
cmovg rdx, rax
sub rsp, 0x20
call fcn.1400141a0
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 8]
mov rdx, qword [rdx + 8]
add rdx, 8
mov dword [rcx], 0
add rdx, rax
mov qword [rbp - 0x50], rdx
mov r8d, 4
sub rsp, 0x20
call fcn.14012e740
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov ecx, dword [rcx]
mov dword [rbp - 0x44], ecx
cmp byte [rax], 0
jne 0x14012e389
mov edx, dword [rbp - 0x44]
mov rcx, qword [rbp - 0x40]
mov eax, dword [rbp - 0x34]
mov eax, eax
mov r8d, eax
mov rax, 0xffffffffffffffff
shl rax, cl
mov rcx, qword [rbp - 0x20]
mov r10, rax
and r10, 0xffffffffffffffff
movabs r9, 0x4a5155410e182791
movabs r11, 0x4a5155410e182793
xor r9, r11
imul r9, r10
add rax, 0xffffffffffffffff
sub rax, r9
and rax, r8
mov edx, edx
mov r9d, edx
mov rdx, rcx
add rdx, 8
mov qword [rbp - 0x58], rdx
mov rcx, qword [rcx + 8]
shl rax, cl
mov rcx, qword [rbp - 0x50]
mov r8, r9
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
mov r8, rax
xor r8, r9
add rax, r8
sub rax, rdx
mov qword [rbp], rax
mov rdx, rbp
mov r8d, 8
sub rsp, 0x20
call fcn.14012e740
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012e389
mov ecx, dword [str._ID:]
mov edx, dword [0x1402533c4]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov r8d, eax
and r8d, r8d
xor r8d, 0xffffffff
mov ecx, 0x2409d759
xor ecx, 0xdbf628a6
xor r8d, ecx
mov ecx, 0x259e31f
xor ecx, 0xeeb44246
mov edx, 0xdfddff58
xor edx, 0x202200a7
xor ecx, edx
or r8d, ecx
mov ecx, 0x5741915
xor ecx, 0xe999b84c
mov edx, 0x1bc9be25
xor edx, 0xf7241f7c
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
and r8d, eax
mov eax, 0x58b66d28
xor eax, 0xa74992d7
xor r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x8350f1a8
mov r9d, 0xc780bac1
xor r9d, 0x44d04b69
mov ecx, 0x2ed80490
xor ecx, 0xd127fb6f
xor r9d, ecx
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0xa96cedce
mov edx, 0xa80f275
xor edx, 0x89d003dd
and ecx, edx
mov edx, 0xd9fab34a
xor edx, 0x70965e84
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
add eax, 0x693d952e
mov ecx, 0xc9b5e57a
xor ecx, 0x51ddf541
sub eax, ecx
sub eax, 0x693d952e
cmp eax, 0x78ddc18f
jbe 0x14012e390
mov rcx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x40]
mov eax, dword [0x1402533c8]
mov r9d, 0xe7124e1f
xor r9d, 0x6c9beea3
xor eax, r9d
and eax, dword [0x1402533cc]
or eax, 0xcc6e2893
mov r10d, 0xcca76ddb
xor r10d, 0x6a0f8711
mov r9d, eax
and r9d, r10d
mov r10d, 0xf1d6c312
xor r10d, 0xf1d6c310
imul r9d, r10d
xor eax, 0xa6a8eaca
add eax, r9d
xor eax, 0x2edc9c78
add rdx, qword [rcx]
mov r9, rdx
sar r9, 3
mov r10, qword [r8]
movabs r11, 0xf23bab66a4d1fd44
movabs rsi, 0xcc9c5b97e9dd24c4
xor r11, rsi
sub r9, r11
add r9, r10
movabs r10, 0x3ea7f0f14d0cd980
add r9, r10
mov qword [r8], r9
and rdx, 7
mov qword [rcx], rdx
cmp eax, 0x47f12789
je 0x14012e2da
jmp 0x14012e389
lea rsp, [rbp + 8]
pop rsi
pop rbp
ret
ret 0x8d5e