Function at 0x467b30
Capabilities:
Create service
Modify service
Start service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x54], 0
push 2
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x467b5c
xor al, al
jmp 0x467d2b
push 0x10
mov ecx, dword [ebp - 4]
add ecx, 0x34
call fcn.0046da70
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x467c1f
push 1
mov edx, dword [ebp - 4]
add edx, 4
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x4c]
push eax
mov ecx, dword [ebp - 4]
call fcn.00469a80
movzx ecx, al
test ecx, ecx
je 0x467bb0
mov edx, dword [ebp - 4]
mov byte [edx + 0x57], 1
jmp 0x467bb7
mov eax, dword [ebp - 4]
mov byte [eax + 0x57], 0
mov ecx, dword [ebp - 4]
add ecx, 4
call fcn.0046da70
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 4]
add ecx, 0x34
call fcn.0046da70
mov dword [ebp - 0x18], eax
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x14]
push ecx
push 0
push 3
push 1
push 0x10
push 0x5d7391
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x467c16
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor al, al
jmp 0x467d2b
mov edx, dword [ebp - 4]
mov byte [edx + 0x55], 0
jmp 0x467c26
mov eax, dword [ebp - 4]
mov byte [eax + 0x55], 1
push 0
push 0
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_StartServiceA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x467d15
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x422
jne 0x467d15
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push 0x12
mov ecx, dword [ebp - 4]
add ecx, 0x34
call fcn.0046da70
push eax
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 3
push 0xffffffffffffffff
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigA]
mov dword [ebp - 0x2c], eax
push str.GLE_
mov edx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push edx
call fcn.0044a610
add esp, 8
mov dword [ebp - 0x1c], eax
push 0x46e7f0
mov ecx, dword [ebp - 0x1c]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov dword [ebp - 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x24]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
mov dword [ebp - 0x28], eax
push 0x454220
mov ecx, dword [ebp - 0x28]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
nop
cmp dword [ebp - 0x2c], 0
je 0x467d15
push 0
push 0
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_StartServiceA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x467d0e
mov edx, dword [ebp - 4]
mov byte [edx + 0x56], 1
jmp 0x467d15
mov eax, dword [ebp - 4]
mov byte [eax + 0x56], 0
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov al, 1
mov esp, ebp
pop ebp
ret