Function at 0x1004dfba
Capabilities:
Start service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10083488
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1f8
push esi
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x1004e1e8
mov dword [ebp - 0x24], 1
push 1
lea ecx, [ebp - 0x148]
call fcn.10015f8b
and dword [ebp - 4], 0
mov dword [ebp - 0xc4], 0xffffffff
mov dword [ebp - 0x44], 0
jmp 0x1004e017
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 1
jge 0x1004e033
push dword [ebp - 0x44]
lea ecx, [ebp - 0x148]
call fcn.10015ff8
mov dword [eax], 1
jmp 0x1004e010
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x24], 0xffffffff
jl 0x1004e060
mov dword [ebp - 0xb4], 1
jmp 0x1004e067
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0xb4], eax
je 0x1004e07b
mov dword [ebp - 0x80], 1
jmp 0x1004e07f
and dword [ebp - 0x80], 0
mov esi, dword [ebp - 0x24]
add esi, dword [ebp - 0x80]
push 0
lea ecx, [ebp - 0x148]
call fcn.10015ff8
sub esi, dword [eax]
mov dword [ebp - 0xc4], esi
mov byte [ebp - 0x1c], 0
movzx eax, byte [ebp - 0x1c]
test eax, eax
je 0x1004e0b5
push 0
push 0x183d
push 0
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.10015ff3
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x2c], 0xa87013dc
mov dword [ebp - 0x16c], 0xf6f08421
mov dword [ebp - 0x174], 0xfffffff9
mov dword [ebp - 0x17c], 0xd594d035
mov dword [ebp - 0x1a4], 0xfffffff7
mov dword [ebp - 0x1ac], 0x39d6b9c2
mov dword [ebp - 0x54], 0
jmp 0x1004e116
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 1
jge 0x1004e12c
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x1a8], 0
jmp 0x1004e10f
mov dword [ebp - 0x2c], 0xd7f825e
mov dword [ebp - 0x2c], 0
jmp 0x1004e143
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jg 0x1004e1bc
mov dword [ebp - 0x3c], 0xfc0272a
mov dword [ebp - 0x4c], 0
jmp 0x1004e160
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 2
jge 0x1004e176
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x1c8], 0xf3d4e677
jmp 0x1004e159
mov dword [ebp - 0x3c], 0
jmp 0x1004e186
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jg 0x1004e1ba
mov dword [ebp - 0x194], 0xfffffffd
mov dword [ebp - 0x160], 0xffffffff
mov dword [ebp - 0x198], 0x3f0244c3
mov dword [ebp - 0x74], 0x81ec
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
jmp 0x1004e17f
jmp 0x1004e13c
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd8], eax
push 3
mov ecx, dword [ebp - 0xd8]
call fcn.10015ff8
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x7c]
mov dword [ecx], eax
jmp 0x1004e97e
mov dword [ebp - 0x38], 0x5b9b55bb
mov dword [ebp - 0x13c], 0x609b
mov dword [ebp - 0x138], 0x609b
mov dword [ebp - 0x134], 0x609b
mov dword [ebp - 0x130], 0x609b
lea ecx, [ebp - 0x61]
call fcn.10008b33
push eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.10016007
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x1b8]
call fcn.10015fcd
mov dword [ebp - 4], 1
mov dword [ebp - 0x40], 0
jmp 0x1004e260
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 4
jge 0x1004e276
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x204], 1
jmp 0x1004e259
mov dword [ebp - 0x38], 0xe
jmp 0x1004e286
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffe4
jl 0x1004e417
mov dword [ebp - 0x128], 0x60417be1
mov dword [ebp - 0x124], 0x60417be1
mov dword [ebp - 0x120], 0x60417be1
mov dword [ebp - 0x11c], 0x60417be1
lea ecx, [ebp - 0x62]
call fcn.10008b33
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x1e8]
call fcn.10016007
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0xf0]
call fcn.10015fcd
mov byte [ebp - 4], 2
mov dword [ebp - 0x168], 0xffffffff
mov dword [ebp - 0x19c], 0xcd16652d
push 4
lea ecx, [ebp - 0x18c]
call fcn.10015f8b
mov byte [ebp - 4], 3
mov dword [ebp - 0x170], 4
mov dword [ebp - 0x48], 0
jmp 0x1004e32d
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 4
jge 0x1004e349
push dword [ebp - 0x48]
lea ecx, [ebp - 0x18c]
call fcn.10015ff8
mov dword [eax], 1
jmp 0x1004e326
push 2
lea ecx, [ebp - 0xf0]
call fcn.10015ff8
mov dword [eax], 3
jmp 0x1004e382
push 2
lea ecx, [ebp - 0xf0]
call fcn.10015ff8
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xa8]
mov dword [ecx], eax
push 2
lea ecx, [ebp - 0xf0]
call fcn.10015ff8
cmp dword [eax], 0
jl 0x1004e3f4
mov dword [ebp - 0x158], 0x5e81a7ec
mov dword [ebp - 0x178], 0xffffffff
mov dword [ebp - 0x190], 4
mov dword [ebp - 0x88], 0xc321a078
mov dword [ebp - 0x34], 0
jmp 0x1004e3cc
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x1004e3e2
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1f4], 0xffffffff
jmp 0x1004e3c5
mov eax, dword [ebp - 0x88]
dec eax
mov dword [ebp - 0x88], eax
jmp 0x1004e35e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18c]
call fcn.10015ff3
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf0]
call fcn.10015ff3
jmp 0x1004e27f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b8]
call fcn.10015ff3
mov eax, dword [ebp + 8]
mov dword [ebp - 0xd4], eax
and dword [ebp - 0x114], 0
and dword [ebp - 0x110], 0
and dword [ebp - 0x10c], 0
and dword [ebp - 0x108], 0
lea ecx, [ebp - 0x63]
call fcn.10008b33
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.10016007
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x70]
call fcn.10015fcd
mov dword [ebp - 4], 4
mov dword [ebp - 0x10], 0xfffffffa
mov dword [ebp - 0x10], 3
jmp 0x1004e498
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x1004e5b0
mov dword [ebp - 0xe4], 0xe26c12a7
mov esi, dword [ebp - 0x10]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x70]
call fcn.10015ff8
cmp esi, dword [eax]
jl 0x1004e4ca
mov dword [ebp - 0xdc], 1
jmp 0x1004e4d1
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x180], eax
push 2
lea ecx, [ebp - 0x70]
call fcn.10015ff8
imul eax, dword [eax], 0x23dc
test eax, eax
je 0x1004e4f9
push dword [ebp - 0x10]
lea ecx, [ebp - 0x70]
call fcn.10015ff8
push dword [ebp - 0x10]
lea ecx, [ebp - 0x70]
call fcn.10015ff8
mov esi, eax
push 2
lea ecx, [ebp - 0x70]
call fcn.10015ff8
mov ecx, dword [esi]
cmp ecx, dword [eax]
je 0x1004e52e
push 3
lea ecx, [ebp - 0x70]
call fcn.10015ff8
cmp dword [eax], 0
jne 0x1004e52e
and dword [ebp - 0xa0], 0
jmp 0x1004e538
mov dword [ebp - 0xa0], 1
push dword [ebp - 0x10]
lea ecx, [ebp - 0x70]
call fcn.10015ff8
mov eax, dword [eax]
cmp eax, dword [ebp - 0xa0]
jge 0x1004e559
mov dword [ebp - 0x90], 1
jmp 0x1004e560
and dword [ebp - 0x90], 0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x70]
call fcn.10015ff8
mov eax, dword [eax]
cmp eax, dword [ebp - 0x90]
je 0x1004e581
mov dword [ebp - 0xb0], 1
jmp 0x1004e588
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xe4], eax
mov byte [ebp - 0x19], 0
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x1004e5ab
push 0x19a9
call dword [sym.imp.USER32.dll_GetSystemMetrics]
jmp 0x1004e491
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.10015ff3
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x28], 0xa32b1cec
mov dword [ebp - 0x50], 0
jmp 0x1004e5dc
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 4
jge 0x1004e5f2
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x1d8], 0xffffffff
jmp 0x1004e5d5
mov dword [ebp - 0x28], 3
jmp 0x1004e602
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jl 0x1004e631
mov byte [ebp - 0x1b], 0
movzx eax, byte [ebp - 0x1b]
test eax, eax
je 0x1004e620
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x1d8], 0
je 0x1004e62f
jmp 0x1004e5fb
jmp 0x1004e5fb
mov dword [ebp - 0x100], 0xbdde
mov dword [ebp - 0xfc], 0xbdde
mov dword [ebp - 0xf8], 0xbdde
mov dword [ebp - 0xf4], 0xbdde
mov dword [ebp - 0x58], 0xe56f9b2c
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x58], 3
jmp 0x1004e677
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jl 0x1004e92d
mov dword [ebp - 0x18], 0
push 4
lea ecx, [ebp - 0xc0]
call fcn.10015f8b
mov dword [ebp - 4], 5
mov dword [ebp - 0x60], 0
jmp 0x1004e6ac
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 4
jge 0x1004e6c8
push dword [ebp - 0x60]
lea ecx, [ebp - 0xc0]
call fcn.10015ff8
mov dword [eax], 0xfffffff9
jmp 0x1004e6a5
push 1
lea ecx, [ebp - 0xc0]
call fcn.10015ff8
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x1004e7e7
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x100], 0
jne 0x1004e704
push 0xfffffffffffffffc
pop eax
test eax, eax
jne 0x1004e704
and dword [ebp - 0x98], 0
jmp 0x1004e70e
mov dword [ebp - 0x98], 1
cmp dword [ebp - 0x98], 0x26c7f05f
jg 0x1004e723
mov dword [ebp - 0x78], 1
jmp 0x1004e727
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x78]
cmp eax, 0x260389a9
je 0x1004e740
mov dword [ebp - 0xd0], 1
jmp 0x1004e747
and dword [ebp - 0xd0], 0
mov esi, dword [ebp - 0x18]
push 3
lea ecx, [ebp - 0xc0]
call fcn.10015ff8
cmp esi, dword [eax]
jne 0x1004e767
mov dword [ebp - 0x84], 1
jmp 0x1004e76e
and dword [ebp - 0x84], 0
cmp dword [ebp - 0x84], 0xfffffffb
jl 0x1004e783
mov dword [ebp - 0x8c], 1
jmp 0x1004e78a
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
sub eax, 0x28c7fffa
cmp eax, 0xffff
jne 0x1004e7a8
mov dword [ebp - 0x94], 1
jmp 0x1004e7af
and dword [ebp - 0x94], 0
mov esi, dword [ebp - 0x14]
add esi, dword [ebp - 0x94]
push 1
lea ecx, [ebp - 0xc0]
call fcn.10015ff8
cmp esi, dword [eax]
je 0x1004e7d5
mov dword [ebp - 0x9c], 1
jmp 0x1004e7dc
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x9c]
jle 0x1004e7f6
cmp dword [ebp - 0x18], 0
jne 0x1004e7f6
and dword [ebp - 0xa4], 0
jmp 0x1004e800
mov dword [ebp - 0xa4], 1
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x100]
cmp dword [ebp - 0xa4], eax
jne 0x1004e821
mov dword [ebp - 0xac], 1
jmp 0x1004e828
and dword [ebp - 0xac], 0
imul eax, dword [ebp - 0xac], 0
cmp dword [ebp - 0x18], eax
jle 0x1004e8c7
push 3
lea ecx, [ebp - 0x154]
call fcn.10015f8b
mov byte [ebp - 4], 6
mov dword [ebp - 0x5c], 0
jmp 0x1004e859
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 3
jge 0x1004e875
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x154]
call fcn.10015ff8
mov dword [eax], 6
jmp 0x1004e852
push 2
lea ecx, [ebp - 0x154]
call fcn.10015ff8
mov dword [eax], 0x20b2455f
mov dword [ebp - 0x14], 0
jmp 0x1004e898
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jg 0x1004e8b6
mov byte [ebp - 0x1a], 0
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x1004e8b4
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
jmp 0x1004e891
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x154]
call fcn.10015ff3
jmp 0x1004e919
mov dword [ebp - 0x18], 0
jmp 0x1004e8d7
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jg 0x1004e919
push dword [ebp - 0x18]
lea ecx, [ebp - 0xc0]
call fcn.10015ff8
cmp dword [eax], 0
je 0x1004e8f2
jmp 0x1004e919
mov byte [ebp - 0x1d], 0
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1004e917
push 0x7a2
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x1004e8d0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc0]
call fcn.10015ff3
jmp 0x1004e670
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
jmp 0x1004e95e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
cmp dword [eax], 4
jge 0x1004e97e
mov eax, dword [ebp - 0x30]
push dword [eax]
mov ecx, dword [ebp - 0xcc]
call fcn.10015ff8
mov dword [eax], 8
jmp 0x1004e953
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret