Function at 0x140002150
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x190
mov rax, qword [0x140026058]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov eax, dword [str.000000]
mov rsi, 0xffffffffffffffff
mov r10, qword [rsp + 0x1e0]
mov r15, r9
mov r11, qword [rsp + 0x1e8]
mov r9, rdx
mov rdi, qword [rsp + 0x1f0]
mov rbp, rcx
mov rbx, qword [rsp + 0x1f8]
mov dword [rsp + 0x20], eax
movzx eax, word [0x14001a7e0]
mov word [rsp + 0x24], ax
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x1400021c0
cmp rax, 6
jbe 0x1400021f7
mov ecx, 2
call fcn.140005ae8
mov rcx, rax
lea rdx, str.license_parameter__s_too_long__max_6_digits_n
mov r8, rbx
call fcn.140001730
lea rax, [0x14001aca7]
jmp 0x140002632
lea rcx, [rsp + 0x26]
sub rcx, rbx
sub rcx, rax
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140002202
mov rcx, qword [rsp + 0x200]
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140002220
cmp rax, 0x64
jbe 0x14000225a
mov ecx, 2
call fcn.140005ae8
mov rcx, rax
lea rdx, str.machine_id_too_long__max__d_digits_n
mov r8d, 0x64
call fcn.140001730
lea rax, [0x14001aca7]
jmp 0x140002632
lea rdx, [rsp + 0x100]
mov qword [rsp + 0x188], r14
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140002270
movzx eax, byte [rbp]
lea r14, [rsp + 0x100]
mov byte [str.pvvnntt_ccrrdd_000000_cccccc_MMMMMM], al
movzx eax, word [r9]
mov word [0x140026011], ax
movzx eax, word [r8]
mov word [0x140026013], ax
movzx eax, word [r15]
mov word [0x140026015], ax
movzx eax, word [r10]
mov word [0x140026018], ax
movzx eax, word [r11]
mov word [0x14002601a], ax
movzx eax, word [rdi]
xor edi, edi
mov word [0x14002601c], ax
mov eax, dword [rsp + 0x20]
mov dword [0x14002601f], eax
movzx eax, word [rsp + 0x24]
mov word [0x140026023], ax
movzx eax, byte [rbp]
cmp al, 0x49
je 0x140002343
cmp al, 0x5a
je 0x140002343
mov ecx, edi
lea rdx, [rsp + 0x100]
lea rbx, str.000000
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x140002328
cmp rcx, 7
jne 0x140002310
jmp 0x1400023b4
mov ecx, 2
call fcn.140005ae8
mov rcx, rax
lea rdx, str.illegal__m_Option__no_z_Iseries_n
call fcn.140001730
jmp 0x1400023b1
cmp byte [r15], 0x30
jne 0x140002356
cmp byte [r15 + 1], 0x31
jne 0x140002356
cmp byte [r15 + 2], dil
je 0x140002369
cmp byte [r15], 0x31
jne 0x1400023b4
cmp byte [r15 + 1], 0x31
jne 0x1400023b4
cmp byte [r15 + 2], dil
jne 0x1400023b4
mov rcx, rdi
lea rdx, [rsp + 0x100]
lea rbx, str.000000
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x140002395
cmp rcx, 7
jne 0x140002380
jmp 0x1400023b4
mov ecx, 2
call fcn.140005ae8
mov rcx, rax
lea rdx, str.illegal__m_Option__type__s_n
mov r8, r15
call fcn.140001730
mov r14, rbx
cmp byte [rbp], 0x49
jne 0x1400023f1
movzx eax, byte [r14]
mov rbx, r14
test al, al
je 0x1400023f1
cmp al, 0x20
je 0x1400023d2
cmp al, 0x2d
je 0x1400023d2
inc rbx
jmp 0x1400023ea
mov r8, rsi
inc r8
cmp byte [rbx + r8], dil
jne 0x1400023d5
lea rdx, [rbx + 1]
mov rcx, rbx
call fcn.1400035f0
movzx eax, byte [rbx]
test al, al
jne 0x1400023c5
inc rsi
cmp byte [r14 + rsi], dil
jne 0x1400023f1
mov eax, dword [str.pvvnntt_ccrrdd_000000_cccccc_MMMMMM]
lea rcx, [rsp + 0x43]
mov dword [rsp + 0x30], eax
mov r8, rsi
movzx eax, word [0x140026014]
mov rdx, r14
mov word [rsp + 0x34], ax
movzx eax, byte [0x140026016]
mov byte [rsp + 0x36], al
mov eax, dword [0x140026018]
mov dword [rsp + 0x37], eax
movzx eax, word [0x14002601c]
mov word [rsp + 0x3b], ax
mov eax, dword [0x14002601f]
mov dword [rsp + 0x3d], eax
movzx eax, word [0x140026023]
mov word [rsp + 0x41], ax
call fcn.1400035f0
mov r14, qword [rsp + 0x188]
lea r9, [rsi + 0x13]
xor cl, cl
lea r10, [0x140000000]
mov edx, edi
mov r8, rdi
test r9, r9
je 0x1400024a8
nop word [rax + rax]
xor cl, byte [rsp + r8 + 0x30]
movzx eax, byte [r8 + r10 + 0x1ac10]
inc r8
movzx ecx, cl
xor rax, rcx
ror cl, 1
xor edx, dword [r10 + rax*4 + 0x1a810]
rol edx, 1
cmp r8, r9
jb 0x140002480
mov r8d, dword [rsp + 0x208]
mov eax, edx
and eax, 0xffffff
test r8d, r8d
cmove edx, eax
xor cl, cl
mov eax, edx
shr edx, 5
and eax, 0x1f
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x14002602d], al
mov eax, edx
and eax, 0x1f
shr edx, 5
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x14002602e], al
mov eax, edx
and eax, 0x1f
shr edx, 5
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x14002602f], al
mov eax, edx
and eax, 0x1f
shr edx, 5
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x140026030], al
mov eax, edx
and eax, 0x1f
shr edx, 5
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x140026031], al
mov eax, edx
and eax, 0x1f
mov rdx, rdi
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x140026032], al
mov eax, dword [0x14002602d]
mov dword [rsp + rsi + 0x43], eax
movzx eax, word [0x140026031]
mov word [rsp + rsi + 0x47], ax
add rsi, 0x19
je 0x140002597
nop word [rax + rax]
xor cl, byte [rsp + rdx + 0x30]
movzx eax, byte [rdx + r10 + 0x1ac10]
inc rdx
movzx ecx, cl
xor rax, rcx
ror cl, 1
xor edi, dword [r10 + rax*4 + 0x1a810]
rol edi, 1
cmp rdx, rsi
jb 0x140002570
mov eax, edi
and eax, 0xffffff
test r8d, r8d
cmove edi, eax
mov eax, edi
shr edi, 5
and eax, 0x1f
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x140026026], al
mov eax, edi
and eax, 0x1f
shr edi, 5
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x140026027], al
mov eax, edi
and eax, 0x1f
shr edi, 5
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x140026028], al
mov eax, edi
and eax, 0x1f
shr edi, 5
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x140026029], al
mov eax, edi
and eax, 0x1f
shr edi, 5
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x14002602a], al
mov eax, edi
and eax, 0x1f
movzx eax, byte [rax + r10 + 0x1ac50]
mov byte [0x14002602b], al
lea rax, str.pvvnntt_ccrrdd_000000_cccccc_MMMMMM
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400028e0
add rsp, 0x190
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret