Function at 0x1007389b
Capabilities:
Inspect section memory permissions

Disassembly:
push 8
mov eax, 0x10038e4f
call fcn.10037b9d
mov ebx, edx
mov esi, ecx
call dword [sym.imp.MSDATL3.dll_protected:_long_int___thiscall_CBaseObj::FInit_void_]
mov edi, eax
test edi, edi
jns 0x100738d9
test byte [0x100af360], 2
je 0x100738d2
push 0x15f
mov edx, 0x1001f8ac
mov ecx, edi
call fcn.10036de6
pop ecx
mov eax, edi
jmp 0x10073faf
lea eax, [esi + 0xf8]
cmp dword [eax], 0
jne 0x1007391a
push 0
push eax
call dword [sym.imp.MSDART.DLL_MPInitializeCriticalSectionAndSpinCount]
pop ecx
pop ecx
test eax, eax
jne 0x1007391a
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x166
mov edx, 0x1001f8ac
mov ecx, esi
call fcn.10036de6
pop ecx
mov eax, esi
jmp 0x10073faf
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x1007392f
mov dword [esi + 0x148], eax
lock inc dword [eax + 0x18]
lock inc dword [eax + 0x44]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x108], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0xe8], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe4], eax
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], edi
test eax, eax
je 0x10073972
mov eax, dword [eax + 0x28c]
mov dword [esi + 0x14c], eax
test ecx, ecx
je 0x10073983
lock inc dword [ecx + 0x334]
mov ebx, dword [esi + 0xf0]
push edi
push esi
mov ecx, ebx
call fcn.1007113b
mov ecx, dword [esi + 0xf0]
xor ebx, ebx
push 0x11
push ebx
mov dword [ebp - 0x10], eax
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x100739ae
or dword [esi + 0x108], 0x10000
mov ecx, dword [esi + 0xf0]
push 0x10
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x100739cb
or dword [esi + 0x108], 0x20000
mov ecx, dword [esi + 0xf0]
push 0x12
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x100739e8
or dword [esi + 0x108], 0x400
mov ecx, dword [esi + 0xf0]
push 0xf
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073a02
or dword [esi + 0x108], 0x10
test byte [edi + 0x4a], 2
je 0x10073a12
or dword [esi + 0x108], 0x800000
mov ecx, dword [esi + 0xf0]
push 0x21
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073a3b
mov ecx, edi
call fcn.10070114
cmp eax, 2
jne 0x10073a3b
or dword [esi + 0x108], 0x400000
mov ecx, dword [esi + 0xf0]
push 0x24
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073a58
or dword [esi + 0x108], 0x1000000
xor edx, edx
lea ecx, [esi + 0x28]
inc edx
call fcn.1003de8b
test eax, eax
jns 0x10073a83
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x1b6
jmp 0x10073906
mov ecx, dword [esi + 0xf0]
push 1
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073b42
push 0x18
push ebx
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
add esp, 0xc
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x10073ac3
push dword [esi + 0x14]
mov ecx, eax
call dword [sym.imp.MSDATL3.dll_public:_void___thiscall_CRowsetConnectionPointContainer::constructor_struct_IUnknown__]
jmp 0x10073ac5
mov eax, ebx
or dword [ebp - 4], 0xffffffff
mov dword [esi + 0xe0], eax
test eax, eax
jne 0x10073aef
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x1c3
jmp 0x10073906
mov ecx, eax
call dword [sym.imp.MSDATL3.dll_public:_long_int___thiscall_CRowsetConnectionPointContainer::Init_void_]
mov ebx, eax
test ebx, ebx
jns 0x10073b40
test byte [0x100af360], 2
je 0x10073b18
push 0x1c9
mov edx, 0x1001f8ac
mov ecx, ebx
call fcn.10036de6
pop ecx
mov edi, dword [esi + 0xe0]
test edi, edi
je 0x10073b32
mov ecx, edi
call dword [sym.imp.MSDATL3.dll_public:_void___thiscall_CRowsetConnectionPointContainer::destructor_void_]
push edi
call dword [sym.imp.MSDART.DLL_mpFree]
pop ecx
and dword [esi + 0xe0], 0
mov eax, ebx
jmp 0x10073faf
xor ebx, ebx
mov ecx, dword [esi + 0xf0]
lea edi, [esi + 0x20]
push 7
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073b5e
mov dword [esi + 0xc4], edi
mov ecx, dword [esi + 0xf0]
push 0xa
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073b77
mov dword [esi + 0xd0], edi
mov ecx, dword [esi + 0xf0]
push 6
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073bd6
push 8
push ebx
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10073bae
mov dword [eax], 0x10001780
mov dword [eax + 4], esi
jmp 0x10073bb0
mov eax, ebx
mov dword [esi + 0xc0], eax
test eax, eax
jne 0x10073bd6
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x1e1
jmp 0x10073906
mov ecx, dword [esi + 0xf0]
push ebx
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073c34
push 8
push ebx
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10073c0c
mov dword [eax], 0x10001518
mov dword [eax + 4], esi
jmp 0x10073c0e
mov eax, ebx
mov dword [esi + 0xbc], eax
test eax, eax
jne 0x10073c34
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x1eb
jmp 0x10073906
mov ecx, dword [esi + 0xf0]
push 0xc
push ebx
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073cb6
push 0x10
push ebx
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 1
test edi, edi
je 0x10073c8a
mov ecx, esi
call dword [sym.imp.MSDATL3.dll_public:_struct_IUnknown____thiscall_CBaseObj::GetOuterUnknown_void_]
mov dword [edi], 0x1000105c
mov dword [edi + 4], eax
mov dword [edi + 8], 0x100ae0c0
mov dword [edi + 0xc], 0xd
jmp 0x10073c8c
mov edi, ebx
or dword [ebp - 4], 0xffffffff
mov dword [esi + 0xdc], edi
test edi, edi
jne 0x10073cb6
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x1f6
jmp 0x10073906
mov ecx, dword [esi + 0xf0]
push 0xb
push 0
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
mov ecx, dword [esi + 0xf0]
mov edi, eax
push 5
push 0
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073cdf
xor ebx, ebx
inc ebx
mov ecx, dword [esi + 0xf0]
push 9
push 0
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073cf6
or ebx, 2
mov ecx, dword [esi + 0xf0]
push 8
push 0
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073d16
cmp dword [esi + 0xc0], 0
je 0x10073d16
or ebx, 4
and dword [esi + 0x10c], 0
test ebx, ebx
je 0x10073dfa
mov ecx, dword [esi + 0xf0]
push 0x26
push 0
call dword [sym.imp.MSDATL3.dll_public:_long_int___thiscall_CUtlProps2::GetValLong_unsigned_long_int__unsigned_long_int_const]
test al, 1
je 0x10073d40
or dword [esi + 0x10c], 1
test al, 2
je 0x10073d4b
or dword [esi + 0x10c], 2
test al, 4
je 0x10073da9
mov ecx, dword [esi + 0xf0]
or dword [esi + 0x10c], 4
push 0x23
push 0
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073d76
or dword [esi + 0x10c], 0x20000000
jmp 0x10073da9
mov ecx, dword [esi + 0xf0]
push 0x13
push 0
call dword [sym.imp.MSDATL3.dll_public:_int___thiscall_CUtlProps2::IsTrue_unsigned_long_int__unsigned_long_int_]
test eax, eax
je 0x10073da9
mov ecx, dword [esi + 0xf0]
push 0x1a
push 0
call dword [sym.imp.MSDATL3.dll_public:_long_int___thiscall_CUtlProps2::GetValLong_unsigned_long_int__unsigned_long_int_const]
cmp eax, 2
jne 0x10073da9
or dword [esi + 0x10c], 0x40000000
push 0xc
push 0
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10073dd2
and dword [eax + 8], 0
mov dword [eax], 0x10001810
mov dword [eax + 4], esi
jmp 0x10073dd4
xor eax, eax
mov dword [esi + 0x144], eax
test eax, eax
jne 0x10073dfa
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x234
jmp 0x10073906
test bl, 1
je 0x10073e6b
test edi, edi
jne 0x10073e6f
push 0x18
push edi
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10073e3f
mov edx, dword [esi + 0x10c]
mov ecx, dword [esi + 0x144]
mov dword [eax], 0x1000181c
mov dword [eax + 4], esi
mov dword [eax + 0x14], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
jmp 0x10073e41
mov eax, edi
mov dword [esi + 0xd4], eax
test eax, eax
jne 0x10073eda
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x240
jmp 0x10073906
test edi, edi
je 0x10073ed8
push 0x1c
xor edi, edi
push edi
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10073eb0
mov edx, dword [esi + 0x10c]
mov ecx, dword [esi + 0x144]
mov dword [eax], 0x10001834
mov dword [eax + 4], esi
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x18], edi
mov dword [eax + 8], edi
mov dword [eax + 0x14], edi
jmp 0x10073eb2
mov eax, edi
mov dword [esi + 0xd8], eax
test eax, eax
jne 0x10073eda
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x24c
jmp 0x10073906
xor edi, edi
test bl, 2
je 0x10073f3a
push 0x14
push edi
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10073f12
mov ecx, dword [esi + 0x144]
mov dword [eax], 0x10001874
mov dword [eax + 4], esi
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 8], edi
jmp 0x10073f14
mov eax, edi
mov dword [esi + 0xc8], eax
test eax, eax
jne 0x10073f3a
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x258
jmp 0x10073906
test bl, 4
je 0x10073f9a
push 0x14
push edi
push dword [0x100af320]
call dword [sym.imp.MSDART.DLL_MpHeapAlloc]
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10073f72
mov ecx, dword [esi + 0x144]
mov dword [eax], 0x10001860
mov dword [eax + 4], esi
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 8], edi
jmp 0x10073f74
mov eax, edi
mov dword [esi + 0xcc], eax
test eax, eax
jne 0x10073f9a
test byte [0x100af360], 2
mov esi, 0x8007000e
je 0x10073913
push 0x264
jmp 0x10073906
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x17c], edi
mov dword [esi + 0x180], edi
mov dword [esi + 0x184], edi
call fcn.10037b7a
ret 0x18