Function at 0x4be420
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a203d
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x73a280]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x25c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
mov dword [ebp - 0x260], esi
cmp esi, 0xffffffff
je 0x4be6fc
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
call fcn.00505c40
push 0x220
lea eax, [ebp - 0x248]
push 0
push eax
call fcn.006430f0
add esp, 0x10
mov dword [ebp - 0x24c], 0x224
lea eax, [ebp - 0x24c]
push eax
push esi
call sub.KERNEL32.dll_Module32First
test eax, eax
je 0x4be52f
nop dword [eax + eax]
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.004be890
add esp, 8
test eax, eax
jne 0x4be56d
push 0x220
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.006430f0
add esp, 0xc
mov dword [ebp - 0x24c], 0x224
lea eax, [ebp - 0x24c]
push eax
push esi
call sub.KERNEL32.dll_Module32Next
test eax, eax
jne 0x4be4e0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x4be6fc
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4be6f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be719
jmp 0x4be6f2
lea esi, [ebp - 0x12c]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4be576
sub esi, ecx
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x258], ecx
cmp esi, ecx
ja 0x4be5c4
mov dword [ebp - 0x250], edi
mov eax, edi
cmp ecx, 0xf
jbe 0x4be5a1
mov eax, dword [edi]
mov dword [ebp - 0x250], eax
push esi
lea ecx, [ebp - 0x12c]
mov dword [edi + 0x10], esi
push ecx
push eax
call fcn.00643a30
mov eax, dword [ebp - 0x250]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x4be6a4
cmp esi, 0x7fffffff
ja 0x4be71e
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x4be5ef
mov eax, bind
mov edi, bind
push eax
call fcn.0043e900
jmp 0x4be634
mov edx, ecx
mov eax, bind
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x4be610
mov eax, bind
mov edi, bind
push eax
call fcn.0043e900
jmp 0x4be634
lea eax, [edx + ecx]
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
test eax, eax
je 0x4be637
cmp eax, 0x1000
jb 0x4be62e
push eax
call fcn.0043e900
jmp 0x4be634
push eax
call fcn.005c8dfe
add esp, 4
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x250]
push esi
mov dword [eax + 0x14], edi
mov edi, dword [ebp - 0x254]
mov dword [eax + 0x10], esi
lea eax, [ebp - 0x12c]
push eax
push edi
call fcn.00643a30
mov eax, dword [ebp - 0x258]
add esp, 0xc
mov byte [edi + esi], 0
mov esi, dword [ebp - 0x250]
cmp eax, 0xf
jbe 0x4be6a2
lea ecx, [eax + 1]
mov eax, dword [esi]
cmp ecx, 0x1000
jb 0x4be698
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be719
mov eax, edx
push ecx
push eax
call fcn.005c8a85
add esp, 8
mov dword [esi], edi
mov ecx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x238]
push dword [ebp - 0x260]
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x4be6ee
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4be6e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be719
push ecx
push edx
call fcn.005c8a85
add esp, 8
mov al, 1
jmp 0x4be6fe
push ecx
push edx
call fcn.005c8a85
add esp, 8
xor al, al
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.005c8a4d
mov esp, ebp
pop ebp
ret
call fcn.0064e36a
call fcn.00444010
int3