Function at 0x10007570
Capabilities:
Create service

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10019028
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0
lea ecx, [esp + 0x44]
mov dword [esp + 0x18], 0x10
call fcn.1000dd80
push 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x60], 0
call fcn.1000dd80
push 0
lea ecx, [esp + 0x24]
mov byte [esp + 0x60], 1
call fcn.1000dd80
push 0
lea ecx, [esp + 0x34]
mov byte [esp + 0x60], 2
call fcn.1000dd80
push 0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x60], 3
call fcn.1000dd80
mov eax, dword [esi + 0x20]
test eax, eax
mov bl, 4
mov byte [esp + 0x5c], bl
je 0x100075ff
mov dword [esp + 0x14], 0x110
lea edi, [esi + 0x24]
push str.LocalSystem
mov ecx, edi
call fcn.1000dc80
test eax, eax
jne 0x1000762c
push edi
lea ecx, [esp + 0x24]
call fcn.1000e0f0
push 0x1001a3f4
lea ecx, [esp + 0x34]
call fcn.1000dfa0
jmp 0x10007684
push 0
push 0
push 0x5c
mov ecx, edi
call fcn.1000dcd0
test eax, eax
push edi
jne 0x1000766e
lea eax, [esp + 0x1c]
push 0x1001a4ec
push eax
call fcn.1000e2c0
add esp, 0xc
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x60], 5
call fcn.1000e0f0
lea ecx, [esp + 0x18]
mov byte [esp + 0x5c], bl
call fcn.1000d8c0
jmp 0x10007677
lea ecx, [esp + 0x24]
call fcn.1000e0f0
lea ecx, [esi + 0x2c]
push ecx
lea ecx, [esp + 0x34]
call fcn.1000e0f0
push str.__hv
lea edx, [esi + 0x10]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.1000e1e0
lea ebp, [esi + 0x34]
push ebp
push eax
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0x74], 6
call fcn.1000e100
add esp, 0x18
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x60], 7
call fcn.1000e0f0
lea ecx, [esp + 0x18]
mov byte [esp + 0x5c], 6
call fcn.1000d8c0
lea ecx, [esp + 0x48]
mov byte [esp + 0x5c], bl
call fcn.1000d8c0
push 2
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov edi, eax
test edi, edi
je 0x10007822
mov edx, dword [esi + 8]
push edx
sub esp, 8
mov ecx, esp
mov dword [esp + 0x24], esp
push esi
call fcn.1000ddc0
lea eax, [esp + 0x54]
push eax
call fcn.10005d70
add esp, 0x10
push eax
mov ecx, ebp
mov byte [esp + 0x60], 8
call fcn.1000e0f0
lea ecx, [esp + 0x48]
mov byte [esp + 0x5c], bl
call fcn.1000d8c0
mov eax, dword [esi + 8]
cmp eax, 0xa
push esi
jne 0x1000774a
lea ecx, [esp + 0x4c]
push str.Adaptive_Server_IQ__
push ecx
call fcn.1000e2c0
add esp, 0xc
mov byte [esp + 0x5c], 9
jmp 0x1000777f
cmp eax, 9
jne 0x10007768
lea edx, [esp + 0x4c]
push str.MobiLink_Synchronization__
push edx
call fcn.1000e2c0
add esp, 0xc
mov byte [esp + 0x5c], 0xa
jmp 0x1000777f
lea eax, [esp + 0x4c]
push str.Adaptive_Server_Anywhere__
push eax
call fcn.1000e2c0
add esp, 0xc
mov byte [esp + 0x5c], 0xb
lea ecx, [esp + 0x28]
push eax
call fcn.1000e0f0
lea ecx, [esp + 0x48]
mov byte [esp + 0x5c], bl
call fcn.1000d8c0
lea ecx, [esp + 0x48]
push ecx
mov ecx, esi
call fcn.10006290
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x60], 0xc
call fcn.1000e0f0
lea ecx, [esp + 0x48]
mov byte [esp + 0x5c], bl
call fcn.1000d8c0
lea ecx, [esp + 0x30]
call fcn.1000dd60
push eax
lea ecx, [esp + 0x24]
call fcn.1000dd60
push eax
push 0
push 0
lea ecx, [esp + 0x48]
call fcn.1000dd60
push eax
lea ecx, [esp + 0x54]
call fcn.1000dd60
mov edx, dword [esi + 0xc]
push eax
mov eax, dword [esp + 0x2c]
push 1
push edx
push eax
push 0xf01ff
lea ecx, [esp + 0x50]
call fcn.1000dd60
push eax
mov ecx, ebp
call fcn.1000dd60
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ebp, eax
call edi
test ebp, ebp
jne 0x10007880
lea ecx, [esp + 0x38]
mov byte [esp + 0x5c], 3
call fcn.1000d8c0
lea ecx, [esp + 0x30]
mov byte [esp + 0x5c], 2
call fcn.1000d8c0
lea ecx, [esp + 0x20]
mov byte [esp + 0x5c], 1
call fcn.1000d8c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x5c], 0
call fcn.1000d8c0
lea ecx, [esp + 0x40]
mov dword [esp + 0x5c], 0xffffffff
call fcn.1000d8c0
xor eax, eax
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebp
call edi
mov ecx, esi
call fcn.10006a10
mov ecx, esi
call fcn.100064f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x5c], 3
call fcn.1000d8c0
lea ecx, [esp + 0x30]
mov byte [esp + 0x5c], 2
call fcn.1000d8c0
lea ecx, [esp + 0x20]
mov byte [esp + 0x5c], 1
call fcn.1000d8c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x5c], 0
call fcn.1000d8c0
lea ecx, [esp + 0x40]
mov dword [esp + 0x5c], 0xffffffff
call fcn.1000d8c0
mov ecx, dword [esp + 0x54]
pop edi
mov eax, 1
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret