Function at 0x1002a283
Capabilities:
Modify service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10085542
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x194
push esi
movzx eax, byte [ebp + 0x34]
test eax, eax
je 0x1002a547
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xa0]
cmp dword [eax], 0
je 0x1002a45f
mov eax, 0xfff7
test eax, eax
je 0x1002a3d0
mov eax, dword [ebp - 0x10c]
cmp dword [eax], 0
je 0x1002a3d0
mov dword [ebp - 0xac], 1
jmp 0x1002a3d7
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
add eax, dword [ebp - 0xac]
je 0x1002a3f8
mov eax, dword [ebp - 0x68]
cmp dword [eax], 0
je 0x1002a3f8
mov dword [ebp - 0x60], 1
jmp 0x1002a3fc
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
cmp dword [ebp - 0x60], eax
jl 0x1002a40f
mov dword [ebp - 0x48], 1
jmp 0x1002a413
and dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
cmp dword [ebp - 0x48], 9
jge 0x1002a430
mov dword [ebp - 0xb8], 1
jmp 0x1002a437
and dword [ebp - 0xb8], 0
cmp dword [ebp - 0xb8], 0x96ad982f
ja 0x1002a44b
mov eax, dword [ebp - 0x68]
cmp dword [eax], 0
jne 0x1002a456
mov eax, dword [ebp - 0xa0]
cmp dword [eax], 0
je 0x1002a45f
mov dword [ebp - 0x70], 1
jmp 0x1002a463
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x70]
sub ecx, dword [eax]
je 0x1002a484
mov eax, dword [ebp - 0x134]
cmp dword [eax], 0
je 0x1002a484
mov dword [ebp - 0xc8], 1
jmp 0x1002a48b
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x13c]
mov eax, dword [eax]
cmp dword [ebp - 0xc8], eax
jl 0x1002a4a4
mov dword [ebp - 0x78], 1
jmp 0x1002a4a8
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
cmp dword [ebp - 0x78], eax
jle 0x1002a4be
mov dword [ebp - 0xa8], 1
jmp 0x1002a4c5
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xa8]
lea eax, [ecx + eax - 0xfffc]
mov ecx, dword [ebp - 0x120]
mov dword [ecx], eax
or eax, 0xffffffff
cmp eax, 3
jb 0x1002a4f3
mov dword [ebp - 0x138], 1
jmp 0x1002a4fa
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x80]
cmp dword [eax], 0
je 0x1002a518
mov eax, dword [ebp - 0x38]
cmp dword [eax], 0
jne 0x1002a52a
mov eax, 0xe89c
test eax, eax
jne 0x1002a52a
and dword [ebp - 0xc0], 0
jmp 0x1002a534
mov dword [ebp - 0xc0], 1
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xc0]
mov dword [eax], ecx
jmp 0x1002ab51
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], 0xf6af1124
mov dword [ebp - 0x14], 0x912491e2
mov dword [ebp - 0x74], 0x9e56
mov dword [ebp - 0x44], 0
jmp 0x1002a581
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 1
jge 0x1002a594
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x2c], 0x37b0
jmp 0x1002a57a
mov dword [ebp - 0x28], 0
jmp 0x1002a5a4
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff2
jl 0x1002a835
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x98], 0x25429297
cmp dword [ebp - 0x18], 0
je 0x1002a5d8
push 9
pop eax
test eax, eax
je 0x1002a5d8
mov dword [ebp - 0x88], 1
jmp 0x1002a5df
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0
jmp 0x1002a5f8
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x1002a830
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0x14], 0
jmp 0x1002a61c
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jg 0x1002a82b
mov dword [ebp - 0x24], 0x89226c31
mov dword [ebp - 0x40], 0
jmp 0x1002a63d
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 2
jge 0x1002a653
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x184], 0xa2c6eb81
jmp 0x1002a636
mov dword [ebp - 0x24], 0
jmp 0x1002a663
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jg 0x1002a812
mov dword [ebp - 0xe8], 3
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x2c], 0
je 0x1002a6f1
cmp dword [ebp - 0x18], 0
jne 0x1002a698
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x18]
jne 0x1002a698
and dword [ebp - 0xb0], 0
jmp 0x1002a6a2
mov dword [ebp - 0xb0], 1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c]
mov ecx, dword [ebp - 0x14]
sub eax, dword [ebp + ecx*4 - 0x2c]
cmp dword [ebp - 0xb0], eax
jl 0x1002a6cd
mov dword [ebp - 0x90], 1
jmp 0x1002a6d4
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x98], eax
jmp 0x1002a80d
mov dword [ebp - 0x5c], 0x2e6c0b33
push 2
lea ecx, [ebp - 0x16c]
call fcn.10016b30
and dword [ebp - 4], 0
mov dword [ebp - 0x30], 0
jmp 0x1002a719
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x1002a735
push dword [ebp - 0x30]
lea ecx, [ebp - 0x16c]
call fcn.10016b9d
mov dword [eax], 0x6d5d64f6
jmp 0x1002a712
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x98]
cmp dword [ebp - 0x5c], eax
je 0x1002a75b
mov dword [ebp - 0x64], 1
jmp 0x1002a75f
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], 0x8129
cmp dword [ebp - 0x64], 0x8129
jg 0x1002a786
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x2c], 0
je 0x1002a786
mov dword [ebp - 0x6c], 1
jmp 0x1002a78a
and dword [ebp - 0x6c], 0
cmp dword [ebp - 0x6c], 0
jl 0x1002a79c
mov dword [ebp - 0x84], 1
jmp 0x1002a7a3
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x7c], eax
push 1
lea ecx, [ebp - 0x16c]
call fcn.10016b9d
mov ecx, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + ecx - 4]
neg eax
jmp 0x1002a7e4
and dword [ebp - 0x8c], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x8c]
mov dword [ebp + eax - 0x184], ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16c]
call fcn.10016b98
jmp 0x1002a65c
push 0x4459
push 0x1eb8
push 0
call fcn.1002b060
add esp, 0xc
jmp 0x1002a615
jmp 0x1002a5f1
jmp 0x1002a59d
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0
jne 0x1002ab51
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x24]
and eax, 0x40
je 0x1002aa26
mov dword [ebp - 0x10], 0xdd1e1e87
mov dword [ebp - 0x4c], 0x6373a4c9
mov dword [ebp - 0x34], 0
jmp 0x1002a879
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x1002a88f
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x198], 0xde574131
jmp 0x1002a872
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x10], 0xffff
jb 0x1002a8b0
cmp dword [ebp - 0x10], 0
jne 0x1002a8b0
and dword [ebp - 0x94], 0
jmp 0x1002a8ba
mov dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x94], eax
jne 0x1002a8d1
mov dword [ebp - 0x9c], 1
jmp 0x1002a8d8
and dword [ebp - 0x9c], 0
cmp dword [ebp - 0x9c], 0xab227d3
jge 0x1002a8f0
mov dword [ebp - 0xa4], 1
jmp 0x1002a8f7
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
neg eax
cmp eax, 0xffffffff
jle 0x1002a913
mov dword [ebp - 0x58], 1
jmp 0x1002a917
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x58], eax
jle 0x1002a92b
mov dword [ebp - 0xb4], 1
jmp 0x1002a932
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xb4]
jl 0x1002a949
mov dword [ebp - 0xf0], 1
jmp 0x1002a950
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x10], eax
jg 0x1002a96d
mov dword [ebp - 0xbc], 1
jmp 0x1002a974
and dword [ebp - 0xbc], 0
cmp dword [ebp - 0xbc], 1
jge 0x1002a989
mov dword [ebp - 0xc4], 1
jmp 0x1002a990
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0xc4]
test eax, eax
jne 0x1002a9ab
xor eax, eax
jne 0x1002a9ab
and dword [ebp - 0xcc], 0
jmp 0x1002a9b5
mov dword [ebp - 0xcc], 1
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xcc]
mov dword [ebp + eax - 0x198], ecx
mov dword [ebp - 0x10], 0x19
jmp 0x1002a9d8
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x1c
jg 0x1002aa11
mov byte [ebp - 0x1d], 0
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1002aa0f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x22ea
push 0x24d3
push 0x18f2
push 0
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
jmp 0x1002a9d1
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + 0x20]
mov dword [ecx], eax
jmp 0x1002ab51
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x24]
and eax, 0x80
je 0x1002ab51
mov dword [ebp - 0x108], 0xb51dba33
mov dword [ebp - 0x1c], 0xab72b21a
mov dword [ebp - 0x160], 0x452a26f
mov dword [ebp - 0x15c], 0x452a26f
mov dword [ebp - 0x158], 0x452a26f
mov dword [ebp - 0x154], 0x452a26f
lea ecx, [ebp - 0x4d]
call fcn.100091a3
push eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.10016bac
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x14c]
call fcn.10016b72
mov dword [ebp - 4], 1
mov dword [ebp - 0xf8], 0x586fd5d7
mov dword [ebp - 0x110], 6
mov dword [ebp - 0x100], 0x9b780f88
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.1002aeb5
add esp, 0x1c
mov dword [ebp - 0x1c], 3
jmp 0x1002ab08
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x1002ab32
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x14c]
call fcn.10016b9d
mov esi, eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x14c]
call fcn.10016b9d
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x1002ab01
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.10016b98
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + 0x24]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret