Function at 0x401550
Capabilities:
Create udp socket

Disassembly:
push rbp
push rbx
sub rsp, 0x168
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x100], ecx
mov qword [rbp + 0x108], rdx
call sym.__main
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xd0], 0
mov dword [rbp + 0xcc], 0
mov dword [rbp + 0xc8], 2
mov rax, qword [rbp + 0x108]
add rax, 8
mov rax, qword [rax]
test rax, rax
je 0x401743
mov rax, qword [rbp + 0x108]
add rax, 8
mov rax, qword [rax]
lea rdx, str.__version
mov rcx, rax
call sym.strcmp
test eax, eax
jne 0x401743
mov rcx, qword [str.nbtscan_1.0.35___2008_04_08___http:__www.unixwiz.net_tools_]
call sym.puts
mov ecx, 0
call sym.exit
mov eax, dword [rbp + 0xc4]
sub eax, 0x31
cmp eax, 0x46
ja case.0x40161d.50
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x00409134]
mov eax, dword [rdx + rax]
cdqe
lea rdx, [0x00409134]
add rax, rdx
jmp rax
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rcx, rax
call sym.Usage
lea rcx, str.Sorry___P_perl_support_not_compiled
call sym.dieA
lea rcx, str.Sorry___C_not_supported_yet
call sym.dieA
mov dword [rbp + 0xc8], 1
jmp 0x401743
mov dword [0x0040e038], 1
jmp 0x401743
mov rax, qword [0x0040aeb0]
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
jmp 0x401743
mov rax, qword [0x0040aeb0]
mov rax, qword [rax]
mov rcx, rax
call sym.atoi
mov ecx, eax
call sym.set_tries
jmp 0x401743
mov rcx, qword [str.nbtscan_1.0.35___2008_04_08___http:__www.unixwiz.net_tools_]
call sym.puts
mov ecx, 0
call sym.exit
mov dword [0x0040e040], 1
jmp 0x401743
mov dword [0x0040e04c], 1
jmp 0x401743
mov rax, qword [0x0040aeb0]
mov rax, qword [rax]
mov rcx, rax
call sym.atoi
mov word [0x0040e044], ax
jmp 0x401743
lea rcx, str.Sorry___b_broadcast_not_yet_supported
call sym.dieA
mov eax, dword [0x0040e030]
add eax, 1
mov dword [0x0040e030], eax
jmp 0x401743
mov rax, qword [0x0040aeb0]
mov rax, qword [rax]
mov rcx, rax
call sym.atoi
mov dword [0x00408010], eax
jmp 0x401743
mov rax, qword [0x0040aeb0]
mov rax, qword [rax]
mov rcx, rax
call sym.atoi
mov dword [0x00408014], eax
jmp 0x401743
mov dword [0x0040e034], 1
nop
mov rax, qword [rbp + 0x108]
lea r8, str.CHT:nfp:bt:vw:mVO:1P
mov rdx, rax
mov ecx, dword [rbp + 0x100]
call sym.getopt
mov dword [rbp + 0xc4], eax
cmp dword [rbp + 0xc4], 0xffffffff
jne 0x4015ef
cmp qword [rbp + 0xd0], 0
je 0x401799
mov rax, qword [rbp + 0xd0]
lea rdx, [0x0040908b]
mov rcx, rax
call sym.fopen
mov qword [rbp + 0xd8], rax
cmp qword [rbp + 0xd8], 0
jne 0x4017b8
mov ecx, 1
mov rax, qword [sym.__acrt_iob_func]
call rax
mov qword [rbp + 0xd8], rax
mov eax, dword [0x0040e038]
test eax, eax
je 0x4017ce
lea rcx, str.Content_type:_text_plain_n
call sym.puts
mov eax, dword [0x0040e030]
mov edx, dword [rbp + 0xc8]
mov ecx, eax
call sym.init_winsock
jmp 0x401847
mov rax, qword [0x0040aec0]
mov eax, dword [rax]
lea edx, [rax + 1]
mov rcx, qword [0x0040aec0]
mov dword [rcx], edx
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x108]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp + 0xb8], rax
lea rax, [rbp - 0x50]
mov rcx, qword [rbp + 0xb8]
mov rdx, rax
call sym.parse_target_range
test eax, eax
jne 0x401840
lea rax, [rbp - 0x50]
mov rdx, rax
lea rcx, str.ERROR:_invalid_target_specification:__s
call sym.dieA
add dword [rbp + 0xcc], 1
mov rax, qword [0x0040aec0]
mov eax, dword [rax]
cmp dword [rbp + 0x100], eax
jg 0x4017e3
cmp dword [rbp + 0xcc], 0
jne 0x401873
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rcx, rax
call sym.Usage
mov r8d, 0
mov edx, 2
mov ecx, 2
mov rax, qword [sym.imp.WSOCK32.dll_socket]
call rax
mov qword [rbp + 0xb0], rax
cmp qword [rbp + 0xb0], 0xffffffffffffffff
jne 0x4018bc
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov ecx, eax
call sym.win32_errorstr
mov rdx, rax
lea rcx, str.ERROR:_cannot_create_socket___s_
call sym.dieA
lea rax, [rbp - 0x60]
mov r8d, 0x10
mov edx, 0
mov rcx, rax
call sym.memset
mov word [rbp - 0x60], 2
mov ecx, 0
mov rax, qword [sym.imp.WSOCK32.dll_htonl]
call rax
mov dword [rbp - 0x5c], eax
movzx eax, word [0x0040e044]
movzx eax, ax
mov ecx, eax
mov rax, qword [sym.imp.WSOCK32.dll_htons]
call rax
mov word [rbp - 0x5e], ax
lea rax, [rbp - 0x60]
mov rcx, qword [rbp + 0xb0]
mov r8d, 0x10
mov rdx, rax
mov rax, qword [sym.imp.WSOCK32.dll_bind]
call rax
test eax, eax
je 0x40193b
mov rax, qword [sym.imp.WSOCK32.dll_WSAGetLastError]
call rax
mov edx, eax
lea rcx, str.ERROR:_cannot_bind_to_local_socket___ld_
call sym.dieA
mov eax, dword [0x0040e030]
test eax, eax
je 0x401987
movzx eax, word [rbp - 0x5e]
movzx eax, ax
mov ecx, eax
mov rax, qword [sym.imp.WSOCK32.dll_ntohs]
call rax
movzx ebx, ax
mov eax, dword [rbp - 0x5c]
mov ecx, eax
mov rax, qword [sym.imp.WSOCK32.dll_inet_ntoa]
call rax
mov rdx, rax
mov rax, qword [rbp + 0xd8]
mov r9d, ebx
mov r8, rdx
lea rdx, str.Bound_to__s._d_n
mov rcx, rax
call sym.fprintf
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xd8]
mov rcx, rax
call sym.query_names
mov rax, qword [sym.imp.WSOCK32.dll_WSACleanup]
call rax
mov eax, 0
add rsp, 0x168
pop rbx
pop rbp
ret