Function at 0x40b362
Capabilities:
Query service status

Disassembly:
mov eax, 0x4121c1
call fcn.00404e64
sub esp, 0x45c
mov eax, dword [0x4140c0]
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 0x40
pop ecx
mov dword [ebp - 0x14], eax
xor eax, eax
xor ebx, ebx
push 0x40
mov byte [ebp - 0x118], bl
lea edi, [ebp - 0x117]
rep stosd dword es:[edi], eax
pop ecx
push 0x40
mov byte [ebp - 0x21c], bl
lea edi, [ebp - 0x21b]
rep stosd dword es:[edi], eax
pop ecx
mov byte [ebp - 0x320], bl
lea edi, [ebp - 0x31f]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x118]
push eax
mov dword [ebp - 0x324], ebx
mov dword [ebp - 0x328], ebx
mov dword [ebp - 4], ebx
call fcn.0040d2f0
cmp eax, 0xa
je 0x40b68a
cmp eax, ebx
je 0x40b68a
cmp eax, 3
je 0x40b68a
cmp eax, 2
je 0x40b68a
cmp eax, 6
je 0x40b68a
xor edi, edi
inc edi
push edi
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
cmp eax, ebx
mov dword [ebp - 0x324], eax
jne 0x40b488
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x402770
mov esi, eax
call fcn.0040b349
push esi
push 0x40274c
call fcn.0040b30a
lea ecx, [ebp - 0x348]
call fcn.00403390
push 0x1018
push 0x10
push 0xa
push 0x67
lea ecx, [ebp - 0x348]
call fcn.0040a169
push 8
pop ecx
lea esi, [ebp - 0x348]
lea edi, [ebp - 0x408]
rep movsd dword es:[edi], dword [esi]
push 0x4122a4
lea eax, [ebp - 0x408]
jmp 0x40b6dc
push 0x24
push 0x402740
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov esi, eax
cmp esi, ebx
mov dword [ebp - 0x328], esi
jne 0x40b501
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x4026f8
mov esi, eax
call fcn.0040b349
push esi
push 0x40274c
call fcn.0040b30a
lea ecx, [ebp - 0x348]
call fcn.00403390
push 0x1018
push 0x10
push 0xa
push 0x67
lea ecx, [ebp - 0x348]
call fcn.0040a169
push 8
pop ecx
lea esi, [ebp - 0x348]
lea edi, [ebp - 0x3a8]
rep movsd dword es:[edi], dword [esi]
push 0x4122a4
lea eax, [ebp - 0x3a8]
jmp 0x40b6dc
lea eax, [ebp - 0x388]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp eax, ebx
jne 0x40b572
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x4026b0
mov esi, eax
call fcn.0040b349
push esi
push 0x40274c
call fcn.0040b30a
lea ecx, [ebp - 0x348]
call fcn.00403390
push 0x1018
push 0x10
push 0xa
push 0x67
lea ecx, [ebp - 0x348]
call fcn.0040a169
push 8
pop ecx
lea esi, [ebp - 0x348]
lea edi, [ebp - 0x448]
rep movsd dword es:[edi], dword [esi]
push 0x4122a4
lea eax, [ebp - 0x448]
jmp 0x40b6dc
cmp dword [ebp - 0x384], edi
je 0x40b658
lea eax, [ebp - 0x344]
push eax
push edi
push esi
call dword [sym.imp.ADVAPI32.dll_ControlService]
cmp eax, ebx
jne 0x40b5ee
push 0x402674
call fcn.0040b349
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x402654
call fcn.0040b30a
lea ecx, [ebp - 0x36c]
call fcn.00403390
push 0x1018
push 0x10
push 0xa
push 0x67
lea ecx, [ebp - 0x36c]
call fcn.0040a169
push 8
pop ecx
lea esi, [ebp - 0x36c]
lea edi, [ebp - 0x3e8]
rep movsd dword es:[edi], dword [esi]
push 0x4122a4
lea eax, [ebp - 0x3e8]
jmp 0x40b6dc
push 0x3a98
lea eax, [ebp - 0x344]
push eax
push edi
push esi
call fcn.0040aaf3
cmp eax, ebx
jne 0x40b651
push 0x4025f8
call fcn.0040b349
lea ecx, [ebp - 0x36c]
call fcn.00403390
push 0x1017
push 0x10
push 0xa
push 0x66
lea ecx, [ebp - 0x36c]
call fcn.0040a169
push 8
pop ecx
lea esi, [ebp - 0x36c]
lea edi, [ebp - 0x3c8]
rep movsd dword es:[edi], dword [esi]
push 0x4122a4
lea eax, [ebp - 0x3c8]
jmp 0x40b6dc
push 0x4025b8
jmp 0x40b65d
push 0x402580
call fcn.0040b349
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call esi
push dword [ebp - 0x324]
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.00404d66
pop edi
pop esi
pop ebx
leave
ret
push 0x402508
call fcn.0040b349
jmp 0x40b673
push eax
call fcn.00404e83
int3