Function at 0x405920
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54437c
mov eax, dword fs:[0]
push eax
mov eax, 0x2128
call fcn.0051ff50
mov eax, dword [0x5960c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor edi, edi
push 0xffc
lea ecx, [ebp - 0x1110]
push edi
push ecx
mov dword [ebp - 0x1130], eax
mov dword [ebp - 0x1114], edi
call fcn.00521f30
push 0xffc
lea edx, [ebp - 0x2130]
push edi
push edx
mov dword [ebp - 0x2134], edi
call fcn.00521f30
push 0x103
lea eax, [ebp - 0x113]
push edi
push eax
mov byte [ebp - 0x114], 0
call fcn.00521f30
add esp, 0x24
lea ecx, [ebp - 0x1128]
push ecx
push 0x1000
lea edx, [ebp - 0x1114]
push edx
call dword [sym.imp.PSAPI.DLL_EnumProcesses]
test eax, eax
je 0x405cde
mov eax, dword [ebp - 0x1128]
shr eax, 2
mov dword [ebp - 0x112c], edi
test eax, eax
jle 0x405cd2
lea ecx, [ebp - 0x1114]
mov dword [ebp - 0x1120], ecx
jmp 0x4059f2
xor edi, edi
mov edx, dword [ebp - 0x1120]
mov eax, dword [edx]
push eax
push edi
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
lea ecx, [ebp - 0x1134]
push ecx
push 0x1000
lea edx, [ebp - 0x2134]
mov esi, eax
push edx
push esi
call dword [sym.imp.PSAPI.DLL_EnumProcessModules]
mov ecx, dword [ebp - 0x2134]
push 0x104
lea eax, [ebp - 0x114]
push eax
push ecx
push esi
call dword [sym.imp.PSAPI.DLL_GetModuleFileNameExA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004219a6
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x405cfc
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x111c], ebx
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], edi
test ecx, 0xffff0000
jne 0x405a99
mov edx, ecx
movzx esi, dx
push esi
call fcn.00422d52
cmp eax, edi
je 0x405ac4
push esi
push eax
lea ecx, [ebp - 0x111c]
call fcn.00401d30
jmp 0x405abe
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405aa2
sub eax, edx
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x111c]
call fcn.00402150
mov ebx, dword [ebp - 0x111c]
mov ecx, 1
mov dword [ebp - 4], ecx
mov esi, dword [ebx - 0xc]
cmp esi, edi
jl 0x405d06
mov eax, dword [ebx - 8]
sub ecx, dword [ebx - 4]
sub eax, esi
or eax, ecx
jge 0x405af5
push esi
lea ecx, [ebp - 0x111c]
call fcn.00402080
mov ebx, dword [ebp - 0x111c]
lea ecx, [esi + 1]
push ecx
push ebx
call fcn.0051bd3c
add esp, 8
cmp eax, 0x50
ja case.0x405c01.1
movzx edx, byte [eax + 0x405d2c]
jmp dword [edx*4 + 0x405d1c]
cmp esi, dword [ebx - 8]
jg 0x405d06
mov dword [ebx - 0xc], esi
mov byte [esi + ebx], 0
mov dword [ebp - str.360se.exe], 0x599560
mov eax, dword [ebp - 0x1124]
mov edi, dword [eax]
call fcn.004219a6
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x405cfc
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1118], esi
mov byte [ebp - 4], 2
test edi, edi
je 0x405b8d
test edi, 0xffff0000
jne 0x405b91
movzx edi, di
push edi
call fcn.00422d52
test eax, eax
je 0x405bb2
push edi
push eax
lea ecx, [ebp - 0x1118]
call fcn.00401d30
jmp 0x405bac
xor eax, eax
jmp 0x405b9f
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405b96
sub eax, edx
push eax
push edi
lea ecx, [ebp - 0x1118]
call fcn.00402150
mov esi, dword [ebp - 0x1118]
mov byte [ebp - 4], 3
mov edi, dword [esi - 0xc]
test edi, edi
js 0x405d06
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x405be4
push edi
lea ecx, [ebp - 0x1118]
call fcn.00402080
mov esi, dword [ebp - 0x1118]
lea ecx, [edi + 1]
push ecx
push esi
call fcn.0051bd3c
add esp, 8
cmp eax, 0x50
ja case.0x405c01.1
movzx edx, byte [eax + 0x405d90]
jmp dword [edx*4 + 0x405d80]
cmp edi, dword [esi - 8]
jg 0x405d06
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
cmp dword [ebx - 0xc], 0
jl 0x405c50
push esi
push ebx
call fcn.0051bb5e
add esp, 8
test eax, eax
je 0x405c50
sub eax, ebx
cmp eax, 0xffffffff
jle 0x405c50
mov eax, dword [ebp - 0x1130]
mov edx, dword [ebp - 0x1120]
mov ecx, dword [eax + 0x800]
mov edx, dword [edx]
mov dword [eax + ecx*4], edx
inc dword [eax + 0x800]
lea eax, [esi - 0x10]
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405c70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1124]
add eax, 4
mov dword [ebp - 0x1124], eax
cmp eax, 0x599578
jl 0x405b33
lea eax, [ebx - 0x10]
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405cad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x112c]
mov ecx, dword [ebp - 0x1128]
add dword [ebp - 0x1120], 4
inc eax
shr ecx, 2
mov dword [ebp - 0x112c], eax
cmp eax, ecx
jl 0x4059f0
mov edx, dword [ebp - 0x1130]
mov eax, dword [edx + 0x800]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0051ac68
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.00402210
push 0x80070057
call fcn.00402210
call fcn.00422bde
call fcn.00422c16
mov edi, edi
sbb dword [ebx + 0x40], ebx
add byte [eax], dl
pop ebp
inc eax
add byte [0x1500405d], dl
pop ebp
inc eax
add byte [eax], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
lea ecx, [ecx]
or byte [eax + eax*2], bl
adc byte [ebp + 64], bl
add byte [352338013], dl
pop ebp
inc eax
add byte [eax], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
int3