Function at 0x102dee6
Capabilities:
Create service
Modify service

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x106b508]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
push esi
push edi
push 0x10032b4
mov esi, ecx
push 0x5e
lea ecx, [ebp - 0x468]
mov dword [ebp - 0x410], 1
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x44c], 0x200
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x424], ebx
mov dword [ebp - 0x42c], ebx
mov dword [ebp - 0x414], ebx
mov dword [ebp - 0x434], ebx
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x420], ebx
mov dword [ebp - 0x43c], ebx
mov dword [ebp - 0x430], ebx
mov dword [ebp - 0x444], ebx
mov dword [ebp - 0x438], ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x450], ebx
mov dword [ebp - 0x41c], ebx
call sub.vdsutil.dll_public:_void___thiscall_CVdsCallTracer::constructor_unsigned_long_int__char_const__
xor eax, eax
lea edi, [ebp - 0x47c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x208
stosd dword es:[edi], eax
lea eax, [ebp - 0x20c]
push ebx
push eax
call sub.msvcrt.dll_memset
push 0x100
lea eax, [ebp - 0x40c]
push ebx
push eax
call sub.msvcrt.dll_memset
xor eax, eax
lea edi, [ebp - 0x45c]
add esp, 0x18
mov ecx, esi
stosd dword es:[edi], eax
call fcn.0102de61
cmp eax, ebx
jne 0x102dfed
inc ebx
lea ecx, [ebp - 0x468]
call sub.vdsutil.dll_public:_void___thiscall_CVdsCallTracer::destructor_void_
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.010634db
leave
ret
jl 0x102dfd1
push ebx
push 0x1001ab4
call sub.vdsutil.dll_unsigned_long_int___stdcall_AddEventSource_unsigned_short_int___struct_HINSTANCE____
test eax, eax
jne 0x102dfd1
push 0xf003f
push ebx
push ebx
call dword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_OpenSCManagerW]
mov edi, eax
mov dword [ebp - 0x460], edi
cmp edi, ebx
jne 0x102e024
push 0x10
push 0x68
mov ecx, esi
call fcn.0102cefc
jmp 0x102dfd1
push 0x104
lea eax, [ebp - 0x20c]
push eax
push ebx
call dword [sym.imp.API_MS_Win_Core_LibraryLoader_L1_1_0.dll_GetModuleFileNameW]
push ebx
push ebx
push 0x10032a4
push ebx
push ebx
xor eax, eax
mov word [ebp - 6], ax
lea eax, [ebp - 0x20c]
push eax
push 1
push 3
push 0x10
push 0xf01ff
lea eax, [esi + 8]
push eax
push esi
push edi
call dword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_CreateServiceW]
mov dword [ebp - 0x428], eax
cmp eax, ebx
jne 0x102e07b
push edi
call dword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_CloseServiceHandle]
push 0x10
push 0x69
jmp 0x102e01b
push 0x100
lea eax, [ebp - 0x40c]
push eax
push 0x70
push dword [esi + 0x58]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jle 0x102e0c2
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x45c], eax
lea eax, [ebp - 0x45c]
push eax
push 1
push dword [ebp - 0x428]
call dword [sym.imp.API_MS_WIN_Service_Management_L2_1_0.dll_ChangeServiceConfig2W]
test eax, eax
jne 0x102e0d3
push 0x2010006
jmp 0x102e0c7
push 0x2010007
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
push eax
call fcn.0102ce3f
mov esi, dword [sym.imp.API_MS_Win_Core_Heap_L1_1_0.dll_GetProcessHeap]
mov eax, dword [ebp - 0x458]
cmp eax, ebx
je 0x102e0e9
mov dword [ebp - 0x44c], eax
push dword [ebp - 0x418]
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
push dword [ebp - 0x44c]
push 8
pop edi
push edi
call esi
push eax
call sub.vdsutil.dll_void____stdcall_VdsHeapAlloc_void___unsigned_long_int__unsigned_long_int_
mov dword [ebp - 0x418], eax
cmp eax, ebx
je 0x102e149
lea ecx, [ebp - 0x458]
push ecx
push dword [ebp - 0x44c]
push eax
push 4
push dword [ebp - 0x428]
call dword [sym.imp.API_MS_WIN_Service_Management_L2_1_0.dll_QueryServiceObjectSecurity]
cmp eax, ebx
jne 0x102e155
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
cmp eax, 0x7a
je 0x102e0d9
push 0x201000a
jmp 0x102e44a
push 0x2010008
push 0xe
jmp 0x102e44b
lea eax, [ebp - 0x438]
push eax
push ebx
lea eax, [ebp - 0x430]
push eax
push ebx
lea eax, [ebp - 0x420]
push eax
push ebx
lea eax, [ebp - 0x434]
push eax
push ebx
lea eax, [ebp - 0x42c]
push eax
push ebx
push dword [ebp - 0x418]
call dword [sym.imp.API_MS_Win_Security_Base_L1_1_0.dll_MakeAbsoluteSD]
cmp dword [ebp - 0x42c], ebx
je 0x102e1b1
push dword [ebp - 0x42c]
push edi
call esi
push eax
call sub.vdsutil.dll_void____stdcall_VdsHeapAlloc_void___unsigned_long_int__unsigned_long_int_
mov dword [ebp - 0x424], eax
cmp eax, ebx
jne 0x102e1b1
push 0x201000b
jmp 0x102e14e
cmp dword [ebp - 0x434], ebx
je 0x102e1dc
push dword [ebp - 0x434]
push edi
call esi
push eax
call sub.vdsutil.dll_void____stdcall_VdsHeapAlloc_void___unsigned_long_int__unsigned_long_int_
mov dword [ebp - 0x414], eax
cmp eax, ebx
jne 0x102e1dc
push 0x201000c
jmp 0x102e14e
cmp dword [ebp - 0x420], ebx
je 0x102e207
push dword [ebp - 0x420]
push edi
call esi
push eax
call sub.vdsutil.dll_void____stdcall_VdsHeapAlloc_void___unsigned_long_int__unsigned_long_int_
mov dword [ebp - 0x440], eax
cmp eax, ebx
jne 0x102e207
push 0x201000d
jmp 0x102e14e
cmp dword [ebp - 0x430], ebx
je 0x102e232
push dword [ebp - 0x430]
push edi
call esi
push eax
call sub.vdsutil.dll_void____stdcall_VdsHeapAlloc_void___unsigned_long_int__unsigned_long_int_
mov dword [ebp - 0x43c], eax
cmp eax, ebx
jne 0x102e232
push 0x201000e
jmp 0x102e14e
cmp dword [ebp - 0x438], ebx
je 0x102e25d
push dword [ebp - 0x438]
push edi
call esi
push eax
call sub.vdsutil.dll_void____stdcall_VdsHeapAlloc_void___unsigned_long_int__unsigned_long_int_
mov dword [ebp - 0x444], eax
cmp eax, ebx
jne 0x102e25d
push 0x201000f
jmp 0x102e14e
lea eax, [ebp - 0x438]
push eax
push dword [ebp - 0x444]
lea eax, [ebp - 0x430]
push eax
push dword [ebp - 0x43c]
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 0x440]
lea eax, [ebp - 0x434]
push eax
push dword [ebp - 0x414]
lea eax, [ebp - 0x42c]
push eax
push dword [ebp - 0x424]
push dword [ebp - 0x418]
call dword [sym.imp.API_MS_Win_Security_Base_L1_1_0.dll_MakeAbsoluteSD]
test eax, eax
jne 0x102e2be
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
push 0x2010010
jmp 0x102e44a
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x47c]
push eax
push 1
call sub.vdsutil.dll_unsigned_long_int___stdcall_InitializeSecurityDescriptor_unsigned_long_int__void___struct__ACL____void____void____void___
test eax, eax
je 0x102e2fc
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
push 0x2010011
jmp 0x102e44a
mov eax, dword [ebp - 0x414]
movzx edi, word [eax + 2]
movzx eax, di
mov ecx, 0xffff
sub ecx, eax
cmp ecx, 8
jae 0x102e321
push 0x2010012
push 0x6f
jmp 0x102e44b
push dword [ebp - 0x41c]
add edi, 8
call dword [sym.imp.API_MS_Win_Security_Base_L1_1_0.dll_IsValidSid]
test eax, eax
jne 0x102e343
push 0x2010013
push 0x539
jmp 0x102e44b
push dword [ebp - 0x41c]
call dword [sym.imp.API_MS_Win_Security_Base_L1_1_0.dll_GetLengthSid]
cmp eax, ebx
jne 0x102e35a
push 0x2010014
jmp 0x102e339
movzx ecx, di
mov edx, 0xffff
sub edx, ecx
cmp eax, edx
jbe 0x102e36f
push 0x2010015
jmp 0x102e31a
push dword [ebp - 0x414]
add edi, eax
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
movzx eax, di
push eax
push 8
call esi
push eax
call sub.vdsutil.dll_void____stdcall_VdsHeapAlloc_void___unsigned_long_int__unsigned_long_int_
mov dword [ebp - 0x414], eax
cmp eax, ebx
jne 0x102e3a2
push 0x2010016
jmp 0x102e14e
lea ecx, [ebp - 0x438]
push ecx
push dword [ebp - 0x444]
lea ecx, [ebp - 0x430]
push ecx
push dword [ebp - 0x43c]
lea ecx, [ebp - 0x420]
push ecx
push dword [ebp - 0x440]
lea ecx, [ebp - 0x434]
push ecx
push eax
lea eax, [ebp - 0x42c]
push eax
push dword [ebp - 0x424]
push dword [ebp - 0x418]
call dword [sym.imp.API_MS_Win_Security_Base_L1_1_0.dll_MakeAbsoluteSD]
test eax, eax
jne 0x102e3fb
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
push 0x2010017
jmp 0x102e44a
mov eax, dword [ebp - 0x414]
mov word [eax + 2], di
push dword [ebp - 0x41c]
push 0x70
push 2
push eax
call dword [sym.imp.API_MS_Win_Security_Base_L1_1_0.dll_AddAccessAllowedAce]
test eax, eax
jne 0x102e427
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
push 0x2010018
jmp 0x102e44a
push dword [ebp - 0x424]
push 4
push dword [ebp - 0x428]
call dword [sym.imp.API_MS_WIN_Service_Management_L2_1_0.dll_SetServiceObjectSecurity]
test eax, eax
jne 0x102e456
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
push 0x2010019
push eax
call fcn.0102ce3f
mov dword [ebp - 0x410], ebx
push dword [ebp - 0x418]
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
push dword [ebp - 0x424]
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
push dword [ebp - 0x414]
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
push dword [ebp - 0x440]
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
push dword [ebp - 0x43c]
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
push dword [ebp - 0x444]
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
push dword [ebp - 0x454]
push ebx
call esi
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
mov esi, dword [sym.imp.API_MS_Win_Security_Base_L1_1_0.dll_FreeSid]
mov dword [ebp - 0x454], ebx
cmp dword [ebp - 0x448], ebx
je 0x102e4db
push dword [ebp - 0x448]
call esi
cmp dword [ebp - 0x450], ebx
je 0x102e4eb
push dword [ebp - 0x450]
call esi
cmp dword [ebp - 0x41c], ebx
je 0x102e4fb
push dword [ebp - 0x41c]
call esi
cmp dword [ebp - 0x428], 0xffffffff
mov esi, dword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_CloseServiceHandle]
je 0x102e512
push dword [ebp - 0x428]
call esi
cmp dword [ebp - 0x460], 0xffffffff
je 0x102e523
push dword [ebp - 0x460]
call esi
mov ebx, dword [ebp - 0x410]
jmp 0x102dfd1