Function at 0x42b7c0
Capabilities:
Create udp socket

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x10], ebp
jne 0x42b81a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Could_not_create_a_UDP_socket:
push 0x45fb78
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.00411f80
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov ecx, esi
call fcn.0042c420
pop edi
or eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
xor eax, eax
mov edi, dword [sym.imp.WS2_32.dll_htonl]
mov dword [esp + 0x14], eax
mov word [esp + 0x14], 2
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
push eax
mov dword [esp + 0x24], eax
call edi
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
push ebx
call dword [sym.imp.WS2_32.dll_htons]
mov esi, dword [esp + 0x2c]
mov word [esp + 0x16], ax
test esi, esi
je 0x42b918
cmp esi, 0x100007f
je 0x42b918
push esi
call edi
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x30]
test al, al
je 0x42b918
push str.Binding_to_interface
push 0x45f9c0
call fcn.004126b0
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x42b89b
mov ecx, dword [ebp]
mov eax, dword [ecx + 4]
add eax, ebp
mov edx, dword [eax + 0xc]
push esi
and dh, 0xf9
or dh, 8
mov dword [eax + 0xc], edx
call edi
push eax
push 0x4561f8
push ebp
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.0042c1e0
mov esi, eax
test esi, esi
je 0x42b8cd
mov eax, dword [esi]
mov eax, dword [eax + 4]
add eax, esi
mov ecx, dword [eax + 0xc]
push 0xa
and ch, 0xf3
or ch, 2
mov dword [eax + 0xc], ecx
mov ecx, esi
call fcn.00412400
mov edx, dword [esi]
xor edi, edi
mov eax, dword [edx + 4]
add eax, esi
test byte [eax + 4], 6
jne 0x42b905
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42b905
mov edi, 4
mov eax, dword [esi]
push 0
push edi
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.00412570
mov ebp, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push 0x10
push ecx
push ebp
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x42bb23
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
sub eax, 0
je 0x42bac5
sub eax, 0x2740
je 0x42ba51
dec eax
je 0x42b9eb
push esi
call fcn.0043b6d0
add esp, 4
push eax
push 0x455ce8
push esi
push str.Error
push str.Could_not_bind_UDP_receive_port
push 0x45fb78
call fcn.004126b0
add esp, 8
push eax
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.00411f80
push eax
call fcn.004126b0
add esp, 8
push eax
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov edx, dword [esi]
xor edi, edi
mov eax, dword [edx + 4]
add eax, esi
test byte [eax + 4], 6
jne 0x42b9c8
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42b9c8
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x42b9e0
mov edx, dword [ecx + 4]
push 0
or edx, edi
push edx
call fcn.004125a0
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x14
ret
mov al, byte [esp + 0x30]
test al, al
je 0x42ba46
push str.Cannot_assign_requested_address
push 0x45fb78
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov eax, dword [esi]
xor edi, edi
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi + 4]
test cl, 6
jne 0x42ba37
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42ba37
mov edi, 4
mov eax, dword [esi]
push 0
push edi
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.00412570
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x14
ret
push str._for_receiving_UDP_is_in_use
push ebx
push str.Port
push 0x45fb78
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.00411d40
push eax
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov ecx, dword [esi]
xor edi, edi
mov edx, dword [ecx + 4]
mov cl, byte [edx + esi + 4]
test cl, 6
lea eax, [edx + esi]
jne 0x42baab
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42baab
mov edi, 4
mov eax, dword [esi]
push 0
push edi
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.00412570
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x14
ret
push str.Could_not_bind_socket
push 0x45fb78
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov ecx, dword [esi]
xor edi, edi
mov edx, dword [ecx + 4]
mov cl, byte [edx + esi + 4]
test cl, 6
lea eax, [edx + esi]
jne 0x42bb09
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42bb09
mov edi, 4
mov eax, dword [esi]
push 0
push edi
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.00412570
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x14
ret
mov al, byte [esp + 0x30]
test al, al
je 0x42bba5
push ebp
push str._with_fd
push ebx
push str.Opened_port
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.00411d40
push eax
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.004121c0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov ecx, dword [esi]
xor edi, edi
mov edx, dword [ecx + 4]
mov cl, byte [edx + esi + 4]
test cl, 6
lea eax, [edx + esi]
jne 0x42bb8d
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42bb8d
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x42bba5
mov edx, dword [ecx + 4]
push 0
or edx, edi
push edx
call fcn.004125a0
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x14
ret