Function at 0x10026741
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Set socket configuration

Disassembly:
push 0xc
pop eax
call fcn.1005ead0
mov eax, dword [esi + 0x28]
or dword [esp], 0xffffffff
push ebx
xor ebx, ebx
cmp eax, ebx
push ebp
mov dword [esp + 0x10], ebx
je 0x100269b1
mov dword [esp + 0x10], eax
jmp 0x100269b1
jmp dword [eax*4 + 0x10026adc]
mov ebp, dword [esi + 4]
cmp ebp, ebx
jne 0x10026799
push ebx
push ebx
push 0x70
push 0x73
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
jmp 0x10026aba
mov al, byte [ebp]
cmp al, 0x3a
je 0x1002679e
cmp al, 0x2f
je 0x1002679e
inc ebp
cmp byte [ebp], bl
jne 0x1002678d
movsx eax, byte [ebp]
cmp eax, 0x3a
mov dword [esp + 0xc], eax
je 0x100267b0
cmp eax, 0x2f
jne 0x100267e8
mov byte [ebp], bl
inc ebp
cmp dword [esp + 0xc], 0x3a
jne 0x100267e8
cmp byte [ebp], bl
mov eax, ebp
je 0x100267d0
cmp byte [eax], 0x2f
je 0x100267ce
inc eax
cmp byte [eax], bl
jne 0x100267c2
jmp 0x100267d0
mov byte [eax], bl
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x100267de
push eax
call sym.LIBEAY32.dll_CRYPTO_free
pop ecx
push ebp
call sym.LIBEAY32.dll_BUF_strdup
pop ecx
mov dword [esi + 8], eax
cmp dword [esi + 8], ebx
je 0x100269c2
mov dword [esi], 2
jmp 0x10026991
lea eax, [esi + 0x10]
push eax
push dword [esi + 4]
call sym.LIBEAY32.dll_BIO_get_host_ip
test eax, eax
pop ecx
pop ecx
jle 0x10026aba
mov dword [esi], 3
jmp 0x10026991
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x10026aba
lea ecx, [esi + 0x14]
push ecx
push eax
call sym.LIBEAY32.dll_BIO_get_port
test eax, eax
pop ecx
pop ecx
jle 0x10026aba
mov dword [esi], 4
jmp 0x10026991
push 0x10
lea ebp, [esi + 0x18]
push ebx
push ebp
call sub.MSVCR70.dll_memset
xor eax, eax
mov ax, word [esi + 0x14]
add esp, 0xc
mov word [ebp], 2
push eax
call sub.WSOCK32.dll_htons
movzx ecx, byte [esi + 0x12]
mov word [esi + 0x1a], ax
xor eax, eax
mov ah, byte [esi + 0x10]
mov al, byte [esi + 0x11]
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 0x13]
shl eax, 8
or eax, ecx
push eax
call sub.WSOCK32.dll_htonl
push 4
pop ebp
push 6
push 1
push 2
mov dword [esi + 0x1c], eax
mov dword [esi], ebp
call sub.WSOCK32.dll_socket
cmp eax, 0xffffffff
mov dword [esp + 8], eax
je 0x100269e6
mov dword [edi + 0x1c], eax
mov dword [esi], 8
jmp 0x10026991
cmp dword [esi + 0xc], ebx
je 0x100268d3
push 1
push dword [edi + 0x1c]
call sym.LIBEAY32.dll_BIO_socket_nbio
test eax, eax
pop ecx
pop ecx
je 0x10026a12
push 4
lea eax, [esp + 0x10]
push eax
push 8
push 0xffff
mov dword [esi], 5
push dword [edi + 0x1c]
mov dword [esp + 0x20], 1
call sub.WSOCK32.dll_setsockopt
cmp eax, ebx
mov dword [esp + 0xc], eax
jge 0x10026991
push ebx
push ebx
call sub.WSOCK32.dll_WSAGetLastError
push eax
push 4
push 2
call sym.LIBEAY32.dll_ERR_put_error
push dword [esi + 8]
push str.:_
push dword [esi + 4]
push 0x10078c18
push 4
call sym.LIBEAY32.dll_ERR_add_error_data
push ebx
push ebx
push 0x6d
jmp 0x10026a67
and dword [edi + 0x14], 0xfffffff0
push 0x10
lea eax, [esi + 0x18]
push eax
push dword [edi + 0x1c]
call sub.WSOCK32.dll_connect
cmp eax, ebx
mov dword [esp + 8], eax
mov dword [edi + 0x18], ebx
jge 0x1002698b
push eax
call sym.LIBEAY32.dll_BIO_sock_should_retry
test eax, eax
pop ecx
je 0x10026a3b
or dword [edi + 0x14], 0xc
mov dword [esi], 7
mov dword [edi + 0x18], 2
jmp 0x10026aba
push dword [edi + 0x1c]
call sym.LIBEAY32.dll_BIO_sock_error
cmp eax, ebx
pop ecx
mov dword [esp + 0xc], eax
jne 0x10026a75
mov dword [esi], 6
cmp dword [esp + 0x10], ebx
je 0x100269b1
push dword [esp + 8]
push dword [esi]
push edi
call dword [esp + 0x1c]
add esp, 0xc
cmp eax, ebx
mov dword [esp + 8], eax
je 0x10026ad2
mov eax, dword [esi]
dec eax
cmp eax, 7
jbe switch.0x1002676a
jmp 0x10026aba
push ebx
push ebx
push 0x72
push 0x73
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
push dword [esi + 4]
push 0x10078c18
push 2
call sym.LIBEAY32.dll_ERR_add_error_data
add esp, 0x20
jmp 0x10026aba
push ebx
push ebx
call sub.WSOCK32.dll_WSAGetLastError
push eax
push ebp
push 2
call sym.LIBEAY32.dll_ERR_put_error
push dword [esi + 8]
push str.:_
push dword [esi + 4]
push 0x10078c18
push ebp
call sym.LIBEAY32.dll_ERR_add_error_data
push ebx
push ebx
push 0x76
jmp 0x10026a67
push ebx
push ebx
push 0x68
push 0x73
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
push dword [esi + 8]
push str.:_
push dword [esi + 4]
push 0x10078c18
push 4
call sym.LIBEAY32.dll_ERR_add_error_data
add esp, 0x28
jmp 0x10026aba
push ebx
push ebx
call sub.WSOCK32.dll_WSAGetLastError
push eax
push 2
push 2
call sym.LIBEAY32.dll_ERR_put_error
push dword [esi + 8]
push str.:_
push dword [esi + 4]
push 0x10078c18
push 4
call sym.LIBEAY32.dll_ERR_add_error_data
push ebx
push ebx
push 0x67
push 0x73
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x3c
jmp 0x10026aba
and dword [edi + 0x14], 0xfffffff0
push ebx
push ebx
push eax
push 2
push 2
call sym.LIBEAY32.dll_ERR_put_error
push dword [esi + 8]
push str.:_
push dword [esi + 4]
push 0x10078c18
push 4
call sym.LIBEAY32.dll_ERR_add_error_data
push ebx
push ebx
push 0x6e
push 0x73
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x3c
mov dword [esp + 8], ebx
jmp 0x10026aba
mov dword [esp + 8], 1
cmp dword [esp + 0x10], ebx
je 0x10026ad2
push dword [esp + 8]
push dword [esi]
push edi
call dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret