Function at 0x43da94
Capabilities:
Query service configuration
Query service status
Start service
Stop service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff64
push ebx
push esi
push edi
mov dword [ebp - 0x28], eax
mov eax, 0x5b7a20
call fcn.0057c5c8
xor edx, edx
mov dword [ebp - 0x2c], edx
xor ecx, ecx
mov dword [ebp - 0x30], ecx
xor eax, eax
mov dword [ebp - 0x34], eax
mov word [ebp - 0x14], 8
push 0xf003f
push 0
push 0
call sub.advapi32.dll_OpenSCManagerA
mov dword [ebp - 0x2c], eax
call fcn.0042e0fc
test al, al
je 0x43db05
call fcn.0042e37c
test al, al
jne 0x43daee
call fcn.0042e42c
test al, al
je 0x43db05
push 0xf01ff
push 0x5b54c3
push dword [ebp - 0x2c]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x30], eax
jmp 0x43db4c
call fcn.0042e0fc
test al, al
je 0x43db37
call fcn.0042e3d4
test al, al
jne 0x43db20
call fcn.0042e484
test al, al
je 0x43db37
push 0xf01ff
push 0x5b54d1
push dword [ebp - 0x2c]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x30], eax
jmp 0x43db4c
push 0xf01ff
push 0x5b54e0
push dword [ebp - 0x2c]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], 0x424
cmp dword [ebp - 0x30], 0
jne 0x43dc59
cmp dword [ebp - 0x38], 0x424
jne 0x43dc45
mov eax, dword [ebp - 0x28]
call fcn.004480e8
test al, al
je 0x43dc25
call fcn.0042e0fc
test al, al
je 0x43dbac
call fcn.0042e37c
test al, al
jne 0x43db95
call fcn.0042e42c
test al, al
je 0x43dbac
push 0xf01ff
push 0x5b54ed
push dword [ebp - 0x2c]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x30], eax
jmp 0x43dbf3
call fcn.0042e0fc
test al, al
je 0x43dbde
call fcn.0042e3d4
test al, al
jne 0x43dbc7
call fcn.0042e484
test al, al
je 0x43dbde
push 0xf01ff
push 0x5b54fb
push dword [ebp - 0x2c]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x30], eax
jmp 0x43dbf3
push 0xf01ff
push 0x5b550a
push dword [ebp - 0x2c]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x43dc59
push 0x10
mov ecx, 0x5b5539
mov edx, 0x5b5517
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
xor edx, edx
mov dword [ebp - 8], edx
lea ecx, [ebp - 0x24]
push ecx
call sub.CC3260MT.DLL___Return_unwind
pop ecx
jmp 0x43decb
xor eax, eax
mov dword [ebp - 8], eax
lea edx, [ebp - 0x24]
push edx
call sub.CC3260MT.DLL___Return_unwind
pop ecx
jmp 0x43decb
xor edx, edx
mov dword [ebp - 8], edx
lea eax, [ebp - 0x24]
push eax
call sub.CC3260MT.DLL___Return_unwind
pop ecx
jmp 0x43decb
lea edx, [ebp - 0x3c]
push edx
push 0x24
lea ecx, [ebp - 0x9c]
push ecx
push dword [ebp - 0x30]
call sub.advapi32.dll_QueryServiceConfigA
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x3d4]
xor ecx, ecx
mov dword [ebp - 0x44], ecx
xor eax, eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x44]
mov dword [edx + 0x120], ecx
mov ecx, dword [ebp - 0x40]
mov dword [edx + 0x124], ecx
cmp dword [ebp - 0x98], 2
jne 0x43dcb1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x3d4]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x43dcc4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x3d4]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x3d4]
mov dword [ebp - 0x4c], 0x44784c
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x4c]
mov dword [edx + 0x120], eax
mov eax, dword [ebp - 0x48]
mov dword [edx + 0x124], eax
lea edx, [ebp - 0x78]
push edx
push dword [ebp - 0x30]
call sub.advapi32.dll_QueryServiceStatus
mov byte [0x5b51e2], 0
cmp dword [ebp - 0x74], 4
jne 0x43dda4
mov dl, 1
mov eax, dword [ebp - 0x28]
call fcn.0043d924
mov eax, dword [ebp - 0x28]
call fcn.0044e808
test al, al
je 0x43dde9
push 0xf01ff
push 0x5b553e
push dword [ebp - 0x2c]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x43dde9
push 0
push 0
push dword [ebp - 0x34]
call sub.advapi32.dll_StartServiceA
test eax, eax
jne 0x43dde9
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x41d
jne 0x43dd81
push 0x10
mov ecx, 0x5b5566
mov edx, 0x5b554d
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
jmp 0x43dde9
cmp dword [ebp - 0x38], 0x420
je 0x43dde9
push 0x10
mov ecx, 0x5b55b7
mov edx, 0x5b556b
mov eax, dword [sym.imp.vcl60.bpl__Forms_Application]
mov eax, dword [eax]
call fcn.0058f760
jmp 0x43dde9
cmp dword [ebp - 0x74], 1
jne 0x43dde9
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0043d924
mov eax, dword [ebp - 0x28]
call fcn.0044e808
test al, al
je 0x43dde9
push 0xf01ff
push 0x5b55bc
push dword [ebp - 0x2c]
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x43dde9
lea edx, [ebp - 0x78]
push edx
push 1
push dword [ebp - 0x34]
call sub.advapi32.dll_ControlService
mov word [ebp - 0x14], 0
mov byte [0x5b51e2], 1
cmp dword [ebp - 0x30], 0
je 0x43de04
push dword [ebp - 0x30]
call sub.advapi32.dll_CloseServiceHandle
cmp dword [ebp - 0x2c], 0
je 0x43de12
push dword [ebp - 0x2c]
call sub.advapi32.dll_CloseServiceHandle
cmp dword [ebp - 0x34], 0
je 0x43de20
push dword [ebp - 0x34]
call sub.advapi32.dll_CloseServiceHandle
cmp word [ebp - 0x12], 0
je 0x43de28
ret
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x3ec]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
je 0x43dec2
mov ecx, dword [0x5eae40]
cmp byte [ecx + 1], 0
je 0x43dec2
mov eax, dword [0x5eae40]
cmp dword [eax + 0x34], 0
jne 0x43dec2
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x3ec]
xor eax, eax
mov dword [ebp - 0x54], eax
xor edx, edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x54]
mov dword [ecx + 0x90], eax
mov eax, dword [ebp - 0x50]
mov dword [ecx + 0x94], eax
push dword [ebp - 0x28]
call fcn.004499fc
pop ecx
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x3ec]
mov dword [ebp - 0x5c], 0x449704
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x5c]
mov dword [ecx + 0x90], edx
mov edx, dword [ebp - 0x58]
mov dword [ecx + 0x94], edx
mov ecx, dword [sym.SDERPServer.exe__DMServer]
push dword [ecx]
call fcn.00437c7c
pop ecx
push dword [ebp - 0x28]
call fcn.004499a4
pop ecx
mov eax, dword [ebp - 0x24]
mov dword fs:[0], eax
mov edi, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xa0]
mov esp, ebp
pop ebp
ret