Function at 0x402180
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x34c
lea ecx, [esp + 0x108]
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
push edi
push eax
push ecx
call ebp
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [esp + 0x114]
push str.LDE_
push edx
call esi
lea eax, [esp + 0x114]
lea ecx, [esp + 0x10]
push eax
push ecx
call ebp
lea edx, [esp + 0x10]
push str.LDELoad.log
push edx
call esi
lea eax, [esp + 0x10]
push 2
push eax
call fcn.00416ce0
mov edi, eax
add esp, 8
cmp edi, 0xffffffff
je 0x402458
push 0x320
call fcn.00401a60
add esp, 4
mov dword [0x41de54], eax
test eax, eax
jne 0x402211
push str.___Couldnt_allocate_buffer_for_LDE_INFO_structures...
push edi
call fcn.00402100
add esp, 8
jmp 0x402451
lea ecx, [esp + 0x114]
push ecx
push str.___Looking_for_LDEs_in__s...
push edi
call fcn.00402100
add esp, 0xc
lea edx, [esp + 0x114]
lea eax, [esp + 0x10]
push edx
push eax
call ebp
lea ecx, [esp + 0x10]
push str..lde
push ecx
call esi
lea edx, [esp + 0x218]
lea eax, [esp + 0x10]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x402271
push str.___No_LDEs__.lde__found...
push edi
call fcn.00402100
add esp, 8
jmp 0x402451
mov eax, dword [0x41de58]
push ebx
cmp eax, 0x32
je 0x402420
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x40228e
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x118]
lea edx, [esp + 0x14]
push ecx
push edx
call ebp
lea eax, [esp + 0x248]
lea ecx, [esp + 0x14]
push eax
push ecx
call esi
lea edx, [esp + 0x248]
push edx
push str.___Processing__s...
push edi
call fcn.00402100
add esp, 0xc
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
jne 0x4022dd
push str.___Couldnt_load_LDE_file...
jmp 0x4023f3
mov ecx, dword [0x41de58]
mov edx, dword [0x41de54]
shl ecx, 4
push str.GetLDEName
push esi
mov dword [ecx + edx], esi
call ebx
mov ecx, dword [0x41de58]
mov edx, dword [0x41de54]
shl ecx, 4
mov dword [ecx + edx + 4], eax
mov eax, dword [0x41de58]
mov ecx, dword [0x41de54]
shl eax, 4
mov edx, dword [eax + ecx + 4]
test edx, edx
jne 0x40232e
push str.___GetLDEName_isnt_exported_properly...
push edi
call fcn.00402100
add esp, 8
push str.DumpProcessRange
push esi
call ebx
mov edx, dword [0x41de58]
mov ecx, dword [0x41de54]
shl edx, 4
mov dword [edx + ecx + 8], eax
mov edx, dword [0x41de58]
mov eax, dword [0x41de54]
shl edx, 4
mov ecx, dword [edx + eax + 8]
test ecx, ecx
jne 0x40236d
push str.___DumpProcessRange_isnt_exported_properly...
push edi
call fcn.00402100
add esp, 8
push str.ShowLDEInfo
push esi
call ebx
mov ecx, dword [0x41de58]
mov edx, dword [0x41de54]
shl ecx, 4
mov dword [ecx + edx + 0xc], eax
mov eax, dword [0x41de58]
mov edx, dword [0x41de54]
mov ecx, eax
shl ecx, 4
mov esi, dword [ecx + edx + 0xc]
test esi, esi
jne 0x4023b3
push str.___ShowLDEInfo_isnt_exported_properly...
push edi
call fcn.00402100
mov eax, dword [0x41de58]
add esp, 8
mov ecx, dword [0x41de54]
shl eax, 4
add eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4023ee
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4023ee
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4023ee
push str.___LDE_loaded...
push edi
call fcn.00402100
mov eax, dword [0x41de58]
add esp, 8
inc eax
mov dword [0x41de58], eax
jmp 0x4023fc
push str.___LDE_NOT_loaded...
push edi
call fcn.00402100
add esp, 8
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x21c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x402430
cmp dword [0x41de58], 0x32
jne 0x402288
push 0x32
push str.___The_maxmimum_number_of_LDEs___u__is_reached...
push edi
call fcn.00402100
add esp, 0xc
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edx, dword [0x41de58]
push edx
push str.___Total_loaded_LDEs:__u
push edi
call fcn.00402100
add esp, 0xc
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x41de58]
pop edi
pop esi
pop ebp
add esp, 0x34c
ret