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

Disassembly:
sub esp, 0x28
mov eax, dword [0x1001f048]
xor eax, esp
mov dword [esp + 0x24], eax
push ebx
mov ebx, dword [esp + 0x3c]
mov eax, edx
push ebp
push esi
mov esi, dword [esp + 0x38]
push 0
push eax
push 2
mov dword [esp + 0x24], eax
pop eax
push eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], esi
call dword [sym.imp.WS2_32.dll_socket]
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x1000ecea
call fcn.10013b71
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_:_Cant_create_socket_nError__d___s_
call fcn.100011b4
add esp, 0xc
or eax, ebp
jmp 0x1000ee90
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
push str.tftp
push esi
call edi
test eax, eax
je 0x1000ed15
push str.bootps
push esi
call edi
test eax, eax
je 0x1000ed15
push str.proxy
push esi
call edi
test eax, eax
jne 0x1000ed6e
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
lea eax, [esp + 0x20]
push 4
push eax
push 4
mov edi, 0xffff
mov dword [esp + 0x2c], 1
push edi
push ebp
call esi
push dword [0x1001fd10]
test eax, eax
mov edx, str.setsockopt_error
mov ecx, str.Port__d_may_be_reused
cmovne ecx, edx
push ecx
call fcn.100138a5
pop ecx
pop ecx
push 4
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x8000
push eax
push 0x1002
push edi
push ebp
call esi
mov esi, dword [esp + 0x18]
xor eax, eax
lea edi, [esp + 0x24]
stosd dword es:[edi], eax
push 2
pop edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [esp + 0x44]
mov edi, dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x24], dx
cmp dword [esp + 0x40], eax
je 0x1000ed96
push dword [esp + 0x40]
jmp 0x1000edbd
cmp dword [esp + 0x1c], edx
mov ecx, 0x1001b48c
mov eax, 0x1001951c
cmovne eax, ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_getservbyname]
test eax, eax
je 0x1000edb9
mov ax, word [eax + 8]
jmp 0x1000edbf
push dword [esp + 0x44]
call edi
mov word [esp + 0x26], ax
test ebx, ebx
je 0x1000edda
cmp byte [ebx], 0
je 0x1000edda
push ebx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [esp + 0x28], eax
jmp 0x1000eddf
and dword [esp + 0x28], 0
push 0x10
lea eax, [esp + 0x28]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x1000ee8d
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
sub eax, 0x2726
je 0x1000ee45
sub eax, 0x1a
je 0x1000ee45
dec eax
je 0x1000ee25
call fcn.10013b71
push eax
call esi
push eax
push str.Bind_error__d_n_s
call fcn.100011b4
add esp, 0xc
jmp 0x1000ee5f
mov eax, dword [esp + 0x10]
push ebx
push eax
push ebx
push eax
call fcn.10013b71
push eax
call esi
push eax
push str.Error__d_n_s_n_nTftpd32_tried_to_bind_the__s_port_nto_the_interface__s_nwhich_is_not_available_for_this_host_nEither_remove_the__s_service_or_suppress__s_interface_assignation
call fcn.100011b4
add esp, 0x1c
jmp 0x1000ee5f
push dword [esp + 0x10]
call fcn.10013b71
push eax
call esi
push eax
push str.Error__d_n_s_n_nTftpd32_can_not_bind_the__s_port_nan_application_is_already_listening_on_this_port
call fcn.100011b4
add esp, 0x10
push ebp
call dword [sym.imp.WS2_32.dll_closesocket]
push dword [esp + 0x26]
call edi
movzx eax, ax
push eax
push dword [esp + 0x2c]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push str.bind_port_to__s_port__d_failed_n
call fcn.100138a5
add esp, 0xc
or eax, 0xffffffff
jmp 0x1000ee8f
mov eax, ebp
pop edi
mov ecx, dword [esp + 0x30]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10015a21
add esp, 0x28
ret