Function at 0x433460
Capabilities:
Enumerate services

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b29fe
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x4e1654]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
push SysReAllocString
push 0x4ba2a4
push 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x44], 1
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x43370a
push 0xb000
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x3c], 0
call fcn.0048b1d4
mov esi, eax
add esp, 4
mov dword [ebp - 0x48], esi
push 0
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x40]
push eax
push 0xb000
push esi
push 3
push 0x10
push 0
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
test eax, eax
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x4335ac
mov edi, 0x400
call eax
cmp eax, 0xea
jne 0x4335a4
add edi, edi
xor ecx, ecx
mov eax, edi
mov edx, 0x2c
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048b1d4
mov ecx, eax
add esp, 4
mov eax, esi
mov dword [ebp - 0x38], ecx
mov esi, ecx
mov dword [ebp - 0x48], esi
test eax, eax
je 0x433579
push eax
call fcn.0048aaa1
add esp, 4
mov ecx, esi
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x40]
push eax
imul eax, edi, 0x2c
push eax
push ecx
push 3
push 0x10
push 0
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
test eax, eax
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x433538
mov edi, dword [ebp - 0x34]
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
cmp eax, 0xea
je 0x4335e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x4335e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 0x30]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00471b50
add esp, 8
mov byte [ebp - 4], 3
jmp 0x43371d
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0
jbe 0x4336d2
mov eax, esi
mov dword [ebp - 0x38], esi
nop dword [eax]
mov edx, dword [eax]
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 0x4c], ecx
nop word [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433610
sub eax, dword [ebp - 0x4c]
xor ecx, ecx
sar eax, 1
mov dword [ebp - 0x28], 0
push eax
mov word [ebp - 0x28], cx
lea ecx, [ebp - 0x28]
push edx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
call fcn.0041ea60
mov eax, dword [edi + 4]
mov byte [ebp - 4], 4
cmp eax, dword [edi + 8]
je 0x433673
movups xmm0, xmmword [ebp - 0x28]
mov edx, 7
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x18]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [edi + 4], 0x18
mov word [ebp - 0x28], ax
jmp 0x433682
lea ecx, [ebp - 0x28]
push ecx
push eax
mov ecx, edi
call fcn.00430910
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x4336b9
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4336af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433705
push edx
push ecx
call fcn.0048aa81
add esp, 8
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
inc ecx
add eax, 0x2c
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], eax
cmp ecx, dword [ebp - 0x2c]
jb 0x433600
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test esi, esi
je 0x4336e8
push esi
call fcn.0048aaa1
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048af00
mov esp, ebp
pop ebp
ret
call fcn.0048f71f
lea eax, [ebp - 0x1c]
push eax
call fcn.00471c40
add esp, 4
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0x58]
call fcn.0043b020
push 0x4da004
lea eax, [ebp - 0x58]
push eax
call fcn.0048c287
int3