Function at 0x1002ac59
Capabilities:
Modify service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10072c33
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x120
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x1002b331
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd0], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xd4]
movzx eax, byte [eax]
test eax, eax
je 0x1002add6
mov dword [ebp - 0x7c], 0x575d
mov dword [ebp - 0xa4], 0x10007cf0
cmp dword [ebp - 0x7c], 0x5923
jle 0x1002ad4d
and dword [ebp - 0x3c], 0
jmp 0x1002ace6
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xf29
jge 0x1002ad4d
and dword [ebp - 0x40], 0
jmp 0x1002acfc
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x364d
jge 0x1002ad4b
and dword [ebp - 0x30], 0
jmp 0x1002ad12
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x50d7
jge 0x1002ad49
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x30]
cdq
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
mov ecx, 0x1061af58
call fcn.10021543
jmp 0x1002ad0b
jmp 0x1002acf5
jmp 0x1002acdf
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x7c], 0x538a
jge 0x1002ad76
mov edx, dword [ebp - 0xa4]
mov ecx, 0x1061af58
call fcn.10025cea
jmp 0x1002ad92
or dword [ebp - 4], 0xffffffff
jmp 0x1002ad9c
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
movzx eax, byte [eax]
test eax, eax
je 0x1002add1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
jmp 0x1002b32f
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x34], 0
jmp 0x1002ae05
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x1002ae1b
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xec], 0xcff0ea75
jmp 0x1002adfe
mov dword [ebp - 0x1c], 0
jmp 0x1002ae2b
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jg 0x1002af1e
mov dword [ebp - 0x2c], 0xab227d3
cmp dword [ebp - 0x1c], 0x79c6
je 0x1002ae4e
mov dword [ebp - 0x58], 1
jmp 0x1002ae52
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0xec], ecx
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x58]
jl 0x1002ae86
mov dword [ebp - 0x78], 1
jmp 0x1002ae8a
and dword [ebp - 0x78], 0
cmp dword [ebp - 0x2c], 0x9c25
je 0x1002ae9c
mov dword [ebp - 0x60], 1
jmp 0x1002aea0
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x60]
jne 0x1002aec1
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xec], 0
je 0x1002aec1
mov dword [ebp - 0x88], 1
jmp 0x1002aec8
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x2c]
je 0x1002aee2
cmp dword [ebp - 0x2c], 0
jne 0x1002aee2
and dword [ebp - 0x68], 0
jmp 0x1002aee9
mov dword [ebp - 0x68], 1
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x68], eax
je 0x1002aefa
mov dword [ebp - 0x80], 1
jmp 0x1002aefe
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x80], eax
jle 0x1002af0f
mov dword [ebp - 0x70], 1
jmp 0x1002af13
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x2c], eax
jmp 0x1002ae24
push 0
push 0x330d
push 0x7b8
call fcn.1003e4d8
add esp, 0xc
and dword [ebp - 0x130], 0
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x12c]
rep stosd dword es:[edi], eax
push 0x1c
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0xc0]
push 0x6277
push 0x49df
call fcn.1002079c
pop ecx
pop ecx
call eax
test eax, eax
je 0x1002b2da
mov dword [ebp - 0xfc], 0xfffffffc
push 0x2944
push 0x6f70
push 0x6c6c
push 0
push 0x3dce
push 0x2fd0
push 0x5f12
call fcn.1002cd4c
add esp, 0x1c
mov byte [ebp - 0x1d], 0
push 0
lea eax, [ebp - 0x1d]
push eax
push 0x477
push 0x1c13
call fcn.1002f52b
add esp, 0x10
mov dword [ebp - 0xe4], 0xee
mov eax, dword [ebp - 0x11c]
and eax, dword [ebp - 0xe4]
jne 0x1002afdf
mov dword [ebp - 0x50], 1
jmp 0x1002afe3
and dword [ebp - 0x50], 0
mov al, byte [ebp - 0x50]
mov byte [ebp - 0x15], al
mov dword [ebp - 0x28], 0xa61928c1
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0x28], 0
jmp 0x1002b00a
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffe4
je 0x1002b0b2
push 3
lea ecx, [ebp - 0xf8]
call fcn.10021783
mov dword [ebp - 4], 2
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0x38], 0
jmp 0x1002b042
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x1002b05b
push dword [ebp - 0x38]
lea ecx, [ebp - 0xf8]
call fcn.10021821
and dword [eax], 0
jmp 0x1002b03b
push 1
lea eax, [ebp - 0xc8]
push eax
push 0x292d
push 0x2e5a
push 1
push 0x710e
push 0x33e5
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0x1aa2
push 0x6e97
call fcn.1002a770
add esp, 0x30
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf8]
call fcn.10021805
jmp 0x1002b003
mov eax, dword [ebp - 0x11c]
and eax, 0x101
je 0x1002b0c3
mov byte [ebp - 0x15], 1
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x74], 0xffff
mov dword [ebp - 0xbc], 0xb064bae0
mov dword [ebp - 0x10c], 0xe5ab06c0
mov dword [ebp - 0xa8], 0xfffffff7
mov dword [ebp - 0x100], 0x4adca1a1
mov dword [ebp - 0x108], 0xb0fe
mov dword [ebp - 0x44], 0xfffffff7
mov dword [ebp - 0x14], 0
jmp 0x1002b11a
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x1002b12d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], 0
jmp 0x1002b113
mov dword [ebp - 0x14], 0
jmp 0x1002b13d
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002b153
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 0xa6e483bb
jmp 0x1002b136
mov dword [ebp - 0x14], 0
jmp 0x1002b163
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x1002b179
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], 0x3077
jmp 0x1002b15c
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0xa8]
jg 0x1002b194
mov dword [ebp - 0x54], 1
jmp 0x1002b198
and dword [ebp - 0x54], 0
cmp dword [ebp - 0x54], 0
jbe 0x1002b1a7
mov dword [ebp - 0x5c], 1
jmp 0x1002b1ab
and dword [ebp - 0x5c], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0xb8]
cmp dword [ebp - 0x5c], eax
jge 0x1002b1c5
mov dword [ebp - 0x64], 1
jmp 0x1002b1c9
and dword [ebp - 0x64], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x24]
imul ecx, dword [ebp - 0x64]
imul ecx, dword [ebp + eax - 0x48]
cmp ecx, dword [ebp - 0x24]
jge 0x1002b1ec
mov dword [ebp - 0x6c], 1
jmp 0x1002b1f0
and dword [ebp - 0x6c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x48]
cmp dword [ebp - 0x6c], eax
jge 0x1002b208
mov dword [ebp - 0x4c], 1
jmp 0x1002b20c
and dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x110], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x4c]
mov dword [ebp + eax - 0x48], ecx
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x104], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xb8]
mov dword [ebp - 0x114], eax
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
shl ecx, 0
mov ecx, dword [ebp + ecx - 0xb8]
cmp ecx, dword [ebp + eax - 0xb8]
jne 0x1002b26f
mov dword [ebp - 0x84], 1
jmp 0x1002b276
and dword [ebp - 0x84], 0
cmp dword [ebp - 0x84], 0xc2a4e630
jbe 0x1002b28e
mov dword [ebp - 0x8c], 1
jmp 0x1002b295
and dword [ebp - 0x8c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xb8]
cmp dword [ebp - 0x8c], eax
je 0x1002b2b6
mov dword [ebp - 0x9c], 1
jmp 0x1002b2bd
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x24]
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0xa0], eax
mov eax, dword [ebp - 0x94]
mov cl, byte [ebp - 0x15]
mov byte [eax], cl
jmp 0x1002b33f
push 0x58b3
push 0x1ff9
push 0x5231
push 1
push 0x1736
push 1
push 0x120d
push 0x197f
push 0x563d
push 0x3bf0
push 0x6307
push 0x3922
push 0
push 0xeed
push 0x3e93
call fcn.100365c1
add esp, 0x3c
mov eax, dword [ebp - 0x94]
mov byte [eax], 1
jmp 0x1002b33f
jmp 0x1002b33f
push 0
push 0x6035
call fcn.10032465
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret