Function at 0x10058150
Capabilities:
Get memory capacity
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x508
mov eax, dword [0x101165b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
push edi
xor esi, esi
push 0x100ab748
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4e0], ecx
mov dword [ebp - 0x4d8], edx
mov dword [ebp - 0x4a4], esi
mov dword [ebp - 0x4a0], esi
mov dword [ebp - 0x4d0], esi
call ebx
push 0x100ab738
mov dword [ebp - 0x4b8], eax
call ebx
mov edi, eax
push str.NETAPI32.DLL
mov dword [ebp - 0x4c0], edi
call ebx
push 0x100ab718
mov dword [ebp - 0x4a8], eax
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x4b0], eax
cmp dword [ebp - 0x4a8], esi
je 0x100582d9
mov eax, dword [ebp - 0x4a8]
push str.NetStatisticsGet
push eax
call ebx
mov ecx, dword [ebp - 0x4a8]
push str.NetApiBufferFree
push ecx
mov dword [ebp - 0x4b4], eax
call ebx
mov ecx, dword [ebp - 0x4b4]
mov dword [ebp - 0x4c4], eax
test ecx, ecx
je 0x100582c6
test eax, eax
je 0x100582c6
lea edx, [ebp - 0x4bc]
push edx
push esi
push esi
push str.LanmanWorkstation
push esi
call ecx
test eax, eax
jne 0x10058272
mov eax, dword [ebp - 0x4bc]
mov edi, dword [ebp - 0x4ac]
mov esi, eax
mov ecx, 0x36
push eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x4a4], 0xd8
mov dword [ebp - 0x4a0], 0x2d
call dword [ebp - 0x4c4]
mov edi, dword [ebp - 0x4c0]
mov esi, dword [ebp - 0x4a4]
lea eax, [ebp - 0x4bc]
push eax
push 0
push 0
push str.LanmanServer
push 0
call dword [ebp - 0x4b4]
test eax, eax
jne 0x100582c6
mov eax, dword [ebp - 0x4bc]
mov edi, dword [ebp - 0x4ac]
add dword [ebp - 0x4a4], 0x44
add dword [ebp - 0x4a0], 0x11
add edi, esi
mov esi, eax
mov ecx, 0x11
push eax
rep movsd dword es:[edi], dword [esi]
call dword [ebp - 0x4c4]
mov edi, dword [ebp - 0x4c0]
mov esi, dword [ebp - 0x4a4]
mov edx, dword [ebp - 0x4a8]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x4b0]
test eax, eax
je 0x1005830a
push str.GetForegroundWindow
push eax
call ebx
test eax, eax
je 0x100582fd
call eax
mov ecx, dword [ebp - 0x4ac]
mov dword [ecx + esi], eax
add esi, 4
mov dword [ebp - 0x4a4], esi
mov edx, dword [ebp - 0x4b0]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x4b8]
test eax, eax
je 0x100583ec
push str.CryptAcquireContextA
push eax
call ebx
mov dword [ebp - 0x4cc], eax
mov eax, dword [ebp - 0x4b8]
push str.CryptGenRandom
push eax
call ebx
mov ecx, dword [ebp - 0x4b8]
push str.CryptReleaseContext
push ecx
mov dword [ebp - 0x4b0], eax
call ebx
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0x4c8], eax
test ecx, ecx
je 0x100583df
cmp dword [ebp - 0x4b0], 0
je 0x100583df
test eax, eax
je 0x100583df
push 0xf0000000
push 1
push 0
push 0
lea edx, [ebp - 0x4d0]
push edx
call ecx
test eax, eax
je 0x100583df
mov ecx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x104]
push eax
push 0x100
push ecx
call dword [ebp - 0x4b0]
test eax, eax
je 0x100583d0
mov edi, dword [ebp - 0x4ac]
add edi, esi
mov eax, 0x100
add dword [ebp - 0x4a4], eax
add dword [ebp - 0x4a0], eax
mov ecx, 0x40
lea esi, [ebp - 0x104]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x4c0]
mov esi, dword [ebp - 0x4a4]
mov eax, dword [ebp - 0x4d0]
push 0
push eax
call dword [ebp - 0x4c8]
mov ecx, dword [ebp - 0x4b8]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x100587ed
push str.CreateToolhelp32Snapshot
push edi
call ebx
push str.CloseToolhelp32Snapshot
push edi
mov dword [ebp - 0x4b4], eax
call ebx
push str.Heap32First
push edi
mov dword [ebp - 0x4e4], eax
call ebx
push str.Heap32Next
push edi
mov dword [ebp - 0x4b0], eax
call ebx
push str.Heap32ListFirst
push edi
mov dword [ebp - 0x4c4], eax
call ebx
push str.Heap32ListNext
push edi
mov dword [ebp - 0x4a8], eax
call ebx
push str.Process32First
push edi
mov dword [ebp - 0x4c0], eax
call ebx
push str.Process32Next
push edi
mov dword [ebp - 0x4bc], eax
call ebx
push str.Thread32First
push edi
mov dword [ebp - 0x4b8], eax
call ebx
push str.Thread32Next
push edi
mov dword [ebp - 0x4d4], eax
call ebx
push str.Module32First
push edi
mov dword [ebp - 0x4c8], eax
call ebx
push str.Module32Next
push edi
mov dword [ebp - 0x4cc], eax
call ebx
mov ecx, dword [ebp - 0x4b4]
mov dword [ebp - 0x4dc], eax
test ecx, ecx
je 0x100587e6
cmp dword [ebp - 0x4b0], 0
je 0x100587e6
cmp dword [ebp - 0x4c4], 0
je 0x100587e6
mov ebx, dword [ebp - 0x4a8]
test ebx, ebx
je 0x100587e6
cmp dword [ebp - 0x4c0], 0
je 0x100587e6
cmp dword [ebp - 0x4bc], 0
je 0x100587e6
cmp dword [ebp - 0x4b8], 0
je 0x100587e6
cmp dword [ebp - 0x4d4], 0
je 0x100587e6
cmp dword [ebp - 0x4c8], 0
je 0x100587e6
cmp dword [ebp - 0x4cc], 0
je 0x100587e6
test eax, eax
je 0x100587e6
push 0
push 0xf
call ecx
mov dword [ebp - 0x4a8], eax
cmp eax, 0xffffffff
je 0x100587e6
lea edx, [ebp - 0x114]
push edx
push eax
mov dword [ebp - 0x114], 0x10
call ebx
test eax, eax
je 0x10058647
lea esp, [esp]
mov ebx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x4ac]
push ebx
lea eax, [ebp - 0x114]
push eax
add ecx, esi
push ecx
call fcn.10086490
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
add esp, 0xc
push edx
add esi, ebx
mov ebx, dword [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x508]
add ebx, 3
push ecx
mov dword [ebp - 0x4a0], ebx
mov dword [ebp - 0x508], 0x24
call dword [ebp - 0x4b0]
test eax, eax
je 0x1005861b
mov dword [ebp - 0x4b4], 0x50
mov edx, dword [ebp - 0x508]
mov ecx, dword [ebp - 0x4ac]
push edx
lea eax, [ebp - 0x508]
push eax
add ecx, esi
push ecx
call fcn.10086490
add esi, dword [ebp - 0x508]
add esp, 0xc
lea edx, [ebp - 0x508]
push edx
add ebx, 5
call dword [ebp - 0x4c4]
test eax, eax
je 0x10058615
mov eax, dword [ebp - 0x4b4]
dec eax
mov dword [ebp - 0x4b4], eax
test eax, eax
jle 0x10058615
cmp ebx, 0x100
jl 0x100585c3
mov dword [ebp - 0x4a0], ebx
mov ecx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x114]
push eax
push ecx
call dword [ebp - 0x4c0]
test eax, eax
je 0x1005863f
cmp ebx, 0x100
jl 0x10058560
mov dword [ebp - 0x4a4], esi
jmp 0x1005864d
mov ebx, dword [ebp - 0x4a0]
mov eax, dword [ebp - 0x4a8]
lea edx, [ebp - 0x278]
push edx
push eax
mov dword [ebp - 0x278], 0x128
call dword [ebp - 0x4bc]
test eax, eax
je 0x100586c4
nop
mov ecx, dword [ebp - 0x278]
mov eax, dword [ebp - 0x4ac]
push ecx
lea edx, [ebp - 0x278]
push edx
add eax, esi
push eax
call fcn.10086490
mov edx, dword [ebp - 0x4a8]
add esi, dword [ebp - 0x278]
add esp, 0xc
lea ecx, [ebp - 0x278]
push ecx
push edx
add ebx, 9
call dword [ebp - 0x4b8]
test eax, eax
je 0x100586b8
cmp ebx, 0x100
jl 0x10058670
mov dword [ebp - 0x4a4], esi
mov dword [ebp - 0x4a0], ebx
mov ecx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x130]
push eax
push ecx
mov dword [ebp - 0x130], 0x1c
call dword [ebp - 0x4d4]
test eax, eax
je 0x10058744
jmp 0x100586f0
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x4ac]
push edx
lea eax, [ebp - 0x130]
push eax
add ecx, esi
push ecx
call fcn.10086490
mov eax, dword [ebp - 0x4a8]
add esi, dword [ebp - 0x130]
add esp, 0xc
lea edx, [ebp - 0x130]
push edx
push eax
add ebx, 6
call dword [ebp - 0x4c8]
test eax, eax
je 0x10058738
cmp ebx, 0x100
jl 0x100586f0
mov dword [ebp - 0x4a4], esi
mov dword [ebp - 0x4a0], ebx
mov edx, dword [ebp - 0x4a8]
lea ecx, [ebp - 0x49c]
push ecx
push edx
mov dword [ebp - 0x49c], 0x224
call dword [ebp - 0x4cc]
test eax, eax
je 0x100587c4
jmp 0x10058770
mov eax, dword [ebp - 0x49c]
mov edx, dword [ebp - 0x4ac]
push eax
lea ecx, [ebp - 0x49c]
push ecx
add edx, esi
push edx
call fcn.10086490
mov ecx, dword [ebp - 0x4a8]
add esi, dword [ebp - 0x49c]
add esp, 0xc
lea eax, [ebp - 0x49c]
push eax
push ecx
add ebx, 9
call dword [ebp - 0x4dc]
test eax, eax
je 0x100587b8
cmp ebx, 0x100
jl 0x10058770
mov dword [ebp - 0x4a4], esi
mov dword [ebp - 0x4a0], ebx
mov eax, dword [ebp - 0x4e4]
test eax, eax
je 0x100587d9
mov edx, dword [ebp - 0x4a8]
push edx
call eax
jmp 0x100587e6
mov eax, dword [ebp - 0x4a8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x150]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov edi, dword [ebp - 0x4ac]
add edi, esi
mov ecx, 8
lea esi, [ebp - 0x150]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x4a4]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ebp - 0x4e0]
mov dword [ecx + esi + 0x20], eax
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x4d8]
add esi, 0x24
add eax, 2
mov dword [edx], esi
mov dword [ecx], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.1008600b
mov esp, ebp
pop ebp
ret