Function at 0x401cc0
Capabilities:
Enumerate process modules

Disassembly:
sub esp, 0x224
push ebx
push ebp
push esi
push edi
push str._to_load
push 0x41c564
push str.Waiting_for
push 0x41e2d8
call fcn.004031b0
add esp, 8
push eax
call fcn.004031b0
add esp, 8
push eax
call fcn.004031b0
add esp, 8
mov eax, dword [esp + 0x238]
xor ebx, ebx
push eax
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
lea ecx, [esp + 0x10]
mov ebp, eax
push ecx
push ebp
call sub.KERNEL32.dll_Module32First
test eax, eax
je 0x401dcd
mov edi, 0x41c580
lea esi, [esp + 0x30]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401da7
push 0xa
mov ecx, 0x41e2d8
mov ebx, 1
call fcn.00402720
mov eax, dword [0x41e2d8]
xor esi, esi
mov eax, dword [eax + 4]
test byte [eax + 0x41e2dc], 6
jne 0x401d6d
mov eax, dword [eax + 0x41e300]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x401d6d
mov esi, 4
mov eax, dword [0x41e2d8]
mov ecx, dword [eax + 4]
add ecx, 0x41e2d8
test esi, esi
je 0x401d95
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, esi
test edx, edx
jne 0x401d8d
or al, 4
push 0
push eax
call fcn.00408bfe
push str.DLL_loaded__Waiting_for_it_to_unload
push 0x41e2d8
call fcn.004031b0
add esp, 8
lea ecx, [esp + 0x10]
push ecx
push ebp
call sub.KERNEL32.dll_Module32Next
test eax, eax
jne 0x401d1e
test ebx, ebx
jne 0x401ddd
push 0x2e
push 0x41e2d8
call fcn.00403440
add esp, 8
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x401cf8
mov edx, dword [esp + 0x238]
xor ebp, ebp
push edx
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebx, eax
lea eax, [esp + 0x10]
push eax
push ebx
call sub.KERNEL32.dll_Module32First
test eax, eax
je 0x401e3a
mov edi, str.gMap.dll
lea esi, [esp + 0x30]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401e27
push 0x2e
push 0x41e2d8
mov ebp, 1
call fcn.00403440
add esp, 8
lea eax, [esp + 0x10]
push eax
push ebx
call sub.KERNEL32.dll_Module32Next
test eax, eax
jne 0x401dff
test ebp, ebp
je 0x401e47
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x401ddd
push 0xa
mov ecx, 0x41e2d8
call fcn.00402720
mov ecx, dword [0x41e2d8]
xor esi, esi
mov eax, dword [ecx + 4]
test byte [eax + 0x41e2dc], 6
jne 0x401e7e
mov eax, dword [eax + 0x41e300]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x401e7e
mov esi, 4
mov eax, dword [0x41e2d8]
mov ecx, dword [eax + 4]
add ecx, 0x41e2d8
test esi, esi
je 0x401ea6
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, esi
test edx, edx
jne 0x401e9e
or al, 4
push 0
push eax
call fcn.00408bfe
push str.DLL_unloaded__Resuming_Diablo_II_threads._Happy_maphacking_:_
push 0x41e2d8
call fcn.004031b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00402720
mov ecx, dword [esi]
xor edi, edi
mov edx, dword [ecx + 4]
mov cl, byte [edx + esi + 4]
test cl, 6
lea eax, [edx + esi]
jne 0x401eea
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x401eea
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x401f0b
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x401f03
or al, 4
push 0
push eax
call fcn.00408bfe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x224
ret