Function at 0x40897d
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x436bc9
mov eax, dword fs:[0]
push eax
mov eax, 0x16b0
call fcn.00421640
mov eax, dword [0x445610]
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 dword [ebp - 0x1688], ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x168c], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x408a4c
lea eax, [ebp - 0x15b8]
push eax
push 0x1000
lea eax, [ebp - 0x15b4]
push eax
push edi
call sub.PSAPI.DLL_EnumProcessModules
test eax, eax
je 0x408a45
xor esi, esi
test dword [ebp - 0x15b8], 0xfffffffc
jbe 0x408a45
push 0x104
lea eax, [ebp - 0x5b4]
push eax
push dword [ebp + esi*4 - 0x15b4]
push edi
call sub.PSAPI.DLL_GetModuleFileNameExW
test eax, eax
je 0x408a37
lea eax, [ebp - 0x5b4]
push ebx
push eax
call fcn.0041fda1
pop ecx
pop ecx
test eax, eax
jne 0x408d3c
mov eax, dword [ebp - 0x15b8]
inc esi
shr eax, 2
cmp esi, eax
jb 0x408a03
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
lea edi, [ebp - 0x166c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x166c], 0
and dword [ebp - 0x1668], 0
and dword [ebp - 0x1664], 0
push 0x53
pop eax
push 0x6f
mov word [ebp - 0xa0], ax
pop eax
push 0x66
mov word [ebp - 0x9e], ax
pop eax
push 0x74
mov word [ebp - 0x9c], ax
pop eax
push 0x77
mov word [ebp - 0x9a], ax
pop eax
push 0x61
mov word [ebp - 0x98], ax
pop eax
push 0x72
mov word [ebp - 0x96], ax
pop eax
push 0x65
mov word [ebp - 0x94], ax
pop eax
push 0x5c
mov word [ebp - 0x92], ax
pop eax
push 0x7b
mov word [ebp - 0x90], ax
mov word [ebp - 0x8e], ax
pop eax
push 0x35
mov word [ebp - 0x8c], ax
pop eax
push 0x37
pop esi
push 0x45
mov word [ebp - 0x8a], ax
pop eax
push 0x34
pop ecx
push 0x31
and dword [ebp - 4], 0
mov word [ebp - 0x86], ax
pop eax
push 0x44
mov word [ebp - 0x82], ax
pop eax
push 0x32
mov word [ebp - 0x80], ax
pop eax
push 0x36
mov word [ebp - 0x7e], ax
pop eax
push 0x2d
pop edx
push 0x38
pop edi
push 0x46
mov word [ebp - 0x88], si
mov word [ebp - 0x78], si
mov word [ebp - 0x76], si
mov word [ebp - 0x6c], si
pop esi
mov word [ebp - 0x84], cx
mov word [ebp - 0x7c], ax
mov word [ebp - 0x7a], dx
mov word [ebp - 0x74], di
mov word [ebp - 0x72], ax
mov word [ebp - 0x70], dx
mov word [ebp - 0x6e], cx
mov word [ebp - 0x6a], si
push 0x45
pop eax
push 0x39
pop ecx
push 0x32
mov word [ebp - 0x68], ax
pop eax
push 0x33
mov word [ebp - 0x60], ax
pop eax
push 0x31
mov word [ebp - 0x5e], ax
pop eax
push 0x35
mov word [ebp - 0x5a], ax
pop eax
push 0x33
mov word [ebp - 0x58], ax
pop eax
push 0x45
mov word [ebp - 0x52], ax
pop eax
push 0x41
mov word [ebp - 0x50], ax
pop eax
push 0x42
mov word [ebp - 0x4a], ax
pop eax
push 0x7d
mov word [ebp - 0x48], ax
pop eax
mov word [ebp - 0x42], ax
xor eax, eax
push eax
push eax
push 0x2001f
push eax
push eax
mov word [ebp - 0x40], ax
lea eax, [ebp - 0xa0]
push eax
mov word [ebp - 0x64], cx
mov word [ebp - 0x62], cx
mov word [ebp - 0x4c], cx
mov word [ebp - 0x44], cx
lea ecx, [ebp - 0x166c]
push SysReAllocStringLen
mov word [ebp - 0x66], dx
mov word [ebp - 0x5c], dx
mov word [ebp - 0x56], si
mov word [ebp - 0x54], si
mov word [ebp - 0x4e], di
mov word [ebp - 0x46], si
call fcn.00406cc4
test eax, eax
jne 0x40906e
push 0x4e
pop eax
push 0x61
mov word [ebp - 0x2c], ax
lea ecx, [ebp - 0x166c]
pop eax
push 0x6d
mov word [ebp - 0x2a], ax
pop eax
mov word [ebp - 0x28], ax
xor eax, eax
push 0x65
pop esi
mov word [ebp - 0x24], ax
lea eax, [ebp - 0x15b8]
push eax
lea eax, [ebp - 0x5b4]
mov dword [ebp - 0x15b8], 0x104
push eax
lea eax, [ebp - 0x2c]
mov word [ebp - 0x26], si
push eax
call fcn.0040fce9
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x408c7a
lea eax, [ebp - 0x5b4]
push eax
call edi
test eax, eax
je 0x408c7a
push ebx
lea eax, [ebp - 0x5b4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x408c7a
lea eax, [ebp - 0x5b4]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
jne 0x409072
push 0x65
pop esi
lea ecx, [ebp - 0x166c]
call fcn.00406974
push 0x104
lea eax, [ebp - 0x2a8]
xor ebx, ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x409070
lea eax, [ebp - 0x2a8]
push eax
call edi
test eax, eax
je 0x409070
push 0x74
pop eax
push 0x72
mov word [ebp - 0x3c], ax
pop eax
push 0x2e
mov word [ebp - 0x3a], ax
pop eax
push 0x6a
mov word [ebp - 0x34], ax
pop eax
mov word [ebp - 0x32], ax
push 0x73
pop eax
mov word [ebp - 0x30], ax
xor eax, eax
mov word [ebp - 0x2e], ax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2a8]
mov word [ebp - 0x38], si
push eax
mov word [ebp - 0x36], si
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x409070
mov dword [ebp - 0x15dc], 0xf
mov dword [ebp - 0x15e0], ebx
mov byte [ebp - 0x15f0], bl
push 7
xor eax, eax
mov byte [ebp - 4], 1
pop edi
mov dword [ebp - 0x1670], edi
mov dword [ebp - 0x1674], ebx
mov word [ebp - 0x1684], ax
cmp word [ebp - 0x2a8], ax
jne 0x408d48
mov eax, ebx
jmp 0x408d55
mov eax, dword [ebp + esi*4 - 0x15b4]
jmp 0x40907f
lea eax, [ebp - 0x2a8]
push eax
call fcn.0041fcca
pop ecx
push eax
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x1684]
call fcn.00413e4a
mov esi, dword [ebp - 0x1688]
lea eax, [ebp - 0x15f0]
push eax
lea eax, [ebp - 0x1684]
mov byte [ebp - 4], 2
push eax
mov ecx, esi
call fcn.0040fd73
test eax, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1684]
setne bl
xor eax, eax
push eax
push 1
call fcn.00413939
test bl, bl
je 0x408e1e
lea eax, [ebp - 0x2a8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
xor eax, eax
mov dword [ebp - 0x1670], edi
xor ebx, ebx
mov word [ebp - 0x1684], ax
mov dword [ebp - 0x1674], ebx
cmp word [ebp - 0x2a8], ax
je 0x408dde
lea eax, [ebp - 0x2a8]
push eax
call fcn.0041fcca
pop ecx
push eax
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x1684]
call fcn.00413e4a
lea eax, [ebp - 0x15f0]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x1684]
mov ecx, esi
push eax
call fcn.0041003f
push ebx
push 1
lea ecx, [ebp - 0x1684]
mov byte [ebp - 4], 1
call fcn.00413939
jmp 0x408e20
xor ebx, ebx
cmp dword [ebp - 0x15e0], 0
je 0x40905e
xor eax, eax
lea edi, [ebp - 0x15d8]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x15d8]
push ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00418040
push 0x70
lea eax, [ebp - 0x1660]
mov byte [ebp - 4], 4
push ebx
push eax
call fcn.0041f3b0
add esp, 0xc
lea ecx, [ebp - 0x1660]
call fcn.004193d0
push 1
lea eax, [ebp - 0x15d8]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x15f0]
push eax
lea ecx, [ebp - 0x1660]
call fcn.0041ab80
test al, al
je 0x409044
push 0x74
pop ecx
push 0x61
pop eax
mov byte [ebp - 0x1c], al
lea edi, [ebp - 0x15c8]
mov byte [ebp - 0x17], al
push 0x33
pop eax
mov byte [ebp - 0x14], al
push 0x32
pop eax
mov byte [ebp - 0x13], al
xor eax, eax
stosd dword es:[edi], eax
mov byte [ebp - 0x1d], cl
mov byte [ebp - 0x16], cl
lea ecx, [ebp - 0x167c]
push 0x439180
stosd dword es:[edi], eax
mov word [ebp - 0x20], 0x6e69
mov byte [ebp - 0x1e], 0x73
mov dword [ebp - 0x1b], 0x705f6c6c
stosd dword es:[edi], eax
mov byte [ebp - 0x15], 0x68
mov byte [ebp - 0x12], bl
stosd dword es:[edi], eax
call fcn.00417fb0
lea eax, [ebp - 0x167c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x15c8]
push eax
lea ecx, [ebp - 0x15d8]
call fcn.00418f30
lea ecx, [ebp - 0x167c]
mov byte [ebp - 4], 8
call fcn.00418260
lea ecx, [ebp - 0x15c8]
call fcn.00418ff0
test al, al
jne 0x409035
lea ecx, [ebp - 0x15c8]
call fcn.00419020
test al, al
je 0x409035
lea eax, [ebp - 0x16a4]
push eax
lea ecx, [ebp - 0x15c8]
call fcn.00418930
cmp dword [eax + 0x14], 0x10
jb 0x408f4f
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x3ac]
push 0x104
push eax
call fcn.0041f440
add esp, 0xc
lea ecx, [ebp - 0x16a4]
push ebx
push 1
call fcn.004138f5
lea eax, [ebp - 0x3ac]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
test eax, eax
je 0x409035
push dword [ebp - 0x168c]
lea ecx, [ebp - 0x16a4]
call fcn.00402a4a
lea eax, [ebp - 0x16a4]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x16bc]
mov ecx, esi
push eax
call fcn.00406a87
cmp dword [eax + 0x14], 0x10
jb 0x408fb9
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x3ac]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
push ebx
push 1
lea ecx, [ebp - 0x16bc]
mov esi, eax
call fcn.004138f5
push ebx
push 1
lea ecx, [ebp - 0x16a4]
call fcn.00413939
test esi, esi
je 0x409035
lea eax, [ebp - 0x3ac]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x409035
lea ecx, [ebp - 0x15c8]
mov byte [ebp - 4], 5
call fcn.00418260
lea ecx, [ebp - 0x1660]
call fcn.004038a0
lea ecx, [ebp - 0x15d8]
mov byte [ebp - 4], 1
call fcn.00418260
push ebx
push 1
lea ecx, [ebp - 0x15f0]
call fcn.004138f5
jmp 0x409072
lea ecx, [ebp - 0x15c8]
mov byte [ebp - 4], 5
call fcn.00418260
lea ecx, [ebp - 0x1660]
call fcn.004038a0
lea ecx, [ebp - 0x15d8]
mov byte [ebp - 4], 1
call fcn.00418260
push ebx
push 1
lea ecx, [ebp - 0x15f0]
call fcn.004138f5
jmp 0x409070
xor ebx, ebx
mov esi, ebx
lea ecx, [ebp - 0x166c]
call fcn.00406974
mov eax, esi
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.0042109c
mov esp, ebp
pop ebp
ret 4