Function at 0x4bea6d
Capabilities:
Link many functions at runtime

Disassembly:
push 0x118
mov eax, 0x4f6f46
call fcn.004d2f7d
mov edi, dword [ebp + 8]
mov esi, edi
call fcn.00460b7c
xor ebx, ebx
mov dword [ebp - 4], ebx
push 0x54cfe0
push 0x10
mov dword [edi], vtable.websocket.0
mov dword [edi + 0x20], ebx
mov dword [edi + 0x24], ebx
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x30], ebx
mov dword [edi + 0x34], ebx
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x44], ebx
mov dword [edi + 0x48], ebx
mov dword [edi + 0x4c], ebx
mov dword [edi + 0x50], ebx
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 4], 1
cmp ecx, ebx
je 0x4beada
push 4
pop eax
call fcn.0040c000
jmp 0x4beadc
xor eax, eax
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], bl
call fcn.0040ec70
push eax
push str.__class_type__
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00461261
mov byte [ebp - 4], bl
mov ecx, esi
mov dword [ebp - 0x18], vtable.os::script_shared_ptr_class__variant__.0
call fcn.0040ea60
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 3
cmp esi, ebx
je 0x4beb35
mov dword [esi], ebx
mov ebx, str.websocket
call fcn.0040c040
xor ebx, ebx
jmp 0x4beb37
xor esi, esi
push esi
lea esi, [ebp - 0x18]
mov byte [ebp - 4], bl
call fcn.0040ec70
push eax
push str.__classname__
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.00461261
mov byte [ebp - 4], bl
mov ecx, esi
mov dword [ebp - 0x18], vtable.os::script_shared_ptr_class__variant__.0
call fcn.0040ea60
mov esi, dword [ebp + 0xc]
cmp esi, ebx
je 0x4bec6f
cmp dword [ebp + 0x10], ebx
je 0x4bec6f
mov eax, dword [esi + 4]
cmp dword [eax], 1
jne 0x4beb86
mov eax, dword [eax + 8]
jmp 0x4beb88
xor eax, eax
push 0xfde9
lea ecx, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], ecx
call fcn.004180d0
push dword [ebp - 0x120]
call fcn.00405330
mov dword [edi + 0x20], eax
lea eax, [ebp - 0x11c]
cmp dword [ebp - 0x120], eax
je 0x4bebcd
push dword [ebp - 0x120]
call fcn.004cc15e
pop ecx
mov eax, dword [edi + 0x20]
cmp eax, ebx
je 0x4bec5e
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.websocket_create_context
push eax
call ebx
push str.websocket_destroy_context
push dword [edi + 0x20]
mov dword [edi + 0x24], eax
call ebx
push str.websocket_connect
push dword [edi + 0x20]
mov dword [edi + 0x28], eax
call ebx
push str.websocket_msg_loop
push dword [edi + 0x20]
mov dword [edi + 0x2c], eax
call ebx
push str.websocket_getmsg
push dword [edi + 0x20]
mov dword [edi + 0x30], eax
call ebx
push str.websocket_close
push dword [edi + 0x20]
mov dword [edi + 0x34], eax
call ebx
push str.websocket_send
push dword [edi + 0x20]
mov dword [edi + 0x38], eax
call ebx
push str.websocket_ping
push dword [edi + 0x20]
mov dword [edi + 0x3c], eax
call ebx
push str.websocket_set_recvping
push dword [edi + 0x20]
mov dword [edi + 0x40], eax
call ebx
push str.websocket_set_recvpong
push dword [edi + 0x20]
mov dword [edi + 0x44], eax
call ebx
mov dword [edi + 0x48], eax
cmp dword [ebp + 0x10], 2
jb 0x4bec6f
mov ecx, dword [esi + 0x10]
call fcn.0040c5f0
mov dword [edi + 0x50], eax
mov eax, edi
call fcn.004d3057
ret 0xc