Function at 0x10024d29
Capabilities:
Start service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007e259
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x15c
push esi
movzx eax, byte [ebp + 8]
test eax, eax
je 0x10025530
push 4
lea ecx, [ebp - 0x60]
call fcn.1001673e
and dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
jmp 0x10024d72
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10024d88
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xec], 1
jmp 0x10024d6b
mov dword [ebp - 0x10], 0
jmp 0x10024d98
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10024db1
push dword [ebp - 0x10]
lea ecx, [ebp - 0x60]
call fcn.100167dc
mov dword [eax], 0xe83c773
jmp 0x10024d91
mov dword [ebp - 0x10], 0
jmp 0x10024dc1
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10024dd7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc8], 0xe075257
jmp 0x10024dba
push 3
lea ecx, [ebp - 0x60]
call fcn.100167dc
and dword [eax], 0
jmp 0x10024dfe
push 3
lea ecx, [ebp - 0x60]
call fcn.100167dc
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x68]
mov dword [ecx], eax
push 3
lea ecx, [ebp - 0x60]
call fcn.100167dc
cmp dword [eax], 2
jg 0x10024eca
mov dword [ebp - 0x3c], 0xad86e52d
push 3
lea ecx, [ebp - 0x110]
call fcn.1001673e
mov byte [ebp - 4], 1
mov dword [ebp - 0x48], 0
jmp 0x10024e39
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 3
jge 0x10024e55
push dword [ebp - 0x48]
lea ecx, [ebp - 0x110]
call fcn.100167dc
mov dword [eax], 1
jmp 0x10024e32
push 3
lea ecx, [ebp - 0x60]
call fcn.100167dc
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0xec], 0
je 0x10024e7c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x110]
call fcn.100167c0
jmp 0x10024eca
mov dword [ebp - 0x3c], 2
jmp 0x10024e8c
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jl 0x10024eb6
push 3
lea ecx, [ebp - 0x60]
call fcn.100167dc
mov eax, dword [eax]
mov esi, dword [ebp + eax*4 - 0xec]
push 2
lea ecx, [ebp - 0x110]
call fcn.100167dc
mov dword [eax], esi
jmp 0x10024e85
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x110]
call fcn.100167c0
jmp 0x10024de6
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xec], 1
jg 0x10024ee6
mov dword [ebp - 0x98], 1
jmp 0x10024eed
and dword [ebp - 0x98], 0
push 3
lea ecx, [ebp - 0x60]
call fcn.100167dc
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xec]
mov dword [ebp - 0x15c], eax
push 0xfffffffffffffffb
pop eax
cmp eax, 0xfffffff9
jne 0x10024f1b
mov dword [ebp - 0x70], 1
jmp 0x10024f1f
and dword [ebp - 0x70], 0
cmp dword [ebp - 0x70], 1
jl 0x10024f31
mov dword [ebp - 0xbc], 1
jmp 0x10024f38
and dword [ebp - 0xbc], 0
imul eax, dword [ebp - 0xbc], 0
mov dword [ebp - 0x6c], eax
push 1
lea ecx, [ebp - 0x60]
call fcn.100167dc
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xec]
add eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x98]
neg ecx
cmp ecx, eax
jne 0x10024f76
mov dword [ebp - 0x78], 1
jmp 0x10024f7a
and dword [ebp - 0x78], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0xc8]
cmp dword [ebp - 0x78], eax
jge 0x10024fdc
mov dword [ebp - 0x50], 5
mov dword [ebp - 0x50], 2
jmp 0x10024fa2
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jl 0x10024fd7
mov dword [ebp - 0x2c], 0x6728ad64
mov dword [ebp - 0x2c], 0
jmp 0x10024fbf
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x10024fd5
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xc8], 0
jmp 0x10024fb8
jmp 0x10024f9b
jmp 0x10025116
mov dword [ebp - 0x34], 1
mov dword [ebp - 0xa0], 8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x150], eax
push 4
pop eax
shl eax, 1
mov esi, dword [ebp + eax - 0xc8]
push 3
lea ecx, [ebp - 0x60]
call fcn.100167dc
mov dword [eax], esi
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0xa0]
cmp dword [ebp - 0x34], eax
jg 0x10025028
mov dword [ebp - 0xb8], 1
jmp 0x1002502f
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0xb8], eax
je 0x10025043
mov dword [ebp - 0x80], 1
jmp 0x10025047
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x80]
add eax, 0x5f87
jne 0x10025063
cmp dword [ebp - 0xa0], 0
jne 0x10025063
and dword [ebp - 0x88], 0
jmp 0x1002506d
mov dword [ebp - 0x88], 1
imul eax, dword [ebp - 0x88], 0xa7fc
test eax, eax
jne 0x10025093
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0xc8], 0
jne 0x10025093
and dword [ebp - 0xb0], 0
jmp 0x1002509d
mov dword [ebp - 0xb0], 1
cmp dword [ebp - 0xb0], 3
jbe 0x100250bb
mov eax, 0xd3d38e20
test eax, eax
je 0x100250bb
mov dword [ebp - 0x90], 1
jmp 0x100250c2
and dword [ebp - 0x90], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0xc8]
cmp dword [ebp - 0x90], eax
jg 0x100250e2
mov dword [ebp - 0xa8], 1
jmp 0x100250e9
and dword [ebp - 0xa8], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xa8]
mov dword [ebp + eax - 0xc8], ecx
mov byte [ebp - 0x1f], 0
movzx eax, byte [ebp - 0x1f]
test eax, eax
je 0x10025116
push 0
push 0x4c1
push 0
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.100167c0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], 0xffffffff
push 3
lea ecx, [ebp - 0x124]
call fcn.1001673e
mov dword [ebp - 4], 2
mov dword [ebp - 0xf8], 0xb3847d22
mov dword [ebp - 0x44], 0
jmp 0x10025172
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 3
jge 0x1002518b
push dword [ebp - 0x44]
lea ecx, [ebp - 0x124]
call fcn.100167dc
and dword [eax], 0
jmp 0x1002516b
mov dword [ebp - 0x30], 0
jmp 0x1002519b
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xfffffff8
jge 0x100252d3
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x24], 0xffffffec
jmp 0x100251bc
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffe7
jge 0x100252ce
push 1
lea ecx, [ebp - 0x104]
call fcn.1001673e
mov byte [ebp - 4], 3
mov dword [ebp - 0x64], 0xe34edf6b
mov dword [ebp - 0x54], 0xe19f23e5
mov dword [ebp - 0x38], 0
jmp 0x100251f5
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 1
jge 0x10025211
push dword [ebp - 0x38]
lea ecx, [ebp - 0x104]
call fcn.100167dc
mov dword [eax], 0xfffffffb
jmp 0x100251ee
push 0
lea ecx, [ebp - 0x124]
call fcn.100167dc
mov dword [eax], 0xef5d870a
push 0
lea ecx, [ebp - 0x104]
call fcn.100167dc
cmp dword [eax], 0xef5d870a
jle 0x10025242
mov dword [ebp - 0x74], 1
jmp 0x10025246
and dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x74]
sub eax, 0x7a6e4973
cmp eax, dword [ebp - 0x54]
je 0x10025268
mov dword [ebp - 0x7c], 1
jmp 0x1002526c
and dword [ebp - 0x7c], 0
push 0
lea ecx, [ebp - 0x104]
call fcn.100167dc
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [eax]
jg 0x1002528c
mov dword [ebp - 0xcc], 1
jmp 0x10025293
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x24]
add eax, 8
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x104]
call fcn.100167c0
jmp 0x100251b5
jmp 0x10025194
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x124]
call fcn.100167c0
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x14], 0xf6af1124
mov dword [ebp - 0xd8], 0xf3392002
mov dword [ebp - 0x40], 0
jmp 0x1002530f
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jge 0x10025325
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x168], 4
jmp 0x10025308
mov dword [ebp - 0x14], 0
jmp 0x10025335
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jl 0x100254f5
mov dword [ebp - 0x8c], 0x8cd54673
push 3
lea ecx, [ebp - 0x130]
call fcn.1001673e
mov dword [ebp - 4], 4
mov dword [ebp - 0x1c], 0
jmp 0x1002536d
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10025383
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x118], 0
jmp 0x10025366
mov dword [ebp - 0x1c], 0
jmp 0x10025393
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x100253af
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x130]
call fcn.100167dc
mov dword [eax], 0xd8f9c328
jmp 0x1002538c
mov byte [ebp - 0x1d], 0
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x100253c7
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
cmp dword [ebp - 0x14], 0
je 0x1002548e
imul eax, dword [ebp - 0x14], 0
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x8c]
jl 0x100253ec
mov dword [ebp - 0x84], 1
jmp 0x100253f3
and dword [ebp - 0x84], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x84]
sub ecx, dword [ebp + eax - 0x118]
cmp ecx, dword [ebp - 0x14]
jle 0x10025417
mov dword [ebp - 0x94], 1
jmp 0x1002541e
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x8c]
cmp dword [ebp - 0x94], eax
jne 0x10025438
mov dword [ebp - 0x9c], 1
jmp 0x1002543f
and dword [ebp - 0x9c], 0
cmp dword [ebp - 0x9c], 0xa553fc2f
jbe 0x10025457
mov dword [ebp - 0xa4], 1
jmp 0x1002545e
and dword [ebp - 0xa4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x168]
add eax, dword [ebp - 0xa4]
neg eax
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x118]
jl 0x1002548e
mov dword [ebp - 0xac], 1
jmp 0x10025495
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0xac]
imul edx, dword [ebp - 0xd8]
imul ecx, edx
sub eax, ecx
cmp eax, 0x26d5
jle 0x100254c3
mov dword [ebp - 0xdc], 1
jmp 0x100254ca
and dword [ebp - 0xdc], 0
mov esi, 0x9c5a
add esi, 0xfffffffc
push 1
lea ecx, [ebp - 0x130]
call fcn.100167dc
mov dword [eax], esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
call fcn.100167c0
jmp 0x1002532e
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
jmp 0x1002550b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax], 3
jge 0x1002552b
mov eax, dword [ebp - 0x28]
push dword [eax]
mov ecx, dword [ebp - 0xf4]
call fcn.100167dc
mov dword [eax], 0x32e0c280
jmp 0x10025500
jmp 0x10025659
push 3
lea ecx, [ebp - 0x13c]
call fcn.1001673e
mov dword [ebp - 4], 5
push 2
lea ecx, [ebp - 0x148]
call fcn.1001673e
mov byte [ebp - 4], 6
mov dword [ebp - 0x4c], 0x1f782a18
mov dword [ebp - 0x18], 0
jmp 0x1002556c
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10025588
push dword [ebp - 0x18]
lea ecx, [ebp - 0x13c]
call fcn.100167dc
mov dword [eax], 0xa53d06ce
jmp 0x10025565
mov dword [ebp - 0x18], 0
jmp 0x10025598
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x100255b4
push dword [ebp - 0x18]
lea ecx, [ebp - 0x148]
call fcn.100167dc
mov dword [eax], 7
jmp 0x10025591
push 2
lea ecx, [ebp - 0x13c]
call fcn.100167dc
mov esi, eax
push 0
lea ecx, [ebp - 0x148]
call fcn.100167dc
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [ebp - 0x4c], 0
jmp 0x100255e4
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 1
jg 0x10025602
mov byte [ebp - 0x1e], 0
movzx eax, byte [ebp - 0x1e]
test eax, eax
je 0x10025600
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCommState]
jmp 0x100255dd
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x148]
call fcn.100167c0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.100167c0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], eax
push 0
mov ecx, dword [ebp - 0xd0]
call fcn.100167dc
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret