Function at 0x14000aad0
Capabilities:
Check os version
Create service
Modify service
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x240]
sub rsp, 0x340
mov rax, qword [0x14012bc80]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov rdi, rcx
mov dword [rcx + 0xa80], 1
lea rcx, [rbp - 0x70]
xor edx, edx
mov r8d, __WSAFDIsSet
xor esi, esi
mov dword [rsp + 0x78], 1
call fcn.14000cbf0
lea rcx, [rbp - 0x70]
mov dword [rbp - 0x70], __WSAFDIsSet
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov ecx, dword [rdi + 4]
mov r12d, eax
mov dword [rsp + 0x7c], eax
mov eax, dword [rdi + 8]
neg eax
sbb r13d, r13d
add r13d, 3
dec ecx
je 0x14000ad6d
dec ecx
jne 0x14000ad66
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, rdi
call fcn.14000b490
cmp dword [rsp + 0x70], esi
je 0x14000ab85
mov rcx, rdi
call fcn.14000b070
cmp dword [rdi + 8], esi
je 0x14000ad66
lea r15, [rdi + 0x20c]
lea rdx, [rbp + 0x30]
mov rcx, r15
sub rdx, r15
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rcx - 1], al
test al, al
jne 0x14000aba0
lea rcx, [rbp + 0x30]
mov edx, 0x5c
call fcn.140010310
or rbx, 0xffffffffffffffff
lea r12, [rdi + 0x60c]
mov byte [rax], sil
mov rax, rbx
lea r13, [rdi + 0xc]
inc rax
cmp byte [r13 + rax], sil
jne 0x14000abd2
mov rcx, rbx
nop
inc rcx
cmp byte [r12 + rcx], sil
jne 0x14000abe0
add eax, ecx
mov rcx, rbx
nop
inc rcx
cmp byte [r15 + rcx], sil
jne 0x14000abf0
add eax, ecx
lea rdx, [rbp + 0x30]
mov rcx, rbx
inc rcx
cmp byte [rdx + rcx], sil
jne 0x14000ac02
add ecx, 0x200
add eax, ecx
cdqe
mov rcx, rax
mov qword [rsp + 0x70], rax
call fcn.14000c7c4
mov r14, rax
test rax, rax
jne 0x14000ac4a
lea r8, str._Service_Error
lea rdx, str.Failed_to_allocate_memory._Could_not_create_Flex_Service.
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x14000b03c
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call fcn.14000cbf0
cmp byte [r12], sil
lea rax, [0x1400fe954]
cmovne rax, r12
lea r8, [rbp + 0x30]
lea rdx, str.__slmgrd.exe____s___app__win__c___s___l___s_
mov qword [rsp + 0x28], rax
mov r9, r15
mov rcx, r14
mov qword [rsp + 0x20], r13
call fcn.14000ca3c
lea rax, [rbp - 0x80]
lea rdx, str.SOFTWARE
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14000ad5e
mov rcx, qword [rbp - 0x80]
lea rax, [rsp + 0x7c]
lea r9, [0x1400fca4c]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x78]
lea rdx, str.MicrosoftWindowsCurrentVersionRunServices
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x14000ad54
nop dword [rax]
inc rbx
cmp byte [r14 + rbx], sil
jne 0x14000ad00
mov rcx, qword [rbp - 0x78]
inc ebx
lea rdx, [rdi + 0x40c]
mov r9d, 1
xor r8d, r8d
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, r14
call fcn.14000ca10
mov eax, 1
jmp 0x14000b03c
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, r14
call fcn.14000ca10
xor eax, eax
jmp 0x14000b03c
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.14000b490
cmp dword [rdi], esi
jne 0x14000ad9a
cmp dword [rsp + 0x70], esi
je 0x14000ad90
mov rcx, rdi
call fcn.14000b070
mov eax, 1
jmp 0x14000b03c
or rbx, 0xffffffffffffffff
mov rcx, rbx
inc rcx
cmp byte [rdi + rcx + 0x20c], sil
jne 0x14000ada1
add rcx, 3
call fcn.140010258
mov r15, rax
nop word [rax + rax]
cmp byte [rdi + rbx + 0x20d], sil
lea rbx, [rbx + 1]
jne 0x14000adc0
lea r8, [rbx + 3]
xor edx, edx
mov rcx, rax
call fcn.14000cbf0
lea r8, [rdi + 0x20c]
lea rdx, str.__s_
mov rcx, r15
call fcn.14000ca3c
xor edx, edx
xor ecx, ecx
cmp dword [rsp + 0x70], esi
jne 0x14000af29
lea r8d, [rdx + 2]
mov dword [rdi + 0xa80], esi
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov r14, rax
test rax, rax
je 0x14000af1d
mov qword [rsp + 0x60], rsi
lea rax, str.NT_AUTHORITYLocalService
lea rdx, [rdi + 0x40c]
mov qword [rsp + 0x58], rax
lea rax, str.NetworkProvider
mov r9d, 0xf01ff
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], 1
mov r8, rdx
mov rcx, r14
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
call qword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov rbx, rax
test rax, rax
jne 0x14000ae99
lea r8, str.Service_Creation_Error
lea rdx, str.Failed_to_install_FLEXlm_License_Server.__Could_not_Create_Service
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x14000af07
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
lea rax, [0x1400fe730]
or r9d, 0xffffffff
mov r8d, r13d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
or edx, r9d
mov rcx, rbx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigA]
test r12d, r12d
je 0x14000aef9
cmp dword [rbp - 0x6c], 6
jb 0x14000aef9
cmp dword [rdi + 8], esi
je 0x14000aef9
lea r8, [rsp + 0x78]
mov edx, 3
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2A]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov esi, 1
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test esi, esi
jne 0x14000b02d
jmp 0x14000b01c
lea rdx, str.Failed_to_install_FLEXlm_License_Server.__You_need_to_be_an_Administrator_to_perform_this_function.
jmp 0x14000b00a
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov r14, rax
test rax, rax
je 0x14000b003
lea r12, [rdi + 0x40c]
mov r8d, 2
mov rcx, rax
mov rdx, r12
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov rbx, rax
test rax, rax
je 0x14000afdf
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
lea rax, str.NetworkProvider
mov r9d, 1
mov r8d, r13d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
lea edx, [r9 + 0xf]
mov rcx, rbx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigA]
cmp dword [rsp + 0x7c], esi
je 0x14000afc6
cmp dword [rbp - 0x6c], 6
jb 0x14000afc6
cmp dword [rdi + 8], esi
je 0x14000afc6
lea r8, [rsp + 0x78]
mov edx, 3
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2A]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov esi, 1
jmp 0x14000b02d
lea r8, str.Service_Creation_Error
lea rdx, str.Could_not_Change_Service_to_Manual_Start
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x14000b01c
lea rdx, str.Failed_to_change_FLEXlm_License_Server.__You_need_to_be_an_Administrator_to_perform_this_function.
lea r8, str.Service_Creation_Error
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [rdi + 0xa80], 0
jne 0x14000b02d
mov rcx, rdi
call fcn.14000b070
test r15, r15
je 0x14000b03a
mov rcx, r15
call fcn.140064760
mov eax, esi
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.14000c9f0
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret