Function at 0x402350
Capabilities:
Continue service
Delete service
Pause service
Stop service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x42a050]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0xa
push str..TheDrv
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
call fcn.00404310
cmp dword [ebp - 0x10], 0x10
lea eax, [ebp - 0x24]
push 0
cmovae eax, dword [ebp - 0x24]
push 0x80
push 3
push 0
push 0
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x42bc40], eax
test eax, eax
jg 0x402428
push 2
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
push 0x10030
mov esi, eax
push str.srv5
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
push 0
mov edi, eax
push 1
push edi
call dword [sym.imp.ADVAPI32.dll_ControlService]
push edi
call dword [sym.imp.ADVAPI32.dll_DeleteService]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call esi
push edi
call esi
call fcn.00401f60
cmp dword [ebp - 0x10], 0x10
lea eax, [ebp - 0x24]
push 0
cmovae eax, dword [ebp - 0x24]
push 0x80
push 3
push 0
push 0
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x42bc40], eax
test eax, eax
jle 0x4025fc
mov edx, dword [ebp - 0x10]
cmp edx, 0x10
jb 0x40245c
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402452
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402659
push edx
push ecx
call fcn.00405998
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 8], 0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
xorps xmm0, xmm0
push 0
mov dword [0x42bc48], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
mov dword [0x42bc4c], 0
push eax
push 0x40
push 0x42bc48
push 0x224908
push dword [0x42bc40]
movlpd qword [0x42bc50], xmm0
mov dword [0x42bc58], 7
mov dword [0x42bc5c], 0
mov dword [0x42bc60], 1
mov dword [0x42bc64], 0
call edi
test eax, eax
jne 0x4024e8
push 0x10
push str.Error
push str.Process_protection_failed_1_
jmp 0x402638
mov dword [ebp - 8], 0
call esi
push 0
mov dword [0x42bc48], eax
xorps xmm0, xmm0
lea eax, [ebp - 0xc]
mov dword [0x42bc4c], 0
push eax
push 4
lea eax, [ebp - 8]
movlpd qword [0x42bc50], xmm0
push eax
push 0x40
push 0x42bc48
push 0x224904
push dword [0x42bc40]
movlpd qword [0x42bc58], xmm0
mov dword [0x42bc60], 1
mov dword [0x42bc64], 0
call edi
test eax, eax
jne 0x40255c
push 0x10
push str.Error
push str.Process_protection_failed_2_
jmp 0x402638
mov dword [ebp - 8], 0
call esi
push 0
mov dword [0x42bc48], eax
xorps xmm0, xmm0
lea eax, [ebp - 0xc]
mov dword [0x42bc4c], 0
push eax
push 4
lea eax, [ebp - 8]
movlpd qword [0x42bc50], xmm0
push eax
push 0x40
push 0x42bc48
push 0x224918
push dword [0x42bc40]
movlpd qword [0x42bc58], xmm0
mov dword [0x42bc60], 1
mov dword [0x42bc64], 0
call edi
test eax, eax
jne 0x4025cd
push 0x10
push str.Error
push str.Process_protection_failed_3_
jmp 0x402638
push str.Main.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x402640
push str.DLLyz
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x402640
push 0x4a3f75a
call eax
cmp eax, 0x9fda0
je 0x402654
jmp 0x402640
mov edx, dword [ebp - 0x10]
cmp edx, 0x10
jb 0x40262c
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402622
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402659
push edx
push ecx
call fcn.00405998
add esp, 8
push 0x10
push str.Eorr
push str.Driver_loading_failed
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.00405955
mov esp, ebp
pop ebp
ret 0x10
call fcn.00402310
call fcn.0040b26c
int3