Function at 0x100488da
Capabilities:
Start service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
push esi
mov dword [ebp - 0x1c], 9
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x14], 4
push edi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0xc], ebx
jmp 0x1004890b
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x30], 0x55bb2c21
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x100488fd
mov dword [ebp - 0xc], ebx
jmp 0x10048924
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 8], 0x36432a27
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 1
jl 0x10048916
mov dword [ebp - 8], ebx
jmp 0x10048950
mov dword [ebp - 0x20], 9
xor ecx, ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x30]
test eax, eax
sete cl
imul eax, ecx, 0x8bd4
mov dword [ebp - 0x20], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 1
jle 0x1004892f
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0x18
je 0x10048b18
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x10], ebx
jmp 0x10048afe
mov dword [ebp - 0x18], 0xdbdf7cd9
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10048990
call edi
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov dword [ebp - 0x18], 0xffffffeb
jmp 0x10048af1
mov dword [ebp - 0xc], 0xf885ea6e
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0xc], ebx
jmp 0x10048ae5
mov eax, dword [ebp - 0xc]
cmp dword [ebp + eax*4 - 8], ebx
je 0x10048a34
mov dword [ebp - 0x14], ebx
jmp 0x100489ce
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100489c0
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp + eax*4 - 8]
add eax, ecx
xor ecx, ecx
cmp eax, 0x62c5d177
setl cl
sub ecx, 0x4c266d8f
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 9
setl al
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
cmp dword [ebp + eax*4 - 8], ebx
jne 0x10048a1d
cmp dword [ebp - 0x10], ebx
jne 0x10048a1d
mov ecx, ebx
jmp 0x10048a20
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x10]
add eax, ecx
xor ecx, ecx
cmp eax, 0x8db3
setl cl
mov dword [ebp - 0x14], ecx
jmp 0x10048aaa
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x10]
inc eax
je 0x10048a4b
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0xffffffff
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
neg esi
sbb esi, esi
xor edx, edx
neg esi
mov ecx, dword [ebp + eax*4 - 8]
mov eax, dword [ebp - 0x18]
sub esi, eax
mov eax, dword [ebp - 0xc]
cmp esi, ecx
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 8]
cmp edx, eax
setge cl
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp - 0x14]
imul esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp ecx, eax
setne dl
add edx, esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], 0xf
jmp 0x10048adc
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10048ad6
push ebx
push 0x17cb
push 0x1e68
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jge 0x10048ab3
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jle 0x100489b2
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe4
je 0x1004899c
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffea
jg 0x10048978
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x18
jne 0x10048969
mov esi, dword [ebp - 0x28]
push esi
push 1
push 0x719c
call fcn.10042289
xor edi, edi
mov eax, 0x4bda99da
inc edi
add esp, 0xc
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], 0xcc72b752
mov dword [ebp - 0x20], 0x659baaa4
mov dword [ebp - 0x28], 0xde8aff65
mov dword [ebp - 0x10], 0xffffffee
cmp dword [ebp - 0x10], 0xfffffffa
jle 0x10048c4a
mov dword [ebp - 0x20], 0xd1cb6a7f
mov dword [ebp - 0x18], 0xa6ebbfad
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10048b90
push ebx
push 0xf70
push ebx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
sub eax, 0xc4e2bf5
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
je 0x10048baf
mov eax, edi
cmp dword [ebp - 0x20], ebx
jne 0x10048bb1
mov eax, ebx
xor ecx, ecx
cmp eax, 0xffff
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, eax
setle dl
xor eax, eax
add edx, dword [ebp - 0x1c]
cmp edx, 0x703a
setle al
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
add eax, ecx
cmp eax, 0x1054d814
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
je 0x10048c01
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x10]
push 0
cmp eax, 0xfffffffb
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sete dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle bl
sub ebx, 2
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, eax
pop ebx
setge cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffa
jg 0x10048b6c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x10]
imul eax, eax, 0x9a1d
test eax, eax
jne 0x10048c69
cmp dword [ebp - 0x20], 0xa486
jg 0x10048c6b
mov ebx, edi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x40]
push esi
setl cl
xor edx, edx
cmp ecx, 0x7d8169b4
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp ecx, 0xffffffff
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x14], ecx
call fcn.1002eafd
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret