Function at 0x1001d660
Capabilities:
Create service

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100a4be0
push 0x10058bc0
mov eax, dword fs:[0]
push eax
sub esp, 0x434
mov eax, dword [0x100ae254]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x428], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x438], eax
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x424], esi
mov dword [ebp - 0x43c], esi
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x440], ebx
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x430], ecx
mov dword [ebp - 0x444], ecx
xor edi, edi
mov dword [ebp - 0x420], edi
mov dword [ebp - 4], edi
mov dword [eax], edi
mov dword [esi], edi
mov dword [ebx], edi
mov dword [ecx], edi
push 0x200
push edi
lea eax, [ebp - 0x21c]
push eax
call fcn.10058a20
push dword [ebp - 0x434]
push str.__SystemRoot__System32_svchost.exe__k__s
push 0xff
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfW]
add esp, 0x1c
push 0xf003f
push edi
push edi
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov ecx, eax
mov eax, dword [ebp - 0x42c]
mov dword [eax], ecx
test ecx, ecx
jne 0x1001d774
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
push str.cs_open_mgr_f
push 0x1008a498
call fcn.10021880
add esp, 0xc
call esi
push eax
push str.OpenSCManager___d_
call fcn.10007df0
add esp, 8
mov esi, dword [ebp - 0x424]
jmp 0x1001d8ea
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x21c]
push eax
push 1
push 3
push 0x20
push 0xf01ff
mov eax, dword [ebp - 0x428]
push eax
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov dword [esi], eax
test eax, eax
jne 0x1001d80c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.cs_create_svc_f
push 0x1008a498
call fcn.10021880
add esp, 0xc
mov edi, 2
mov dword [ebp - 0x420], edi
push 0xf01ff
push dword [ebp - 0x428]
mov eax, dword [ebp - 0x42c]
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [esi], eax
test eax, eax
jne 0x1001d80c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.cs_open_svc_f
push 0x1008a498
call fcn.10021880
add esp, 0xc
mov edi, 3
mov dword [ebp - 0x420], edi
push 0x200
push 0
lea eax, [ebp - 0x41c]
push eax
call fcn.10058a20
push dword [ebp - 0x428]
push str.SYSTEMCurrentControlSetServices_s
push 0xff
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfW]
add esp, 0x1c
push ebx
push 0xf023f
push 0
lea eax, [ebp - 0x41c]
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x424], eax
test eax, eax
je 0x1001d890
push eax
push str.cs_open_reg_f
push 0x1008a498
call fcn.10021880
xor edi, edi
mov dword [ebp - 0x420], edi
push dword [ebp - 0x424]
push str.RegOpenKeyEx___d_
call fcn.10007df0
add esp, 0x14
jmp 0x1001d8ea
push dword [ebp - 0x430]
push str.Parameters
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
mov dword [ebp - 0x424], eax
test eax, eax
je 0x1001d8da
push eax
push str.cs_create_reg_f
push 0x1008a498
call fcn.10021880
xor edi, edi
mov dword [ebp - 0x420], edi
push dword [ebp - 0x424]
push str.RegCreateKey___d_
call fcn.10007df0
add esp, 0x14
jmp 0x1001d8ea
mov eax, 1
test edi, edi
cmove edi, eax
mov dword [ebp - 0x420], edi
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x430]
call fcn.1001d940
mov eax, edi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.10051ab7
mov esp, ebp
pop ebp
ret 0x18