Function at 0x10028c25
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0x3c
pop eax
call fcn.1005ead0
mov eax, dword [0x100a4120]
xor eax, dword [ebp + 4]
push ebx
push esi
xor ebx, ebx
or esi, 0xffffffff
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], esi
call sym.LIBEAY32.dll_BIO_sock_init
cmp eax, 1
jne 0x10028c64
push dword [ebp + 8]
call sym.LIBEAY32.dll_BUF_strdup
mov edx, eax
cmp edx, ebx
pop ecx
mov dword [ebp - 0x1c], edx
jne 0x10028c6b
mov eax, esi
jmp 0x10028ed7
push edi
xor edi, edi
cmp byte [edx], bl
mov dword [ebp - 0x10], edx
mov eax, edx
je 0x10028c97
mov cl, byte [eax]
cmp cl, 0x3a
jne 0x10028c85
lea edi, [eax + 1]
mov byte [eax], bl
jmp 0x10028c8a
cmp cl, 0x2f
je 0x10028c91
inc eax
cmp byte [eax], bl
jne 0x10028c77
jmp 0x10028c93
mov byte [eax], bl
cmp edi, ebx
jne 0x10028ca0
mov edi, edx
mov dword [ebp - 0x10], 0x10078d80
lea eax, [ebp - 0xc]
push eax
push edi
call sym.LIBEAY32.dll_BIO_get_port
test eax, eax
pop ecx
pop ecx
je 0x10028eb3
push 0x10
lea eax, [ebp - 0x2c]
push ebx
push eax
call sub.MSVCR70.dll_memset
add esp, 0xc
push 2
pop edi
push dword [ebp - 0xc]
mov word [ebp - 0x2c], di
call sub.WSOCK32.dll_htons
push 0x10078d80
push dword [ebp - 0x10]
mov word [ebp - 0x2a], ax
call sub.MSVCR70.dll_strcmp
test eax, eax
pop ecx
pop ecx
jne 0x10028cee
mov dword [ebp - 0x28], ebx
jmp 0x10028d2a
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
call sym.LIBEAY32.dll_BIO_get_host_ip
test eax, eax
pop ecx
pop ecx
je 0x10028eb3
movzx ecx, byte [ebp - 0xb]
xor eax, eax
mov ah, byte [ebp - 0xc]
or eax, ecx
movzx ecx, byte [ebp - 0xa]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 9]
shl eax, 8
or eax, ecx
push eax
call sub.WSOCK32.dll_htonl
mov dword [ebp - 0x28], eax
push 6
push 1
push edi
call sub.WSOCK32.dll_socket
cmp eax, esi
mov dword [ebp - 8], eax
je 0x10028e16
mov esi, dword [ebp + 0xc]
cmp esi, edi
jne 0x10028d67
push 4
lea eax, [ebp - 0x14]
push eax
push 4
push 0xffff
push dword [ebp - 8]
mov dword [ebp - 0x14], 1
call sub.WSOCK32.dll_setsockopt
mov dword [ebp - 0x14], eax
xor esi, esi
push 0x10
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 8]
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
jne 0x10028e67
call sub.WSOCK32.dll_WSAGetLastError
cmp esi, 1
mov dword [ebp - 0x18], eax
jne 0x10028e40
cmp eax, 0x2740
jne 0x10028e40
push 0x10
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
call sub.MSVCR70.dll_memcpy
push 0x10078d80
push dword [ebp - 0x10]
call sub.MSVCR70.dll_strcmp
add esp, 0x14
test eax, eax
jne 0x10028dca
push 0x7f000001
call sub.WSOCK32.dll_htonl
mov dword [ebp - 0x38], eax
push 6
push 1
push edi
call sub.WSOCK32.dll_socket
mov esi, eax
cmp esi, 0xffffffff
je 0x10028e40
push 0x10
lea eax, [ebp - 0x3c]
push eax
push esi
call sub.WSOCK32.dll_connect
push esi
mov dword [ebp - 0xc], eax
call sub.WSOCK32.dll_closesocket
cmp dword [ebp - 0xc], 0xffffffff
jne 0x10028e40
push dword [ebp - 8]
mov esi, edi
call sub.WSOCK32.dll_closesocket
push 6
push 1
push edi
call sub.WSOCK32.dll_socket
cmp eax, 0xffffffff
mov dword [ebp - 8], eax
jne 0x10028d42
push ebx
push ebx
call sub.WSOCK32.dll_WSAGetLastError
push eax
push 4
push edi
call sym.LIBEAY32.dll_ERR_put_error
push 0x10078d1c
push dword [ebp + 8]
push str.port
push 3
call sym.LIBEAY32.dll_ERR_add_error_data
push ebx
push ebx
push 0x76
jmp 0x10028e9e
push ebx
push ebx
push dword [ebp - 0x18]
push 6
push edi
call sym.LIBEAY32.dll_ERR_put_error
push 0x10078d1c
push dword [ebp + 8]
push str.port
push 3
call sym.LIBEAY32.dll_ERR_add_error_data
push ebx
push ebx
push 0x75
jmp 0x10028e9e
push 5
push dword [ebp - 8]
call sub.WSOCK32.dll_listen
cmp eax, 0xffffffff
jne 0x10028eac
push ebx
push ebx
call sub.WSOCK32.dll_WSAGetLastError
push eax
push 6
push edi
call sym.LIBEAY32.dll_ERR_put_error
push 0x10078d1c
push dword [ebp + 8]
push str.port
push 3
call sym.LIBEAY32.dll_ERR_add_error_data
push ebx
push ebx
push 0x77
push 0x69
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x38
jmp 0x10028eb3
mov dword [ebp - 0x14], 1
push dword [ebp - 0x1c]
call sym.LIBEAY32.dll_CRYPTO_free
cmp dword [ebp - 0x14], ebx
pop ecx
pop edi
jne 0x10028ed4
cmp dword [ebp - 8], 0xffffffff
je 0x10028ed4
push dword [ebp - 8]
call sub.WSOCK32.dll_closesocket
or dword [ebp - 8], 0xffffffff
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp + 4]
pop esi
pop ebx
call fcn.1005eb3e
leave
ret