Function at 0x100016c0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
mov esi, eax
sub esp, 0xc
mov ebx, dword [0x10016060]
test ebx, ebx
je 0x10001738
mov dword [esp + 8], 0x98
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ebx, eax
sub esp, 0xc
mov eax, dword [0x10016058]
mov dword [ebx], eax
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 4], 1
mov dword [esp], ebx
call sym._MapLS_4
mov dword [esi], eax
push edx
mov dword [ebx + 8], eax
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov dword [esp], str.STORAGE
call sym._GetModuleHandle16_4
cmp ax, 0x1f
mov ebx, eax
push ecx
ja 0x100017b8
mov dword [0x10016060], dbg.IStorage16_fnQueryInterface
mov dword [0x10016064], 0x10005d70
mov dword [0x10016068], 0x10001dc0
mov dword [0x1001606c], 0x10005a30
mov dword [0x10016070], 0x10003830
mov dword [0x10016074], 0x10005650
mov dword [0x10016078], 0x10003660
mov dword [0x1001607c], 0x10005d90
mov dword [0x10016084], 0x100020f0
mov dword [0x10016058], 0x10016060
jmp 0x100016d4
and ebx, 0xffff
mov dword [esp + 4], str.IStorage16_QueryInterface
mov dword [esp], ebx
call sym._GetProcAddress16_8
mov dword [0x10016060], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_AddRef
call sym._GetProcAddress16_8
mov dword [0x10016064], eax
push edx
push edx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_Release
call sym._GetProcAddress16_8
mov dword [0x10016068], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_CreateStream
call sym._GetProcAddress16_8
mov dword [0x1001606c], eax
push edx
push edx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_OpenStream
call sym._GetProcAddress16_8
mov dword [0x10016070], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_CreateStorage
call sym._GetProcAddress16_8
mov dword [0x10016074], eax
push edx
push edx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_OpenStorage
call sym._GetProcAddress16_8
mov dword [0x10016078], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_CopyTo
call sym._GetProcAddress16_8
mov dword [0x1001607c], eax
push edx
push edx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_MoveElementTo
call sym._GetProcAddress16_8
mov dword [0x10016080], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_Commit
call sym._GetProcAddress16_8
mov dword [0x10016084], eax
push edx
push edx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_Revert
call sym._GetProcAddress16_8
mov dword [0x10016088], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_EnumElements
call sym._GetProcAddress16_8
mov dword [0x1001608c], eax
push edx
push edx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_DestroyElement
call sym._GetProcAddress16_8
mov dword [0x10016090], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_RenameElement
call sym._GetProcAddress16_8
mov dword [0x10016094], eax
push edx
push edx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_SetElementTimes
call sym._GetProcAddress16_8
mov dword [0x10016098], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_SetClass
call sym._GetProcAddress16_8
mov dword [0x1001609c], eax
push edx
push edx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_SetStateBits
call sym._GetProcAddress16_8
mov dword [0x100160a0], eax
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp + 4], str.IStorage16_Stat
call sym._GetProcAddress16_8
mov dword [0x100160a4], eax
push ebx
push ebx
mov dword [esp], 0x10016060
call sym._MapLS_4
mov dword [0x10016058], eax
push edx
jmp 0x100016d4