Function at 0x426380
Capabilities:
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
sub esp, 0x1c
mov eax, dword [0x4413a0]
push esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x14d8]
test eax, eax
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 1
jl 0x4263bb
push eax
call sub.WS2_32.dll_closesocket
mov dword [esi + 0x14d8], 0xffffffff
mov ecx, esi
mov dword [esi + 0x14dc], 0xffffffff
mov dword [esi + 0xa798], 1
call fcn.004222f0
test eax, eax
je 0x4263e6
push 0x14
push str.TCP_init_failed_in_soap_bind__
jmp 0x4265f6
push 0
push 1
push 2
mov dword [esi + 0xa798], 0
call sub.WS2_32.dll_socket
test eax, eax
mov dword [esi + 0x14d8], eax
jge 0x42641c
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_socket_failed_in_soap_bind__
jmp 0x4265f6
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x426451
push 4
lea edx, [esp + 8]
push edx
push ecx
push 0xffff
push eax
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x426451
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_failed_in_soap_bind__
jmp 0x4265f6
cmp word [esi + 0xa468], 0
je 0x426490
mov ecx, dword [esi + 0x14d8]
push 4
lea eax, [esp + 8]
push eax
push 8
push 0xffff
push ecx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x426490
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_SO_KEEPALIVE_failed_in_soap_bind__
jmp 0x4265f6
mov eax, dword [esi + 0x14d8]
push 4
lea edx, [esp + 0xc]
push edx
push 0x1001
push 0xffff
push eax
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x4264c8
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_SO_SNDBUF_failed_in_soap_bind__
jmp 0x4265f6
mov edx, dword [esi + 0x14d8]
push 4
lea ecx, [esp + 0xc]
push ecx
push 0x1002
push 0xffff
push edx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x426500
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_SO_RCVBUF_failed_in_soap_bind__
jmp 0x4265f6
mov ecx, dword [esi + 0x14d8]
push 4
lea eax, [esp + 8]
push eax
push 1
push 6
push ecx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x426532
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_TCP_NODELAY_failed_in_soap_bind__
jmp 0x4265f6
mov ecx, dword [esp + 0x28]
xor edx, edx
test ecx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov word [esp + 0xc], 2
mov dword [esi + 0xa798], 2
je 0x426577
push esi
lea eax, [esp + 0x14]
call fcn.004223c0
add esp, 4
test eax, eax
je 0x426582
push 0x14
push str.TCP_get_host_by_name_failed_in_soap_bind__
jmp 0x4265f6
push 0
call sub.WS2_32.dll_htonl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
push eax
call sub.WS2_32.dll_htons
mov edx, dword [esi + 0x14d8]
push 0x10
lea ecx, [esp + 0x10]
push ecx
push edx
mov word [esp + 0x1a], ax
mov dword [esi + 0xa798], 0
call sub.WS2_32.dll_bind
test eax, eax
jne 0x4265db
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x14d8]
push eax
push ecx
call sub.WS2_32.dll_listen
test eax, eax
jne 0x4265db
mov eax, dword [esi + 0x14d8]
pop esi
mov ecx, dword [esp + 0x18]
call fcn.0042c7bb
add esp, 0x1c
ret
call sub.WS2_32.dll_WSAGetLastError
push esi
mov dword [esi + 0xa79c], eax
call fcn.00422480
add esp, 4
push 0x14
push str.TCP_bind_failed_in_soap_bind__
mov eax, esi
call fcn.00425e70
push eax
push esi
call fcn.004250f0
mov ecx, dword [esp + 0x2c]
add esp, 0x10
or eax, 0xffffffff
pop esi
call fcn.0042c7bb
add esp, 0x1c
ret