Function at 0x10040e0c
Capabilities:
Start service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push edi
mov edi, ecx
cmp dword [edi], 0
je 0x10040fea
push ebx
push esi
push dword [edi]
xor ebx, ebx
push ebx
push dword [edi + 4]
call fcn.10026d5b
push dword [edi + 4]
call fcn.10055df2
mov dword [ebp - 8], 0x2121f90e
add esp, 0x10
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 0x14], 0x197e
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x10], ebx
jmp 0x10040e67
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x24], 0x720b963a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10040e59
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], 0xffff
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x14], ebx
jne 0x10040e94
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
neg ecx
sbb ecx, ecx
add ecx, 0xfffffff9
mov dword [ebp - 0x18], ecx
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10040ec2
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_FlashWindow]
mov dword [edi + 4], ebx
xor esi, esi
mov dword [ebp - 8], 0xf2c29a3d
inc esi
mov dword [ebp - 0x14], 0xd3f46721
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x10], ebx
jmp 0x10040ef7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc], 0xaf1124f0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10040ee9
mov dword [ebp - 8], ebx
jmp 0x10040f3a
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0x1c], 0xfffffffa
cmp dword [ebp - 0x14], ebx
jne 0x10040f3f
cmp dword [ebp - 0x10], ebx
jne 0x10040f1f
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jle 0x10040f01
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, 0x2c6eb81f
setg cl
dec ecx
cmp ecx, dword [ebp - 8]
jg 0x10040f70
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10040fe6
push ebx
push 0x1dd0
push ebx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
jmp 0x10040fe6
mov dword [ebp - 0x18], 0x50190031
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x10040f91
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x30], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10040f83
cmp dword [ebp - 0x14], ebx
je 0x10040fdb
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 0x18], 0x870c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
sub edx, 0x101e
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], esi
sbb eax, eax
inc eax
add eax, 0x4adcf861
jne 0x10040fdd
mov esi, ebx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
pop esi
mov dword [edi], ebx
pop ebx
pop edi
mov esp, ebp
pop ebp
ret