Function at 0x1400113f2
Capabilities:
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
jmp 0x1400142b0
push rbp
push rdi
sub rsp, 0xcf8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x242
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x140022040]
xor rax, rbp
mov qword [rbp + 0xcb8], rax
lea rcx, [0x1400280f9]
call fcn.1400115a5
nop
mov eax, 0x202
mov word [rbp + 0x1e4], ax
lea rdx, [rbp + 0x30]
movzx ecx, word [rbp + 0x1e4]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [rbp + 0x204], eax
cmp dword [rbp + 0x204], 0
je 0x140014362
lea rdx, str.WSAStartup_failed__Err_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110a0
mov edx, dword [rbp + 0x204]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop
xor eax, eax
jmp 0x1400147d6
mov r8d, reloc.WS2_32.dll_recvfrom
mov edx, 2
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbp + 0x228], rax
cmp qword [rbp + 0x228], 0xffffffffffffffff
jne 0x1400143e6
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0xcb4], eax
lea rdx, str.Cant_create_a_socket__Err_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110a0
mov ecx, dword [rbp + 0xcb4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
xor eax, eax
jmp 0x1400147d6
mov dword [rbp + 0x244], 1
mov dword [rbp + 0x264], 4
mov eax, dword [rbp + 0x264]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x244]
mov r8d, 4
mov edx, 0xffff
mov rcx, qword [rbp + 0x228]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0xffffffff
jne 0x14001448b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0xcb4], eax
lea rdx, str.Cant_set_a_sockopt__Err_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110a0
mov ecx, dword [rbp + 0xcb4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
xor eax, eax
jmp 0x1400147d6
lea rdx, str.server_Socket_option_SO_REUSEADDR_is_ON
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110a0
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov dword [rbp + 0x2b4], sendto
movsxd rax, dword [rbp + 0x2b4]
mov r8, rax
xor edx, edx
lea rcx, [rbp + 0x288]
call fcn.140011465
nop
mov eax, 2
mov word [rbp + 0x288], ax
mov cx, 0xd2f0
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x28a], ax
mov dword [rbp + 0x28c], 0
mov r8d, dword [rbp + 0x2b4]
lea rdx, [rbp + 0x288]
mov rcx, qword [rbp + 0x228]
call qword [sym.imp.WS2_32.dll_bind]
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0xffffffff
jne 0x14001457a
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0xcb4], eax
lea rdx, str.Cant_bind_a_socket__Err_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110a0
mov ecx, dword [rbp + 0xcb4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
xor eax, eax
jmp 0x1400147d6
mov dword [rbp + 0x304], sendto
movsxd rax, dword [rbp + 0x304]
mov r8, rax
xor edx, edx
lea rcx, [rbp + 0x2d8]
call fcn.140011465
nop
lea rcx, [rbp + 0x748]
call fcn.140011596
nop
xor eax, eax
cmp eax, 1
je 0x140014797
mov r8d, 0x400
xor edx, edx
lea rcx, [rbp + 0x330]
call fcn.140011465
nop
lea rax, [rbp + 0x304]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2d8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x400
lea rdx, [rbp + 0x330]
mov rcx, qword [rbp + 0x228]
call qword [sym.imp.WS2_32.dll_recvfrom]
mov dword [rbp + 0x784], eax
cmp dword [rbp + 0x784], 0xffffffff
jne 0x140014654
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0xcb4], eax
lea rdx, str.Error_recieving_from_client
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110a0
mov ecx, dword [rbp + 0xcb4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
jmp 0x1400145aa
mov r8d, 0x100
xor edx, edx
lea rcx, [rbp + 0x7b0]
call fcn.140011465
nop
mov r9d, 0x100
lea r8, [rbp + 0x7b0]
lea rdx, [rbp + 0x2dc]
mov ecx, 2
call fcn.14001132a
nop
movzx ecx, word [rbp + 0x2da]
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rbp + 0xcb4], ax
lea rdx, str.Msg_from
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110a0
lea rdx, [rbp + 0x7b0]
mov rcx, rax
call fcn.1400110a0
lea rdx, [0x14001e348]
mov rcx, rax
call fcn.1400110a0
movzx ecx, word [rbp + 0xcb4]
movzx edx, cx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_short_int____ptr64]
lea rdx, [0x14001e344]
mov rcx, rax
call fcn.1400110a0
lea rdx, [rbp + 0x330]
mov rcx, rax
call fcn.1400110a0
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov eax, dword [rbp + 0x304]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x2d8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x400
lea rdx, [rbp + 0x330]
mov rcx, qword [rbp + 0x228]
call qword [sym.imp.WS2_32.dll_sendto]
mov dword [rbp + 0x8c4], eax
cmp dword [rbp + 0x8c4], 0xffffffff
jne 0x140014792
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0xcb4], eax
lea rdx, str.Cant_send_msg__Err_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110a0
mov ecx, dword [rbp + 0xcb4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011041]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
jmp 0x1400145aa
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop
mov rcx, qword [rbp + 0x228]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov dword [rbp + 0xca4], 0
lea rcx, [rbp + 0x748]
call fcn.140011113
mov eax, dword [rbp + 0xca4]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14001df10]
call fcn.1400114d3
mov rax, rdi
mov rcx, qword [rbp + 0xcb8]
xor rcx, rbp
call fcn.1400112b2
lea rsp, [rbp + 0xcc8]
pop rdi
pop rbp
ret