Function at 0x140010a00
Capabilities:
Create service
Modify service
Persist via windows service

Disassembly:
push rbx
sub rsp, 0x4b0
mov rax, qword [0x140090750]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
xor edx, edx
lea rcx, [rsp + 0x80]
mov r8d, 0x208
call fcn.14003c660
xor edx, edx
lea rcx, [rsp + 0x290]
mov r8d, 0x20c
call fcn.14003c660
mov r8d, 0x104
lea rdx, [rsp + 0x80]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x140010a90
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.1400023d0
mov rcx, rax
mov dword [rsp + 0x20], ebx
lea r9, str.GetModuleFileName_failed_w_err_0x_08lx
mov edx, 5
lea r8, str.InstallService
call fcn.14001c1e0
jmp 0x140010c67
lea r9, [rsp + 0x80]
mov qword [rsp + 0x4c8], rsi
lea r8, str.__s_
mov edx, 0x106
lea rcx, [rsp + 0x290]
call fcn.1400109a0
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 3]
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rsi, rax
test rax, rax
jne 0x140010b12
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.1400023d0
mov rcx, rax
mov dword [rsp + 0x20], ebx
lea r9, str.OpenSCManager_failed_w_err_0x_08lx
lea r8, str.InstallService
lea edx, [rsi + 5]
call fcn.14001c1e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.OpenSCManager_failed_w_err_0x_08lx_n
call fcn.140001b90
jmp 0x140010c5f
xor ecx, ecx
mov qword [rsp + 0x4c0], rbp
mov qword [rsp + 0x60], rcx
lea rax, [0x140075de8]
mov qword [rsp + 0x58], rcx
lea rbx, str.LAN_WLAN_WWAN_Switching_Service
mov qword [rsp + 0x50], rax
lea rbp, str.LanWlanSwitchingService
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x290]
mov qword [rsp + 0x40], rcx
mov r9d, 0xf01ff
mov qword [rsp + 0x38], rax
mov r8, rbx
mov dword [rsp + 0x30], 1
mov rdx, rbp
mov dword [rsp + 0x28], 2
mov rcx, rsi
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayGetDim
mov qword [rsp + 0x4d0], rdi
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
lea r8, [rsp + 0x70]
mov qword [rsp + 0x70], rbx
mov rcx, rax
mov edx, 1
mov rdi, rax
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
test eax, eax
jne 0x140010bbf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.ChangeServiceConfig2__SERVICE_CONFIG_DESCRIPTION__failed_w_err_0x_08lx_n
call fcn.140001b90
test rdi, rdi
jne 0x140010c04
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.1400023d0
mov rcx, rax
mov dword [rsp + 0x20], ebx
lea r9, str.CreateService_failed_w_err_0x_08lx
lea r8, str.InstallService
lea edx, [rdi + 5]
call fcn.14001c1e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CreateService_failed_w_err_0x_08lx_n
call fcn.140001b90
jmp 0x140010c38
call fcn.1400023d0
mov rcx, rax
mov qword [rsp + 0x20], rbp
lea r9, str._s_is_installed.
mov edx, 3
lea r8, str.InstallService
call fcn.14001c1e0
mov rdx, rbp
lea rcx, str._s_is_installed._n
call fcn.140001b90
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rbp, qword [rsp + 0x4c0]
test rdi, rdi
je 0x140010c57
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rdi, qword [rsp + 0x4d0]
mov rsi, qword [rsp + 0x4c8]
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.14001da60
add rsp, 0x4b0
pop rbx
ret