Function at 0x43dee4
Capabilities:
Query service status
Start service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa0
push ebx
push esi
push edi
mov dword [ebp - 0x30], eax
mov eax, 0x5b7a44
call fcn.0057c5c8
xor edx, edx
mov dword [ebp - 0x34], edx
xor ecx, ecx
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x3c], eax
mov word [ebp - 0x1c], 8
push 0xf003f
push 0
push 0
call sub.advapi32.dll_OpenSCManagerA
mov dword [ebp - 0x34], eax
call fcn.0042e0fc
test al, al
je 0x43df50
call fcn.0042e37c
test al, al
jne 0x43df3b
call fcn.0042e42c
test al, al
je 0x43df50
push 0xf01ff
push 0x5b55cb
push dword [ebp - 0x34]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x38], eax
call fcn.0042e0fc
test al, al
je 0x43df82
call fcn.0042e3d4
test al, al
jne 0x43df6b
call fcn.0042e484
test al, al
je 0x43df82
push 0xf01ff
push 0x5b55d9
push dword [ebp - 0x34]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x38], eax
jmp 0x43df97
push 0xf01ff
push 0x5b55e8
push dword [ebp - 0x34]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x43dff4
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x424
jne 0x43dfc8
push 0x10
mov ecx, 0x5b5624
mov edx, 0x5b55f5
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
jmp 0x43dfe0
push 0x10
mov ecx, 0x5b5664
mov edx, 0x5b5629
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
xor edx, edx
mov dword [ebp - 0x10], edx
lea ecx, [ebp - 0x2c]
push ecx
call sub.CC3260MT.DLL___Return_unwind
pop ecx
jmp 0x43e224
push 0
push 0
push dword [ebp - 0x38]
call sub.advapi32.dll_StartServiceA
test eax, eax
jne 0x43e07f
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x41d
jne 0x43e04a
push 0x10
mov ecx, 0x5b568b
mov edx, 0x5b5669
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
xor edx, edx
mov dword [ebp - 0x10], edx
lea ecx, [ebp - 0x2c]
push ecx
call sub.CC3260MT.DLL___Return_unwind
pop ecx
jmp 0x43e224
cmp dword [ebp - 0x40], 0x420
je 0x43e07f
push 0x10
mov ecx, 0x5b56d5
mov edx, 0x5b5690
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
xor edx, edx
mov dword [ebp - 0x10], edx
lea ecx, [ebp - 0x2c]
push ecx
call sub.CC3260MT.DLL___Return_unwind
pop ecx
jmp 0x43e224
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x488], 0
je 0x43e11f
xor edx, edx
mov eax, dword [sym.SDERPServer.exe__ServerMainForm]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov word [ebp - 0x1c], 0x14
mov edx, dword [sym.imp.vcl60.bpl__Forms_Application]
mov ecx, dword [edx]
mov dl, 1
mov eax, dword [0x5c46d8]
call fcn.00463378
mov dword [ebp - 0x44], eax
mov word [ebp - 0x1c], 0x14
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx + 0xe8]
dec eax
jne 0x43e0d6
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x488], 0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43e103
mov edx, dword [ebp - 8]
mov ecx, dword [edx]
mov dword [ebp - 4], ecx
mov word [ebp - 0x1c], 0x2c
mov edx, 3
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x1c], 0x20
mov word [ebp - 0x1c], 8
mov dl, 1
mov eax, dword [sym.SDERPServer.exe__ServerMainForm]
mov ecx, dword [eax]
call dword [ecx + 0x64]
cmp word [ebp - 0x1a], 0
je 0x43e129
ret
push 0xbb8
call sub.kernel32.dll_Sleep
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x38]
call sub.advapi32.dll_QueryServiceStatus
cmp dword [ebp - 0x5c], 4
jne 0x43e1d2
mov dl, 1
mov eax, dword [ebp - 0x30]
call fcn.0043d924
mov eax, dword [ebp - 0x30]
call fcn.0044e808
test al, al
je 0x43e1e2
push 0xf01ff
push 0x5b56da
push dword [ebp - 0x34]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x43e1e2
push 0
push 0
push dword [ebp - 0x3c]
call sub.advapi32.dll_StartServiceA
test eax, eax
jne 0x43e1e2
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x41d
jne 0x43e1af
push 0x10
mov ecx, 0x5b5702
mov edx, 0x5b56e9
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
jmp 0x43e1e2
cmp dword [ebp - 0x40], 0x420
je 0x43e1e2
push 0x10
mov ecx, 0x5b5753
mov edx, 0x5b5707
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
jmp 0x43e1e2
cmp dword [ebp - 0x5c], 1
jne 0x43e1e2
xor edx, edx
mov eax, dword [ebp - 0x30]
call fcn.0043d924
mov word [ebp - 0x1c], 0
cmp dword [ebp - 0x38], 0
je 0x43e1f6
push dword [ebp - 0x38]
call sub.advapi32.dll_CloseServiceHandle
cmp dword [ebp - 0x34], 0
je 0x43e204
push dword [ebp - 0x34]
call sub.advapi32.dll_CloseServiceHandle
cmp dword [ebp - 0x3c], 0
je 0x43e212
push dword [ebp - 0x3c]
call sub.advapi32.dll_CloseServiceHandle
cmp word [ebp - 0x1a], 0
je 0x43e21a
ret
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
mov edi, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x64]
mov esp, ebp
pop ebp
ret