Function at 0x10027f40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ecx
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov ecx, 0x100b0af8
mov dword [esp + 0x10], ebx
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CThreadMutex::Lock_void_]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebp, dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::Push_char_const___void___char_const__]
push eax
push ebx
push str.CSteamClient
mov ecx, esi
call ebp
push str.m_ListPClientPipes
lea edi, [ebx + 0x18]
push esi
mov ecx, edi
call fcn.10022ba0
mov ebx, dword [ebx + 0x24]
cmp ebx, 0xffffffff
je 0x10027fcf
test ebx, ebx
je 0x10027fc0
push ebx
mov ecx, edi
call fcn.10022d70
cmp dword [eax], 0
je 0x10027fc0
push ebx
mov ecx, edi
call fcn.10022d70
mov ecx, dword [eax]
push ecx
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::ClaimMemory_void__]
push ebx
mov ecx, edi
call fcn.10022d70
mov ecx, dword [eax]
push str.m_ListPClientPipes__iListUserRef__
push esi
call fcn.1001dae0
push ebx
mov ecx, edi
call fcn.10024940
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x10027f87
mov edi, dword [esp + 0x10]
push str.m_mapUserInterface
lea ebx, [edi + 0x3c]
push ebx
mov ecx, 0x100aa9e8
call fcn.100765cc
push eax
mov ecx, esi
call ebp
push str.m_Tree
push ebx
mov ecx, 0x100aa978
call fcn.100765cc
push eax
mov ecx, esi
call ebp
push str.m_Elements
add ebx, 4
push ebx
mov ecx, 0x100aa760
call fcn.100765cc
push eax
mov ecx, esi
call ebp
mov ebx, dword [ebx]
test ebx, ebx
je 0x10028027
push ebx
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::ClaimMemory_void__]
mov ebx, dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::Pop_void_]
mov ecx, esi
call ebx
mov ecx, esi
call ebx
mov ecx, esi
call ebx
mov eax, dword [edi + 0x58]
xor ebx, ebx
test eax, eax
jle 0x100280f7
test ebx, ebx
jl 0x100280eb
cmp ebx, dword [edi + 0x58]
jge 0x100280eb
test byte [0x100b0a78], 1
jne 0x1002808b
mov eax, dword [0x100b0a78]
mov ecx, 1
or eax, ecx
mov dword [0x100b0a78], eax
or eax, 0xffffffff
mov dword [0x100b0a68], eax
mov dword [0x100b0a6c], eax
mov dword [0x100b0a70], eax
mov dword [0x100b0a74], ecx
jmp 0x1002808e
or eax, 0xffffffff
cmp ebx, eax
je 0x1002809d
push ebx
lea ecx, [edi + 0x40]
call fcn.10023680
jmp 0x100280a2
mov eax, 0x100b0a68
cmp dword [eax], ebx
setne al
test al, al
je 0x100280eb
add edi, 0x40
push ebx
mov ecx, edi
call fcn.10023260
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x100280e7
push ebx
mov ecx, edi
call fcn.10023260
mov edx, dword [eax + 0x18]
push edx
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::ClaimMemory_void__]
push str.m_mapUserInterface__iPUserInterface__
push esi
push ebx
mov ecx, edi
call fcn.10023260
mov ecx, dword [eax + 0x18]
call fcn.10036800
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x58]
inc ebx
cmp ebx, eax
jl 0x10028046
push str.g_VecPVecFuncCallReturnBuffer
lea ebx, [edi + 0x64]
push ebx
mov ecx, 0x100aa858
call fcn.100765cc
push eax
mov ecx, esi
call ebp
push str.m_Memory
push ebx
mov ecx, 0x100aa6b8
call fcn.100765cc
push eax
mov ecx, esi
call ebp
mov ebx, dword [ebx]
test ebx, ebx
je 0x10028133
push ebx
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::ClaimMemory_void__]
mov ebx, dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::Pop_void_]
mov ecx, esi
call ebx
mov ecx, esi
call ebx
mov eax, dword [edi + 0x70]
test eax, eax
mov dword [esp + 0x18], 0
jle 0x1002823f
mov eax, dword [esp + 0x18]
push eax
lea ecx, [edi + 0x64]
call fcn.10024ab0
mov ebx, dword [eax]
test ebx, ebx
je 0x100281b9
push ebx
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::ClaimMemory_void__]
push str.pVecUtlBuffer
push ebx
mov ecx, 0x100aa930
call fcn.100765cc
push eax
mov ecx, esi
call ebp
push str.m_Memory
push ebx
mov ecx, 0x100aa730
call fcn.100765cc
push eax
mov ecx, esi
call ebp
mov eax, dword [ebx]
test eax, eax
je 0x100281a9
push eax
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::ClaimMemory_void__]
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::Pop_void_]
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::Pop_void_]
mov eax, dword [ebx + 0xc]
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x1002822b
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, ebx
call fcn.10024d50
push str.pVecUtlBuffer__Element__iFuncCallRetBuf__
mov edi, eax
push edi
push str.CUtlBuffer
mov ecx, esi
call ebp
push str.m_Memory
push edi
mov ecx, 0x100aa7e8
call fcn.100765cc
push eax
mov ecx, esi
call ebp
mov edi, dword [edi]
test edi, edi
je 0x10028209
push edi
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::ClaimMemory_void__]
mov edi, dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::Pop_void_]
mov ecx, esi
call edi
mov ecx, esi
call edi
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x100281c8
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x70]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x10028154
push str.m_VecTestFlags
lea ebx, [edi + 0x78]
push ebx
mov ecx, 0x100aa8fc
call fcn.100765cc
push eax
mov ecx, esi
call ebp
push str.m_Memory
push ebx
mov ecx, 0x100aa710
call fcn.100765cc
push eax
mov ecx, esi
call ebp
mov ebx, dword [ebx]
test ebx, ebx
je 0x1002827b
push ebx
mov ecx, esi
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::ClaimMemory_void__]
mov edi, dword [sym.imp.tier0_s.dll_public:_void___thiscall_CValidator::Pop_void_]
mov ecx, esi
call edi
mov ecx, esi
call edi
mov ecx, esi
call edi
mov ecx, 0x100b0af8
call dword [sym.imp.tier0_s.dll_public:_void___thiscall_CThreadMutex::Unlock_void_]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 8