Function at 0x10026f93
Capabilities:
Modify service

Disassembly:
mov eax, 0x100675de
call fcn.100668e8
sub esp, 0xfc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x90]
push 3
mov dword [ebp - 0x50], edx
call fcn.10019f2a
push 2
xor ebx, ebx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], ebx
pop edi
mov dword [ebp - 0x54], 0xa0949511
mov dword [ebp - 0x20], 1
push edi
call fcn.10019f2a
mov byte [ebp - 4], 1
mov dword [ebp - 0x44], 0x58d9
cmp dword [ebp - 0x44], 0x5a0f
jle 0x10027062
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
and eax, edi
xor eax, ecx
lea ecx, [ebp - 0xf0]
xor eax, esi
cdq
push edx
push eax
call fcn.1000d08a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002701e
mov eax, dword [eax]
push eax
call fcn.10051966
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xf0]
call fcn.1001a37a
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x83d
jl 0x10027000
inc edi
cmp edi, 0x4fa7
jl 0x10026ffb
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x3e62
jl 0x10026ff9
inc esi
cmp esi, 0x5ae2
jl 0x10026ff4
push 3
mov dword [ebp - 0x28], ebx
pop edi
jmp 0x1002707d
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0x2e91a049
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1002706a
cmp dword [ebp - 0x44], 0x5834
jge 0x10027096
push 0x10009378
call fcn.10051966
pop ecx
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], ebx
jmp 0x100270b0
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x78], 0x6411d7fe
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x100270a2
lea edx, [ebp - 0xa8]
lea ecx, [ebp - 0x28]
call fcn.10026ee1
mov esi, dword [ebp - 0x90]
mov dword [ebp - 0x40], esi
mov dword [esi + 8], ebx
cmp dword [esi + 8], 1
jge 0x100272e8
mov dword [ebp - 0x18], 0xb055
lea ecx, [ebp - 0xcc]
push 4
call fcn.10019f2a
mov byte [ebp - 4], 4
mov dword [ebp - 0x20], 0x6f3e
cmp dword [ebp - 0x20], 0x6f93
jle 0x10027195
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x48], 0x4a12
mov dword [ebp - 0x44], ecx
add eax, edi
shl eax, cl
lea ecx, [ebp - 0x108]
cdq
push edx
push eax
call fcn.1000d08a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10027136
mov eax, dword [eax]
push eax
call fcn.10051966
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.1001a37a
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
add ecx, esi
dec dword [ebp - 0x48]
mov dword [ebp - 0x44], ecx
jne 0x1002711a
inc esi
cmp esi, 0x692b
jl 0x1002710e
inc edi
cmp edi, 0x37cd
jl 0x1002710c
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x7099
jl 0x1002710a
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x207d
push 0x1d54
push 0x1773
push ebx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
mov dword [ebp - 0x48], 1
cmp dword [ebp - 0x20], 0x6e48
jge 0x100271b0
push 0x100093c8
call fcn.10051966
pop ecx
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x20], 0xffff
push 2
call fcn.10019f2a
mov dword [ebp - 0x20], 0x76e30f4a
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x34], ebx
jmp 0x100271f1
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0x974edf0e
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jl 0x100271de
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x34]
call fcn.10026f00
mov eax, dword [ebp - 0x90]
xor edx, edx
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x54]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x18]
inc ecx
jne 0x1002722e
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x40]
mov dword [eax + 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xa8]
mov dword [ebp - 0x20], eax
imul eax, dword [esi + 4], 0x7994
cmp eax, dword [edx + 8]
setl cl
xor edx, edx
neg ecx
cmp ecx, dword [esi]
mov ecx, dword [ebp - 0x18]
setl dl
sub edx, dword [ebx + 4]
neg edx
sbb edx, edx
xor eax, eax
inc edx
add edx, dword [esi + 4]
mov esi, dword [ebp - 0x40]
cmp dword [esi + 8], edx
setl al
imul eax, eax, 0xffff
cmp eax, 0xffff
sbb eax, eax
neg eax
add ecx, eax
xor eax, eax
neg ecx
cmp ecx, dword [ebx + 4]
setl al
xor edx, edx
cmp eax, 0x15f8f506
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x9c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
call fcn.10019fac
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 1
call fcn.10019fac
inc dword [esi + 8]
xor ebx, ebx
jmp 0x100270cf
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100272f6
call fcn.10014848
lea ecx, [ebp - 0xa8]
call fcn.10019fac
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.10019fac
mov esi, dword [ebp - 0x24]
cmp dword [esi + 0x10], ebx
jne 0x1002731f
xor al, al
jmp 0x10027609
lea ecx, [ebp - 0x50]
call fcn.10026f1f
cmp dword [esi + 0x14], 0x10
jb 0x10027331
mov ecx, dword [esi]
jmp 0x10027333
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x4c], ecx
jb 0x10027340
mov edx, dword [esi]
jmp 0x10027342
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x1002751c
mov al, byte [ecx]
cmp al, 0x30
jl 0x10027384
cmp al, 0x39
jg 0x10027384
push 0x5de
push ebx
lea eax, [ebp - 0x4c]
push eax
push 0x37a2
lea eax, [ebp - 0x50]
push eax
push 0x3451
push 0x6dd
call fcn.10027f94
mov ecx, dword [ebp - 0x4c]
add esp, 0x1c
inc ecx
jmp 0x10027333
push 3
pop edi
mov dword [ebp - 0x30], 0x9ac7
lea ecx, [ebp - 0xb4]
push edi
call fcn.10019f2a
mov dword [ebp - 0x5c], 0xfffffff7
mov dword [ebp - 0x18], ebx
jmp 0x100273b9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100273a6
cmp dword [ebp - 0x30], ebx
je 0x100273de
mov dword [ebp - 0x58], 0x2b57
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], 0xfd4914d2
call fcn.10026f25
jmp 0x100273ec
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100273ec
call fcn.10026f2a
push 2
mov dword [ebp - 0x30], ebx
pop edi
jmp 0x1002740c
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0x5c]
call fcn.10026f42
add esp, 4
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jle 0x100273f4
lea ecx, [ebp - 0xb4]
call fcn.10019fac
push 0x5cf4
push 0x6c9b
lea eax, [ebp - 0x50]
push eax
push ebx
call fcn.10027658
xor eax, eax
lea ecx, [ebp - 0xc0]
inc eax
add esp, 0x10
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0x7730f94f
mov dword [ebp - 0x24], 0x2a43d953
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0x5a80e358
mov dword [ebp - 0x24], 0xffffffff
push 3
call fcn.10019f2a
mov dword [ebp - 4], 7
mov dword [ebp - 0x40], 0x3beb
cmp dword [ebp - 0x40], 0x3fa6
jle 0x100274ac
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
mov ecx, 0x10610418
cdq
push edx
push eax
call fcn.10019cf9
inc edi
cmp edi, 0x4b07
jl 0x1002748a
inc esi
cmp esi, 0x2b7d
jl 0x10027488
mov dword [ebp - 0x20], 0xfa3a92bd
mov byte [ebp - 4], 8
cmp dword [ebp - 0x40], 0x3814
jge 0x100274cf
mov edx, 0x10009410
mov ecx, 0x10610418
call fcn.1001c204
mov dword [ebp - 0x24], 1
lea edx, [ebp - 0xc0]
lea ecx, [ebp - 0xd8]
call fcn.10026f58
dec dword [ebp - 0x20]
mov ecx, edx
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
call fcn.10019fac
jmp 0x10027318
push 2
pop edi
push edi
lea ecx, [ebp - 0x6c]
call fcn.10019f2a
push 1
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 0xa
call fcn.10019f2a
mov dword [ebp - 0x24], 0x5a82a6f9
mov dword [ebp - 0x54], 0x8642e5f0
mov dword [ebp - 0x14], ebx
jmp 0x1002755f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0xcdea
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002754f
mov dword [ebp - 0x14], ebx
jmp 0x10027573
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10027569
lea edx, [ebp - 0x84]
lea ecx, [ebp - 0x14]
call fcn.10026f74
mov dword [ebp - 0x14], ebx
jmp 0x1002759c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd4], 0xf5ecce35
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002758b
mov eax, dword [ebp - 0x6c]
cmp dword [eax], ebx
je 0x100275b7
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
test ecx, ecx
jne 0x100275c0
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
sub ecx, dword [eax + 4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ebx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x54], ebx
call fcn.10019fac
lea ecx, [ebp - 0x6c]
call fcn.10019fac
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret