Function at 0x1003fe5
Capabilities:
Accept command line arguments
Query service status

Disassembly:
push 0x44
mov eax, 0x1017249
call fcn.010020eb
jmp 0x1006f1c
call dword [sym.imp.wbemcomn.dll_public:_static_int___stdcall_CStaticCritSec::anyFailure_void_]
test eax, eax
jne 0x1006f30
mov ecx, 0x101f060
call fcn.01004fa9
cmp eax, esi
mov dword [ebp - 0x20], eax
jl 0x1004069
mov esi, 0x1004054
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
mov ecx, 0x101f060
movsw word es:[edi], word [esi]
call fcn.01003bcd
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x20], eax
jl 0x1004069
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x1c]
push ecx
push eax
call fcn.01003435
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringW]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], edi
jmp 0x1006f38
mov ecx, 0x101f060
call fcn.01004076
jmp 0x1006feb
mov eax, dword [ebp - 0x20]
jmp 0x10070f8
mov dword [ebp - 0x2c], esi
push 5
push dword [0x101f1d0]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov ebx, eax
xor edi, edi
mov dword [ebp - 0x28], ebx
cmp ebx, edi
je 0x1007050
mov esi, dword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
lea eax, [ebp - 0x24]
push eax
push edi
push edi
push ebx
mov dword [ebp - 0x24], edi
call esi
test eax, eax
jne 0x1004b12
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1004b12
push dword [ebp - 0x24]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
je 0x1004b12
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x24]
push edi
push ebx
call esi
test eax, eax
je 0x1004b12
xor eax, eax
cmp dword [edi + 4], 3
sete al
mov dword [0x101f0ac], eax
push edi
mov dword [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp - 0x50]
push eax
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
jmp 0x1007008
cmp dword [ebp - 0x4c], 4
je 0x100703b
mov ecx, 0x101f0f8
call fcn.01004b4e
jmp 0x1007012
mov ecx, 0x101f0f8
call fcn.01002daf
mov esi, 0x1005530
mov dword [ebp - 0x34], esi
push 0xf003f
push edi
push edi
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
jmp 0x1006ff8
xor esi, esi
push esi
push esi
xor ebx, ebx
inc ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
jmp 0x1003ff6
push 8
pop eax
jmp 0x10070f8
mov dword [ebp - 0x28], eax
cmp eax, edi
je 0x1006fdd
cmp dword [ebp - 0x24], edi
je 0x10070d0
or edi, 0xffffffff
push edi
push 0x1007130
push edi
push eax
push ebx
push 0x7f
call esi
cmp eax, 2
jne 0x1006f8d
push ebx
mov ecx, 0x101f0f8
call fcn.01009e39
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x20], eax
jl 0x1006f88
mov ecx, dword [0x101f08c]
push ebx
push edi
call fcn.0100ad6e
push edi
call fcn.010096a2
mov dword [ebp - 0x24], edi
jmp 0x1006fca
push edi
push 0x100711c
push edi
push dword [ebp - 0x28]
push ebx
push 0x7f
call esi
cmp eax, 2
jne 0x1006fca
mov ecx, 0x101f0f8
call fcn.0100a024
mov dword [ebp - 0x20], eax
test eax, eax
jl 0x1006fc6
push ebx
call fcn.010096a2
mov ecx, dword [0x101f08c]
push edi
push 0
call fcn.0100ad6e
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x28]
call fcn.01003435
xor edi, edi
jmp 0x1006f38
cmp dword [ebp - 0x24], edi
jne 0x100405a
jmp 0x10070d0
cmp eax, edi
je 0x1005505
jmp 0x1007100
mov dword [ebp - 0x30], eax
cmp eax, edi
jne 0x1004aa2
jmp 0x1007092
test eax, eax
jne 0x1004b30
jmp 0x1007044
test eax, eax
jne 0x1007086
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
test eax, eax
jle 0x100702e
and ecx, 0xffff
or ecx, 0x80070000
test ecx, ecx
jl 0x100704a
mov dword [ebp - 0x20], 0x80070015
jmp 0x1007086
mov dword [ebp - 0x20], 0x800700b7
jmp 0x1007086
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x100707a
jmp 0x1007070
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
mov ecx, eax
jle 0x1007068
and ecx, 0xffff
or ecx, 0x80070000
cmp ecx, edi
jge 0x100707f
cmp eax, edi
jle 0x100707a
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x20], eax
jmp 0x1007086
mov dword [ebp - 0x20], 0x80004005
lea ecx, [ebp - 0x2c]
call fcn.010098a1
xor edi, edi
jmp 0x10070c8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
mov ecx, eax
jle 0x10070aa
and ecx, 0xffff
or ecx, 0x80070000
cmp ecx, edi
jge 0x10070c1
cmp eax, edi
jle 0x10070bc
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x20], eax
jmp 0x10070c8
mov dword [ebp - 0x20], 0x80004005
lea ecx, [ebp - 0x34]
call fcn.010098a1
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], edi
jl 0x10070e9
mov ecx, 0x101f0f8
call fcn.01009d1b
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x20], eax
mov ecx, 0x101f060
call sym.WmiApSrv.exe_public:_void___cdecl_CHString::Format_unsigned_int_
jmp 0x1004069
call fcn.01001ecf
ret 0x10
mov dword [ebp - 0x20], 0x800700b7
jmp 0x10070d0