Function at 0x447110
Capabilities:
Create service
Modify service

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x447118
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x44752c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x447548
mov dl, 3
call fcn.00405dc0
xor eax, eax
push ebp
push 0x44750a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, ebx
mov eax, dword [ebp - 0x20]
call fcn.00448d64
lea eax, [ebp - 4]
push eax
xor ecx, ecx
mov edx, 0x447574
mov eax, ebx
call fcn.0043efec
push 0x447598
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
mov dl, 3
call fcn.004065f0
cmp dword [ebp - 4], 0
jne 0x4471aa
call sub.rtl160.bpl__System__TryFinallyExit_qqrv
jmp 0x447511
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x4475c0
mov dl, 3
call fcn.00405c78
push 2
push 0
push 0
call sub.advapi32.dll_OpenSCManagerW
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4471e9
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.0044617c
xor eax, eax
push ebp
push 0x4474d6
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0x3e8
mov edx, 0x4475e4
mov eax, ebx
call fcn.0043ef78
mov esi, eax
mov ecx, 0x3e8
mov edx, 0x447608
mov eax, ebx
call fcn.0043ef78
mov edi, eax
mov ecx, 0x3e8
mov edx, 0x447638
mov eax, ebx
call fcn.0043ef78
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 8]
push eax
xor ecx, ecx
mov edx, 0x44766c
mov eax, ebx
call fcn.0043efec
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x447698
mov eax, ebx
call fcn.0043efec
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 0x4476c8
mov eax, ebx
call fcn.0043efec
lea eax, [ebp - 0x14]
push eax
xor ecx, ecx
mov edx, 0x4476fc
mov eax, ebx
call fcn.0043efec
lea eax, [ebp - 0x18]
push eax
xor ecx, ecx
mov edx, 0x44772c
mov eax, ebx
call fcn.0043efec
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov edx, 0x447760
mov eax, ebx
call fcn.0043efec
mov ecx, 0x3e8
mov edx, 0x447794
mov eax, ebx
call fcn.0043ef78
mov ebx, eax
push esi
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x4475e4
mov dl, 3
call fcn.00406458
push edi
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x4477bc
mov dl, 3
call fcn.00406458
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x4477dc
mov dl, 3
call fcn.00406458
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x4477fc
mov dl, 3
call fcn.004065f0
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x44781c
mov dl, 3
call fcn.004065f0
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x447840
mov dl, 3
call fcn.004065f0
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x447868
mov dl, 3
call fcn.004065f0
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x447888
mov dl, 3
call fcn.004065f0
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x4478ac
mov dl, 3
call fcn.004065f0
push ebx
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x447794
mov dl, 3
call fcn.00406458
mov eax, dword [ebp - 0x20]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x461c8c]
mov eax, dword [eax]
mov ecx, 0x4478d0
mov dl, 3
call fcn.00405c78
push 0
mov eax, dword [ebp - 0x14]
call sub.rtl160.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
call fcn.00449590
push eax
push 0
mov eax, dword [ebp - 0xc]
call sub.rtl160.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
mov eax, dword [ebp - 0x2c]
push eax
push edi
push esi
push 0xf01ff
mov eax, dword [ebp - 0x18]
call sub.rtl160.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
mov eax, dword [ebp - 4]
call sub.rtl160.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.advapi32.dll_CreateServiceW
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x44746c
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.0044617c
xor eax, eax
push ebp
push 0x4474b8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
call sub.rtl160.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
push 1
mov eax, dword [ebp - 0x28]
push eax
call sub.advapi32.dll_ChangeServiceConfig2W
mov ecx, ebx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
call fcn.00446ac4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4474bf
mov eax, dword [ebp - 0x28]
push eax
call sub.advapi32.dll_CloseServiceHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x447533
lea eax, [ebp - 0x1c]
mov edx, 7
call sub.rtl160.bpl__System__UStrArrayClr_qqrpvi
ret