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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, ecx
mov dword [ebp - 4], ebx
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4f2c32
cmp eax, 2
je 0x4f2c32
push str.GetConnectionType____k_ESSLConnectionType_Client__GetConnectionType____k_EDTLSConnectionType_Client
push 0x67b
push str.c:_buildslave_steam_rel_client_hotfix_win32_build_srccommonopensslconnection.cpp
call fcn.00536b70
add esp, 0xc
test al, al
jne 0x4f2c32
int3
lea ecx, [ebp + 8]
call fcn.004c0d50
test al, al
je 0x4f2e46
cmp word [ebp + 0x1e], 0
je 0x4f2e46
cmp dword [ebp + 0x20], 0
je 0x4f2e46
push esi
push edi
lea edi, [ebx + 0x20]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
jne 0x4f2d4c
push 0x7c
call fcn.0054d1bd
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4f2d44
push 0
push 0
push 4
mov ecx, ebx
call fcn.004997b0
xor eax, eax
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], eax
lea ecx, [ebx + 0x1c]
mov dword [ebx + 0x18], eax
mov edx, ecx
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x18]
cmp eax, 1
je 0x4f2cb4
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x4f2ccf
cmp eax, 1
je 0x4f2cc0
mov ecx, dword [ebx + 0x20]
shl eax, 2
push eax
push 0
push ecx
call fcn.0054f880
add esp, 0xc
push 0
push 0
push 0x24
lea ecx, [ebx + 0x24]
call fcn.004997b0
push 0
push 0
push 0xc
lea ecx, [ebx + 0x50]
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 1
mov dword [ebx + 0x34], 0xffffffff
call fcn.004997b0
mov eax, dword [ebx + 0x54]
mov dword [ebx + 0x60], 0xffffffff
mov dword [ebx + 0x64], 0xffffffff
mov dword [ebx + 0x68], 0xffffffff
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x74], eax
mov byte [ebx + 0x78], 0
jmp 0x4f2d46
xor ebx, ebx
mov eax, dword [ebp - 4]
mov dword [eax + 0x1c], ebx
lea eax, [ebp + 8]
mov ecx, ebx
push eax
call fcn.004f1410
mov esi, eax
cmp esi, 0xffffffff
je 0x4f2dc2
mov edi, edi
mov edx, dword [ebx + 0x28]
lea eax, [esi + esi*8]
mov ecx, dword [edx + eax*4 + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [ebp - 4], ecx
cmp ecx, eax
je 0x4f2eac
mov eax, dword [eax + 0x18]
mov edx, 0x6e2a60
test eax, eax
push closesocket
cmovne edx, eax
mov eax, dword [ecx + 0x18]
test eax, eax
mov ecx, 0x6e2a60
cmovne ecx, eax
test edx, edx
mov eax, 0x6e2a60
cmovne eax, edx
push eax
push ecx
call fcn.00547680
add esp, 0xc
test eax, eax
je 0x4f2e4d
push esi
mov ecx, ebx
call fcn.004f2360
mov esi, eax
cmp esi, 0xffffffff
jne 0x4f2d60
mov eax, dword [ebp + 0x20]
xor esi, esi
add eax, 4
mov dword [ebp - 4], eax
mov eax, dword [eax]
test eax, eax
js 0x4f2dda
cmp eax, 0xffffff
jl 0x4f2df3
push str.m_iRefs___0__m_iRefs___0x0ffffff
push 0x59
push str.c:_buildslave_steam_rel_client_hotfix_win32_build_srcpublic_tier1_refcount.h
call fcn.00536b70
add esp, 0xc
test al, al
jne 0x4f2df3
int3
mov eax, dword [ebp - 4]
lock inc dword [eax]
mov eax, dword [ebp + 0x20]
mov ecx, ebx
mov dword [ebp + 0x20], eax
lea eax, [ebp + 0x20]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 8]
push eax
call fcn.004ee8a0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
je 0x4f2e1c
call fcn.004619e0
cmp dword [ebx + 0x38], 0xc8
jle 0x4f2e3d
mov ecx, ebx
call fcn.004f23d0
push eax
mov ecx, ebx
call fcn.004f2ee0
cmp dword [ebx + 0x38], 0xc8
jg 0x4f2e25
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
cmp byte [ebx + 0x78], 0
jne 0x4f2e6d
mov eax, dword [ebx + 0x28]
lea ecx, [esi + esi*8]
mov eax, dword [eax + ecx*4 + 0x1c]
cmp dword [ebx + 0x60], eax
je 0x4f2e6d
push eax
push 0xffffffffffffffff
lea ecx, [ebx + 0x50]
call fcn.004bb4c0
mov edx, dword [ebp - 4]
mov ecx, dword [0x7d9a88]
mov eax, ecx
sub eax, dword [edx + 0x1c]
mov edx, dword [ebp + 0x20]
sub ecx, dword [edx + 0x1c]
cmp ecx, eax
jg 0x4f2e3d
mov eax, dword [ebx + 0x28]
lea ecx, [esi*8 + 6]
add ecx, esi
push edx
push 1
lea ecx, [eax + ecx*4]
call fcn.004f31f0
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
lea eax, [esi + esi*8]
mov eax, dword [edx + eax*4 + 0x1c]
cmp dword [ebx + 0x60], eax
je 0x4f2e3d
push eax
push 0xffffffffffffffff
lea ecx, [ebx + 0x50]
call fcn.004bb4c0
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c