Function at 0x1002d525
Capabilities:
Modify service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100709f9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x7c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
jmp 0x1002d563
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp dword [eax], 0
je 0x1002d8af
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0x80000000
je 0x1002d5b0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xffff
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x1f1f
push 0x23f7
call fcn.100293ff
pop ecx
pop ecx
call eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov dword [ecx], eax
jmp 0x1002d898
mov dword [ebp - 0x7c], 0x3b26bdde
mov dword [ebp - 0x78], 0x3b26bdde
mov dword [ebp - 0x74], 0x3b26bdde
mov dword [ebp - 0x70], 0x3b26bdde
mov dword [ebp - 0x1c], 0x9e9d
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x7c], 0xc
jmp 0x1002d5f5
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x7c]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x7c], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x7c], 0xfffffff1
jg 0x1002d69b
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x4c], 6
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x7c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xd9ba
jle 0x1002d63b
mov dword [ebp - 0x34], 1
jmp 0x1002d63f
and dword [ebp - 0x34], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x7c]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x1c], 0
jne 0x1002d65c
or eax, 0xffffffff
jne 0x1002d65c
and dword [ebp - 0x38], 0
jmp 0x1002d663
mov dword [ebp - 0x38], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x7c]
imul eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
cmp eax, 0xfffffffc
je 0x1002d682
mov dword [ebp - 0x3c], 1
jmp 0x1002d686
and dword [ebp - 0x3c], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x7c]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], eax
jmp 0x1002d5e2
mov dword [ebp - 0x1c], 0
jmp 0x1002d6ab
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x19
jne 0x1002d6db
mov byte [ebp - 0x11], 0
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1002d6d9
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 0x1002d6a4
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
add ecx, dword [eax]
mov dword [ebp - 0x54], ecx
push 2
lea ecx, [ebp - 0x6c]
call fcn.100100d6
and dword [ebp - 4], 0
mov dword [ebp - 0x40], 0x34f0
mov dword [ebp - 0x50], 0x10008cf8
cmp dword [ebp - 0x40], 0x3592
jle 0x1002d775
and dword [ebp - 0x24], 0
jmp 0x1002d71a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x2a9a
jge 0x1002d775
and dword [ebp - 0x28], 0
jmp 0x1002d730
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x4965
jge 0x1002d773
and dword [ebp - 0x2c], 0
jmp 0x1002d746
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x172e
jge 0x1002d771
mov eax, dword [ebp - 0x24]
and eax, dword [ebp - 0x28]
xor eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
mov ecx, 0x10618718
call fcn.1000fea1
jmp 0x1002d73f
jmp 0x1002d729
jmp 0x1002d713
mov dword [ebp - 0x18], 0
jmp 0x1002d785
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002d79b
push dword [ebp - 0x18]
lea ecx, [ebp - 0x6c]
call fcn.10010174
and dword [eax], 0
jmp 0x1002d77e
mov byte [ebp - 4], 1
cmp dword [ebp - 0x40], 0x324f
jge 0x1002d7b5
mov edx, dword [ebp - 0x50]
mov ecx, 0x10618718
call fcn.10013efa
jmp 0x1002d7d1
and dword [ebp - 4], 0
jmp 0x1002d7db
mov dword [ebp - 0x18], 0
jmp 0x1002d7eb
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002d801
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8c], 0x2afe01bd
jmp 0x1002d7e4
push 1
lea ecx, [ebp - 0x6c]
call fcn.10010174
and dword [eax], 0
jmp 0x1002d828
push 1
lea ecx, [ebp - 0x6c]
call fcn.10010174
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x6c]
call fcn.10010174
cmp dword [eax], 5
jne 0x1002d867
mov dword [ebp - 0x20], 0xe8c9f369
mov dword [ebp - 0x20], 3
jmp 0x1002d84e
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jl 0x1002d865
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x8c], 0
je 0x1002d863
jmp 0x1002d865
jmp 0x1002d847
jmp 0x1002d810
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6c]
call fcn.10010158
mov eax, dword [ebp - 0x54]
inc eax
inc eax
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x1f1f
push 0x23f7
call fcn.100293ff
pop ecx
pop ecx
call eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x1002d8aa
mov eax, dword [ebp + 0x18]
and dword [eax], 0
jmp 0x1002d8af
jmp 0x1002d549
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret