Function at 0x420f90
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push esi
push ebx
mov esi, ecx
sub esp, 0x44
mov ebx, dword [ecx + 0x7c]
test ebx, ebx
je 0x4211d0
lea eax, [esp + 0x24]
mov ecx, esi
mov dword [esp], eax
call fcn.0041ea10
sub esp, 4
test eax, eax
mov ebx, eax
je 0x421165
mov eax, dword [esp + 0x24]
sub eax, 3
cmp eax, 1
jbe 0x4210e1
mov ecx, esi
call fcn.00420ab0
test eax, eax
mov ebx, eax
jne 0x421060
call fcn.0042c430
lea edx, [esp + 0x28]
lea esi, [esp + 0x30]
mov ecx, 0x6563
mov dword [esp + 0x10], str.Start_service_fail
mov dword [esp + 0xc], 0xb1
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], 0x72617453
mov dword [esp + 0x34], 0x53707574
mov dword [esp + 0x38], 0x69767265
mov word [esp + 0x3c], cx
mov dword [esp + 0x2c], 0xe
mov byte [esp + 0x3e], 0
call fcn.0042ce70
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x421052
mov dword [esp], eax
call fcn.004ed8c0
add esp, 0x44
mov eax, ebx
pop ebx
pop esi
ret
call fcn.0042c430
lea edx, [esp + 0x28]
lea esi, [esp + 0x30]
mov ecx, 0x6563
mov dword [esp + 0x10], str.Startup_service_exit
mov dword [esp + 0xc], 0xb5
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], 0x72617453
mov dword [esp + 0x34], 0x53707574
mov dword [esp + 0x38], 0x69767265
mov word [esp + 0x3c], cx
mov dword [esp + 0x2c], 0xe
mov byte [esp + 0x3e], 0
call fcn.0042ce70
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x4210d4
mov dword [esp], eax
call fcn.004ed8c0
mov ebx, 1
add esp, 0x44
mov eax, ebx
pop ebx
pop esi
ret
mov dword [esp], 2
mov ecx, esi
call fcn.00420100
sub esp, 4
test eax, eax
mov ebx, eax
jne 0x420fcd
call fcn.0042c430
lea edx, [esp + 0x28]
lea esi, [esp + 0x30]
mov ecx, 0x6563
mov dword [esp + 0x10], str.Change_starting_type_fail
mov dword [esp + 0xc], 0xab
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], 0x72617453
mov dword [esp + 0x34], 0x53707574
mov dword [esp + 0x38], 0x69767265
mov word [esp + 0x3c], cx
mov dword [esp + 0x2c], 0xe
mov byte [esp + 0x3e], 0
call fcn.0042ce70
jmp 0x421042
call fcn.0042c430
lea edx, [esp + 0x28]
lea esi, [esp + 0x30]
mov ecx, 0x6563
mov dword [esp + 0x10], str.Query_services_start_type_fail
mov dword [esp + 0xc], 0xa4
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], 0x72617453
mov dword [esp + 0x34], 0x53707574
mov dword [esp + 0x38], 0x69767265
mov word [esp + 0x3c], cx
mov dword [esp + 0x2c], 0xe
mov byte [esp + 0x3e], 0
call fcn.0042ce70
jmp 0x421042
mov eax, dword [0x5510cc]
mov dword [esp + 8], 0xf01ff
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x78]
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
sub esp, 0xc
test eax, eax
mov dword [esi + 0x7c], eax
jne 0x420fa2
call fcn.0042c430
mov ebx, eax
lea esi, [esp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x18], eax
mov eax, dword [0x5510cc]
lea edx, [esp + 0x28]
mov ecx, 0x6563
mov dword [esp + 0x10], str.Couldnt_open_service__s.ErrorCode:_d
mov dword [esp + 0xc], 0x9d
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp + 0x14], eax
mov dword [esp], ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], 0x72617453
mov dword [esp + 0x34], 0x53707574
mov dword [esp + 0x38], 0x69767265
mov word [esp + 0x3c], cx
mov dword [esp + 0x2c], 0xe
mov byte [esp + 0x3e], 0
call fcn.0042ce70
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x421284
mov dword [esp], eax
call fcn.004ed8c0
xor ebx, ebx
jmp 0x421052