Function at 0x10050ddc
Capabilities:
Modify service

Disassembly:
mov eax, 0x1008842b
call fcn.10086838
sub esp, 0xa8
movdqa xmm0, xmmword [0x10008050]
lea eax, [ebp - 0x8c]
push ebx
push esi
push edi
push dword [ebp - 0x30]
xor ebx, ebx
mov edi, ecx
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x18], edi
push eax
push ebx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], ebx
movdqu xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
call fcn.10019c6b
xor edx, edx
mov dword [ebp - 0x14], 0x29000d4e
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x10050e42
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10050e38
mov dword [ebp - 0x14], ebx
jmp 0x10050e5d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 0xff7503ae
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10050e4c
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 3
jg 0x10050f9e
or edi, 0xffffffff
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x28], 0x325a
mov dword [ebp - 0x1c], ebx
jmp 0x10050e9b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x44], 0x65cd3860
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10050e8d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
cmp dword [eax + ecx*4], ebx
jne 0x10050eb2
inc dword [ebp - 0x24]
mov esi, ebx
je 0x10050eb4
mov esi, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
cmp dword [eax + ecx*4], ebx
je 0x10050ee9
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x40]
cmp eax, 0xfffffffc
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
imul eax, dword [ecx + 4]
imul ecx, eax, 0x2c7a
mov eax, dword [ebp - 0x40]
cmp ecx, dword [eax]
mov ecx, edx
je 0x10050eeb
mov ecx, ebx
mov eax, dword [ebp - 0x2c]
imul eax, ecx
cmp edi, eax
mov eax, dword [ebp - 0x14]
sbb edx, edx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x2c]
sub edx, 0x5b481d3e
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x5411
setl al
sub esi, eax
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x14]
sub esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x8c]
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp esi, eax
mov eax, dword [ebp - 0x40]
setg cl
cmp ecx, dword [eax + edx*4]
je 0x10050f44
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x28], ebx
mov byte [ebp - 0x1d], bl
je 0x10050f79
cmp byte [ebp - 0x1d], bl
je 0x10050f8b
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x129c
push 0x81f
push 0x15be
push ebx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
jmp 0x10050f8b
cmp byte [ebp - 0x1d], bl
je 0x10050f8b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
push 1
pop edx
jle 0x10050e73
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x40]
call fcn.10018df6
push 1
push edi
push 0x784
call fcn.1004bc62
mov dword [ebp - 0x14], 0x3c692bea
add esp, 0xc
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x14], 0x19
jmp 0x10050fda
mov dword [ebp - 0x24], 0x6748f69f
dec dword [ebp - 0x24]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jge 0x10050fcd
mov dword [ebp - 0x14], 0x16
jmp 0x10051031
mov dword [ebp - 0x24], 0x16efa42b
mov dword [ebp - 0x1c], ebx
jmp 0x10051006
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa8], 0x952e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10050ff5
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], ebx
jl 0x1005102e
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x10051029
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
dec dword [ebp - 0x24]
jns 0x10051018
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe7
jl 0x10050fe9
push edi
call fcn.10033c38
pop ecx
push 4
pop esi
push esi
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x30], eax
call fcn.1001855e
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x24], 0x6158d32f
push 1
call fcn.1001855e
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x24], 0x67df2ddf
push esi
call fcn.1001855e
mov byte [ebp - 4], 2
mov dword [ebp - 0x18], ebx
jmp 0x10051098
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], 0xad6f2ee7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10051088
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x100510b5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], 0xff3d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100510a5
mov dword [ebp - 0x18], ebx
jmp 0x100510c9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100510bf
mov dword [ebp - 0x18], ebx
jmp 0x100510e0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x80]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100510d4
mov edi, dword [ebp - 0x68]
xor ecx, ecx
mov eax, dword [edi + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x1c]
inc edx
mov esi, dword [eax]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setne cl
cmp ecx, esi
jle 0x1005110d
test esi, esi
jne 0x1005110d
mov eax, ebx
jmp 0x10051110
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x54], ecx
sub eax, dword [ecx + 0xc]
jne 0x10051123
test esi, esi
jne 0x10051123
mov ecx, ebx
jmp 0x10051126
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
imul eax, ecx
test eax, eax
jne 0x1005113b
mov eax, dword [ebp - 0x50]
cmp dword [eax], ebx
jne 0x1005113b
mov edx, ebx
jmp 0x1005113e
xor edx, edx
inc edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x50]
setg cl
cmp dword [eax], ecx
jl 0x10051152
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp dword [edi + 8], ebx
je 0x1005125a
or eax, 0xffffffff
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x18], eax
push 2
call fcn.1001855e
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 0x1c], ebx
jmp 0x1005118a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], 0x7fba349a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1005117a
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x100511a6
push ebx
push 0x2277
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 3
jg 0x10051250
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x1c], 0x988a21de
mov dword [ebp - 0x1c], ebx
jmp 0x100511da
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb4], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100511c9
cmp dword [edi + 8], ebx
je 0x100511fc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
cmp dword [eax + 0xc], ebx
je 0x100511fc
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sbb edx, edx
neg edx
xor ecx, ecx
neg edx
cmp edx, 0x319d7fcc
setg cl
xor edx, edx
sub eax, ecx
cmp eax, 0xfffffff7
mov eax, dword [ebp - 0x18]
setne dl
sub edx, 0xfffffff8
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov dword [esi + 4], edx
setl cl
sub ecx, dword [ebp - 0x58]
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x100511b6
lea ecx, [ebp - 0x74]
call fcn.10018df6
jmp 0x100512c5
mov dword [ebp - 0x34], 0x57ac
mov dword [ebp - 0x1c], ebx
jmp 0x100512bf
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
jmp 0x100512b6
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], 0xfffffffd
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
cmp eax, 0x2336
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x28], eax
jle 0x100512a8
mov eax, dword [ebp - 0x50]
cmp dword [eax], ebx
je 0x100512a8
xor ecx, ecx
inc ecx
jmp 0x100512aa
mov ecx, ebx
mov eax, dword [ebp - 0x18]
imul eax, ecx
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jle 0x1005126e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x26
jne 0x10051266
lea ecx, [ebp - 0x80]
call fcn.10018df6
lea ecx, [ebp - 0x50]
call fcn.10018df6
lea ecx, [ebp - 0x68]
call fcn.10018df6
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret