Function at 0x407bd0
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x42fc60]
mov dword [ebp - 4], eax
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp + 8]
mov dword [eax], 0xffffffff
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0xffffffff
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x407c2d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.Create_DVRListen_socket_lost
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x48]
call fcn.00407ae0
xor al, al
jmp 0x407df7
push 0
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x10], eax
mov word [ebp - 0x14], 2
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x12], ax
push 0x10
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x407c8e
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DVRListen_bind_lost
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x48]
call fcn.00407ae0
xor al, al
jmp 0x407df7
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x48]
call fcn.00407b50
mov ecx, dword [ebp + 0xc]
mov word [ecx], ax
push 1
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x407ce0
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.DVRListen_listen_lost
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x48]
call fcn.00407ae0
xor al, al
jmp 0x407df7
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x407d24
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x3c], esp
push str.Create_ClientListen_socket_lost
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x48]
call fcn.00407ae0
xor al, al
jmp 0x407df7
push 0
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x20], eax
mov word [ebp - 0x24], 2
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x22], ax
push 0x10
lea edx, [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x407d8c
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x40], esp
push str.ClientListen_bind_lost
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x48]
call fcn.00407ae0
xor al, al
jmp 0x407df7
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x48]
call fcn.00407b50
mov ecx, dword [ebp + 0x14]
mov word [ecx], ax
push 1
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x407de5
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x44], esp
push str.ClientListen_listen_lost
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x48]
call fcn.00407ae0
xor al, al
jmp 0x407df7
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov dword [edx], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x28]
mov dword [ecx], edx
mov al, 1
mov ecx, dword [ebp - 4]
call fcn.00423fdd
mov esp, ebp
pop ebp
ret 0x10