Function at 0x4297f0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x4fe080]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x10], 0x80
jb 0x429845
cmp dword [edi + 0x14], 0x10
jb 0x42981c
mov edi, dword [edi]
push edi
push str.ERROR:_url_size_limit_exceeded:__s_n
call fcn.0047c808
add eax, 0x40
push eax
call fcn.0047e09e
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047b06c
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x10], 0xc8
jb 0x42985e
cmp dword [esi + 0x14], 0x10
jb 0x429856
mov esi, dword [esi]
push esi
push str.ERROR:_origin_size_limit_exceeded:__s_n
jmp 0x429822
cmp dword [edi + 0x14], 0x10
jb 0x429868
mov eax, dword [edi]
jmp 0x42986a
mov eax, edi
lea ecx, [ebp - 0x204]
push ecx
lea ecx, [ebp - 0x208]
push ecx
lea ecx, [ebp - 0x184]
push ecx
push str.ws:____:__:_d__s
push eax
call fcn.0047e2ba
add esp, 0x14
cmp eax, 3
je 0x429937
cmp dword [edi + 0x14], 0x10
jb 0x4298a0
mov eax, dword [edi]
jmp 0x4298a2
mov eax, edi
lea ecx, [ebp - 0x204]
push ecx
lea ecx, [ebp - 0x184]
push ecx
push str.ws:____:____s
push eax
call fcn.0047e2ba
add esp, 0x10
cmp eax, 2
jne 0x4298cf
mov dword [ebp - 0x208], 0x50
jmp 0x429937
cmp dword [edi + 0x14], 0x10
jb 0x4298d9
mov eax, dword [edi]
jmp 0x4298db
mov eax, edi
lea ecx, [ebp - 0x208]
push ecx
lea ecx, [ebp - 0x184]
push ecx
push str.ws:____:__:_d
push eax
call fcn.0047e2ba
add esp, 0x10
cmp eax, 2
je 0x429930
cmp dword [edi + 0x14], 0x10
jb 0x429906
mov eax, dword [edi]
jmp 0x429908
mov eax, edi
lea ecx, [ebp - 0x184]
push ecx
push str.ws:____:__
push eax
call fcn.0047e2ba
add esp, 0xc
cmp eax, 1
jne 0x4299dd
mov dword [ebp - 0x208], 0x50
mov byte [ebp - 0x204], 0
push ebx
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x208]
lea eax, [ebp - 0x184]
push eax
push str.easywsclient:_connecting:_host_s_port_d_path__s_n
call fcn.0047c808
add eax, 0x40
push eax
call fcn.0047e09e
add esp, 0x14
lea eax, [ebp - 0x184]
lea ecx, [ebp - 0x22c]
push eax
call fcn.004018a0
push dword [ebp - 0x208]
lea eax, [ebp - 0x22c]
push eax
call fcn.00429e30
add esp, 8
mov ebx, eax
cmp dword [ebp - 0x218], 0x10
jb 0x4299a2
push dword [ebp - 0x22c]
call fcn.0047a557
add esp, 4
cmp ebx, 0xffffffff
jne 0x4299f0
push dword [ebp - 0x208]
lea eax, [ebp - 0x184]
push eax
push str.Unable_to_connect_to__s:_d_n
call fcn.0047c808
add eax, 0x40
push eax
call fcn.0047e09e
add esp, 0x10
pop ebx
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047b06c
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x14], 0x10
jb 0x4299e5
mov edi, dword [edi]
push edi
push str.ERROR:_Could_not_parse_WebSocket_url:__s_n
jmp 0x429822
lea eax, [ebp - 0x204]
push eax
push str.GET___s_HTTP_1.1_r_n
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0x10
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429a20
push 0
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
push ebx
call dword [sym.imp.WS2_32.dll_send]
mov eax, dword [ebp - 0x208]
cmp eax, 0x50
jne 0x429a79
lea eax, [ebp - 0x184]
push eax
push 0x4d7ab0
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0x10
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429a70
jmp 0x429aaa
push eax
lea eax, [ebp - 0x184]
push eax
push str.Host:__s:_d_r_n
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429aa3
push 0
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
mov eax, dword [sym.imp.WS2_32.dll_send]
push ebx
call eax
push str.Upgrade:_websocket_r_n
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429ae0
push 0
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
push ebx
call dword [sym.imp.WS2_32.dll_send]
push str.Connection:_Upgrade_r_n
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0xc
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429b20
push 0
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
push ebx
call dword [sym.imp.WS2_32.dll_send]
cmp dword [esi + 0x10], 0
je 0x429b8e
cmp dword [esi + 0x14], 0x10
jb 0x429b48
mov esi, dword [esi]
push esi
push str.Origin:__s_r_n
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0x10
lea edx, [ecx + 1]
jmp 0x429b70
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429b70
mov esi, dword [sym.imp.WS2_32.dll_send]
lea eax, [ebp - 0x104]
push 0
sub ecx, edx
push ecx
push eax
push ebx
call esi
jmp 0x429b94
mov esi, dword [sym.imp.WS2_32.dll_send]
push str.Sec_WebSocket_Key:_x3JJHMbDL1EzLkh9GBhXDw_r_n
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429bb6
push 0
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
push ebx
call esi
push str.Sec_WebSocket_Version:_13_r_n
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0xc
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429bf0
push 0
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
push ebx
call esi
push 0x4d7b58
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004289e0
lea ecx, [ebp - 0x104]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429c28
push 0
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
push ebx
call esi
xor esi, esi
cmp esi, 2
jl 0x429c61
cmp esi, 0xff
jge 0x429c80
cmp byte [ebp + esi - 0x106], 0xd
je 0x429c80
cmp byte [ebp + esi - 0x105], 0xa
je 0x429c80
push 0
push 1
lea eax, [ebp - 0x104]
add eax, esi
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x4299ca
inc esi
jmp 0x429c40
cmp esi, 0x100
jae 0x429e02
mov byte [ebp + esi - 0x104], 0
cmp esi, 0xff
jne 0x429cce
cmp dword [edi + 0x14], 0x10
jb 0x429ca4
mov edi, dword [edi]
push edi
push str.ERROR:_Got_invalid_status_line_connecting_to:__s_n
call fcn.0047c808
add eax, 0x40
push eax
call fcn.0047e09e
add esp, 0xc
xor eax, eax
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047b06c
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x104]
push str.HTTP_1.1__d
push eax
call fcn.0047e2ba
add esp, 0xc
cmp eax, 1
jne 0x429de8
cmp dword [ebp - 0x210], 0x65
jne 0x429de8
nop
xor esi, esi
cmp esi, 2
jl 0x429d23
cmp esi, 0xff
jge 0x429d42
cmp byte [ebp + esi - 0x106], 0xd
je 0x429d42
cmp byte [ebp + esi - 0x105], 0xa
je 0x429d42
push 0
push 1
lea eax, [ebp - 0x104]
add eax, esi
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x4299ca
inc esi
jmp 0x429d02
cmp byte [ebp - 0x104], 0xd
jne 0x429d00
cmp byte [ebp - 0x103], 0xa
jne 0x429d00
push 4
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 1
push eax
push 1
push 6
push ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x20c], 1
push eax
push 0x8004667e
push ebx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp dword [edi + 0x14], 0x10
jb 0x429d97
mov edi, dword [edi]
push edi
push str.Connected_to:__s_n
call fcn.0047c808
add eax, 0x40
push eax
call fcn.0047e09e
push 0x34
call fcn.0047a506
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4299ca
push 0x34
push 0
push esi
call fcn.0047bb20
add esp, 0xc
mov ecx, esi
push dword [ebp + 0xc]
push ebx
call fcn.00428eb0
mov ecx, dword [ebp - 4]
pop ebx
pop edi
xor ecx, ebp
pop esi
call fcn.0047b06c
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x14], 0x10
jb 0x429df0
mov edi, dword [edi]
lea eax, [ebp - 0x104]
push eax
push edi
push str.ERROR:_Got_bad_status_connecting_to__s:__s
jmp 0x4299b9
call fcn.0047dfc0
int3