Function at 0x401950
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40b711
mov eax, dword fs:[0]
push eax
mov eax, 0x1158
call fcn.00409b30
mov eax, dword [0x410280]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor esi, esi
mov dword [ebp - 0x1134], esi
push 0x30
mov dword [ebp - 0x1164], ebx
mov dword [ebp - 0x1120], esi
call fcn.004041b1
add esp, 4
cmp eax, esi
je 0x401c6d
mov dword [ebp - 0x1124], eax
mov dword [eax], eax
mov eax, dword [ebp - 0x1124]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x1124]
mov dword [eax + 8], eax
mov eax, dword [ebp - 0x1124]
mov byte [eax + 0x2c], 1
mov ecx, dword [ebp - 0x1124]
mov byte [ecx + 0x2d], 1
mov dword [ebp - 4], 1
call fcn.004018b0
lea edx, [ebp - 0x1140]
push edx
push 0x1000
lea eax, [ebp - 0x1118]
push eax
call dword [sym.imp.PSAPI.DLL_EnumProcesses]
test eax, eax
jne 0x401a62
push ebx
lea edi, [ebp - 0x1128]
call fcn.004021d0
mov dword [ebp - 0x1134], 1
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x1124]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x1130]
lea esi, [ebp - 0x1128]
call fcn.004022c0
mov ecx, dword [ebp - 0x1124]
push ecx
call fcn.00403bf3
add esp, 4
mov eax, ebx
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.00403bfe
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1140]
shr ecx, 2
xor eax, eax
mov dword [ebp - 0x112c], ecx
mov dword [ebp - 0x1138], eax
cmp ecx, esi
jbe 0x401b78
mov edi, dword [ebp + eax*4 - 0x1118]
cmp edi, esi
je 0x401b69
cmp edi, 4
je 0x401b69
mov edx, dword [str._unknown_]
mov eax, dword [0x40e314]
mov cx, word [0x40e318]
push 0xfa
mov dword [ebp - 0x118], edx
lea edx, [ebp - 0x10e]
push esi
push edx
mov dword [ebp - 0x114], eax
mov word [ebp - 0x110], cx
call fcn.004057f0
add esp, 0xc
push edi
push esi
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x401b22
lea eax, [ebp - 0x113c]
push eax
push 4
lea ecx, [ebp - 0x1148]
push ecx
push esi
call dword [sym.imp.PSAPI.DLL_EnumProcessModules]
test eax, eax
je 0x401b1b
mov eax, dword [ebp - 0x1148]
push 0x104
lea edx, [ebp - 0x118]
push edx
push eax
push esi
call dword [sym.imp.PSAPI.DLL_GetModuleFileNameExA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x1144]
push ecx
lea ecx, [ebp - 0x1128]
mov dword [ebp - 0x1144], edi
call fcn.004020a0
mov esi, eax
lea eax, [ebp - 0x118]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401b45
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x118]
call fcn.00401390
mov ecx, dword [ebp - 0x112c]
mov eax, dword [ebp - 0x1138]
xor esi, esi
inc eax
mov dword [ebp - 0x1138], eax
cmp eax, ecx
jb 0x401a81
push 0x30
mov dword [ebx + 8], esi
call fcn.004041b1
add esp, 4
cmp eax, esi
je 0x401c3a
mov dword [ebx + 4], eax
mov dword [eax], eax
mov eax, dword [ebx + 4]
mov dword [eax + 4], eax
mov eax, dword [ebx + 4]
mov dword [eax + 8], eax
mov edx, dword [ebx + 4]
mov byte [edx + 0x2c], 1
mov eax, dword [ebx + 4]
mov byte [eax + 0x2d], 1
lea ecx, [ebp - 0x1128]
mov byte [ebp - 4], 3
cmp ebx, ecx
je 0x401c02
mov edx, dword [ebx + 4]
mov eax, dword [edx + 4]
push eax
mov ecx, ebx
call fcn.00402660
mov eax, dword [ebx + 4]
mov dword [eax + 4], eax
mov eax, dword [ebx + 4]
mov dword [eax], eax
mov eax, dword [ebx + 4]
mov dword [eax + 8], eax
mov ecx, dword [ebp - 0x1124]
mov edx, dword [ebp - 0x1120]
mov dword [ebx + 8], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x1124], eax
mov dword [ebx + 8], edx
mov dword [ebp - 0x1120], ecx
jmp 0x401c08
mov eax, dword [ebp - 0x1124]
mov dword [ebp - 0x1134], 1
mov dword [ebp - 4], 4
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x113c]
lea esi, [ebp - 0x1128]
call fcn.004022c0
mov eax, dword [ebp - 0x1124]
push eax
jmp 0x401a3d
lea ecx, [ebp - 0x112c]
push ecx
lea ecx, [ebp - 0x1154]
mov dword [ebp - 0x112c], esi
call fcn.00403d96
push 0x40ebdc
lea edx, [ebp - 0x1154]
push edx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.00404a3f
lea eax, [ebp - 0x1130]
push eax
lea ecx, [ebp - 0x1160]
mov dword [ebp - 0x1130], esi
call fcn.00403d96
push 0x40ebdc
lea ecx, [ebp - 0x1160]
push ecx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.00404a3f
int3