Function at 0x43c160
Capabilities:
Create udp socket
Set socket configuration

Disassembly:
sub esp, 8
push esi
mov esi, ecx
mov eax, dword [esi + 0x3044]
cmp eax, 0xffffffff
push edi
mov edi, 1
mov dword [esp + 0xc], 0x10000
mov dword [esp + 8], edi
je 0x43c19a
push eax
mov eax, dword [esi + 0x2fec]
push esi
call eax
add esp, 8
mov dword [esi + 0x3044], 0xffffffff
cmp dword [0x483380], 0
mov dword [esi + 0x3048], 0xffffffff
mov dword [esi + 0x16218], edi
jne 0x43c1e1
call fcn.0043b7c0
test eax, eax
je 0x43c1e1
push str.TCP_init_failed_in_soap_bind__
mov edx, esi
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
push 0
push edi
push 2
call sub.WS2_32.dll_socket
cmp eax, 0xffffffff
mov dword [esi + 0x3044], eax
mov dword [esi + 0x16218], 0
jne 0x43c230
call sub.WS2_32.dll_WSAGetLastError
push str.socket_failed_in_soap_bind__
mov edx, esi
mov dword [esi + 0x1621c], eax
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x43c27e
push 4
lea edx, [esp + 0xc]
push edx
push ecx
push 0xffff
push eax
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x43c27e
call sub.WS2_32.dll_WSAGetLastError
push str.setsockopt_failed_in_soap_bind__
mov edx, esi
mov dword [esi + 0x1621c], eax
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
test al, 0x10
je 0x43c2d6
mov edx, dword [esi + 0x3044]
push 4
lea ecx, [esp + 0xc]
push ecx
push 8
push 0xffff
push edx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x43c2d6
call sub.WS2_32.dll_WSAGetLastError
push str.setsockopt_SO_KEEPALIVE_failed_in_soap_bind__
mov edx, esi
mov dword [esi + 0x1621c], eax
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
mov ecx, dword [esi + 0x3044]
push 4
lea eax, [esp + 0x10]
push eax
push 0x1001
push 0xffff
push ecx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x43c327
call sub.WS2_32.dll_WSAGetLastError
push str.setsockopt_SO_SNDBUF_failed_in_soap_bind__
mov edx, esi
mov dword [esi + 0x1621c], eax
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
mov eax, dword [esi + 0x3044]
push 4
lea edx, [esp + 0x10]
push edx
push 0x1002
push 0xffff
push eax
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x43c378
call sub.WS2_32.dll_WSAGetLastError
push str.setsockopt_SO_RCVBUF_failed_in_soap_bind__
mov edx, esi
mov dword [esi + 0x1621c], eax
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
test byte [esi + 0xc], 4
jne 0x43c3c8
mov edx, dword [esi + 0x3044]
push 4
lea ecx, [esp + 0xc]
push ecx
push edi
push 6
push edx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x43c3c8
call sub.WS2_32.dll_WSAGetLastError
push str.setsockopt_TCP_NODELAY_failed_in_soap_bind__
mov edx, esi
mov dword [esi + 0x1621c], eax
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
xor eax, eax
lea edi, [esi + 0x1729c]
mov dword [esi + 0x172ac], 0x10
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
push eax
mov word [edi], 2
mov dword [esi + 0x16218], 2
call sub.WS2_32.dll_htonl
mov dword [esi + 0x172a0], eax
mov eax, dword [esp + 0x14]
push eax
call sub.WS2_32.dll_htons
mov ecx, dword [esi + 0x172ac]
mov edx, dword [esi + 0x3044]
push ecx
push edi
push edx
mov word [esi + 0x1729e], ax
mov dword [esi + 0x16218], 0
call sub.WS2_32.dll_bind
test eax, eax
je 0x43c468
call sub.WS2_32.dll_WSAGetLastError
mov dword [esi + 0x1621c], eax
call fcn.0043cc70
push str.bind_failed_in_soap_bind__
mov edx, esi
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
test byte [esi + 0xc], 4
jne 0x43c4b5
mov eax, dword [esi + 0x3044]
push 0x64
push eax
call sub.WS2_32.dll_listen
test eax, eax
je 0x43c4b5
call sub.WS2_32.dll_WSAGetLastError
mov dword [esi + 0x1621c], eax
call fcn.0043cc70
push str.listen_failed_in_soap_bind__
mov edx, esi
call fcn.0043b9c0
push eax
mov edi, 0x15
mov eax, esi
call fcn.00446050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
add esp, 8
ret
mov eax, dword [esi + 0x3044]
pop edi
pop esi
add esp, 8
ret