Function at 0x43b6a0
Capabilities:
Create service

Disassembly:
mov r11, rsp
sub rsp, 0xaa8
mov rax, qword [0x006443a8]
xor rax, rsp
mov qword [rsp + 0xa80], rax
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov qword [r11 - 8], rdi
mov qword [r11 - 0x10], r12
mov r12, rcx
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0xf003f
mov ebp, ebx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
lea edi, [rbx + 1]
test rax, rax
mov rsi, rax
je 0x43b724
lea rdx, [r12 + 0x68]
mov r8d, edi
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
je 0x43b713
mov rcx, rax
mov ebp, edi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test ebp, ebp
jne 0x43b987
lea rdx, [rsp + 0x72]
mov r8d, 0x104
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
mov r11d, eax
je 0x43b83f
cmp eax, 0x104
je 0x43b83f
add eax, edi
mov word [rsp + 0x70], SafeArrayAllocDescriptorEx
xor edx, edx
mov word [rsp + rax*2 + 0x70], SafeArrayAllocDescriptorEx
lea eax, [r11 + 2]
xor ecx, ecx
mov r8d, 0xf003f
mov word [rsp + rax*2 + 0x70], bx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test rax, rax
mov rsi, rax
jne 0x43b881
lea rcx, [0x00648260]
xor edx, edx
call fcn.0053cb10
test rax, rax
je 0x43b7d5
test ebx, ebx
jne 0x43b827
lea r8, [rsp + 0x280]
mov r9d, 0x400
mov edx, 0xd80a
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
lea rcx, [0x00648260]
mov edx, edi
mov ebx, eax
call fcn.0053cb10
add edi, 1
test rax, rax
jne 0x43b795
test ebx, ebx
jne 0x43b827
lea r8, str.Could_not_open_Service_Manager
lea rcx, [rsp + 0x280]
mov edx, 0x400
call fcn.0056ad50
test eax, eax
je 0x43b827
cmp eax, 0xc
je 0x43b81c
cmp eax, 0x16
je 0x43b811
cmp eax, 0x22
je 0x43b811
cmp eax, 0x50
je 0x43b827
mov ecx, 0x80004005
call fcn.00401020
int3
mov ecx, 0x80070057
call fcn.00401020
int3
mov ecx, 0x8007000e
call fcn.00401020
int3
lea r8, [r12 + 0x68]
lea rdx, [rsp + 0x280]
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
mov r12, qword [rsp + 0xa98]
mov rdi, qword [rsp + 0xaa0]
mov rsi, qword [rsp + 0xac8]
mov rbp, qword [rsp + 0xac0]
mov rbx, qword [rsp + 0xab8]
mov rcx, qword [rsp + 0xa80]
xor rcx, rsp
call fcn.00568fb0
add rsp, 0xaa8
ret
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
lea rax, str.RPCSS
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x70]
lea r8, [r12 + 0x68]
lea rdx, [r12 + 0x68]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], edi
mov r9d, 0xf01ff
mov rcx, rsi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
test rax, rax
jne 0x43b975
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rdx, [rsp + 0x280]
mov r8d, 0x400
mov ecx, 0xd80b
call fcn.0043b2f0
test eax, eax
jne 0x43b958
lea r8, str.Could_not_start_service
lea rcx, [rsp + 0x280]
mov edx, 0x400
call fcn.0056ad50
test eax, eax
je 0x43b958
cmp eax, 0xc
je 0x43b94d
cmp eax, 0x16
je 0x43b942
cmp eax, 0x22
je 0x43b942
cmp eax, 0x50
je 0x43b958
mov ecx, 0x80004005
call fcn.00401020
int3
mov ecx, 0x80070057
call fcn.00401020
int3
mov ecx, 0x8007000e
call fcn.00401020
int3
lea r8, [r12 + 0x68]
lea rdx, [rsp + 0x280]
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x43b83f
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, edi
jmp 0x43b841