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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x450276
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x46c098]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x110], 0xffffffff
jne 0x404c51
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [edi + 0x110], eax
cmp eax, 0xffffffff
jne 0x404949
call fcn.004214d0
lea eax, [ebp - 0x6c]
push eax
call fcn.00422de0
add esp, 4
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 0x10
jb 0x4048d8
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x54]
call fcn.00402ed0
mov byte [ebp - 4], 1
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea eax, [ebp - 0x54]
push str.CLocalCallMonitor::PreMessageLoop_socket_Failed_WSAErrorCode___d
push eax
call fcn.00421490
add esp, 4
push eax
call fcn.004212a0
mov eax, dword [ebp - 0x40]
add esp, 0xc
cmp eax, 0x10
jb 0x40491b
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.00403540
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x54], 0
cmp eax, 0x10
jb 0x404942
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.00403540
xor eax, eax
jmp 0x404c56
push 0
push 0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0
push ecx
push 0
push 0
push 4
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push ecx
push 0x9800000c
push eax
call dword [sym.imp.WS2_32.dll_WSAIoctl]
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
lea eax, [ebp - 0x28]
push 4
push eax
push 0x1001
push 0xffff
push dword [edi + 0x110]
mov dword [ebp - 0x28], 0xa00000
call esi
push 4
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x4e20
push eax
push 0x1005
push 0xffff
push dword [edi + 0x110]
call esi
cmp eax, 0xffffffff
jne 0x404a57
call fcn.004214d0
lea eax, [ebp - 0x6c]
push eax
call fcn.00422de0
add esp, 4
mov dword [ebp - 4], 2
cmp dword [eax + 0x14], 0x10
jb 0x4049e2
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x54]
call fcn.00402ed0
mov byte [ebp - 4], 3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea eax, [ebp - 0x54]
push str.CLocalCallMonitor::PreMessageLoop_setsockopt_SO_SNDTIMEO_Failed_WSAErrorCode___d
push eax
call fcn.00421490
add esp, 4
push eax
call fcn.004212a0
mov eax, dword [ebp - 0x40]
add esp, 0xc
cmp eax, 0x10
jb 0x404a25
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.00403540
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x54], 0
cmp eax, 0x10
jb 0x404942
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.00403540
xor eax, eax
jmp 0x404c56
call fcn.00404420
push str.127.0.0.1
mov dword [ebp - 0x70], eax
call dword [sym.imp.WS2_32.dll_inet_addr]
movzx ecx, word [edi + 0x114]
mov esi, dword [sym.imp.WS2_32.dll_htons]
mov dword [ebp - 0x38], eax
mov eax, 2
push ecx
mov word [ebp - 0x3c], ax
call esi
mov ebx, dword [sym.imp.WS2_32.dll_bind]
mov word [ebp - 0x3a], ax
lea eax, [ebp - 0x3c]
push 0x10
push eax
push dword [edi + 0x110]
call ebx
cmp eax, 0xffffffff
jne 0x404ad7
nop dword [eax]
nop word [eax + eax]
inc dword [edi + 0x114]
movzx eax, word [edi + 0x114]
push eax
call esi
mov word [ebp - 0x3a], ax
lea eax, [ebp - 0x3c]
push 0x10
push eax
push dword [edi + 0x110]
call ebx
cmp eax, 0xffffffff
je 0x404ab0
push 0xa
push 0xa
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x1c], 0
push eax
push dword [edi + 0x114]
xorps xmm0, xmm0
mov byte [ebp - 0x13], 0
movq qword [ebp - 0x1b], xmm0
call fcn.0043079e
lea eax, [ebp - 0x1c]
push eax
call fcn.004016a0
lea eax, [ebp - 0x1c]
push eax
call fcn.00401890
add esp, 0x18
call dword [sym.imp.WS2_32.dll_WSACreateEvent]
mov dword [edi + 0x118], eax
test eax, eax
jne 0x404b84
call fcn.004214d0
lea eax, [ebp - 0x54]
push eax
call fcn.00422de0
add esp, 4
mov dword [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x404b3f
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402ed0
mov byte [ebp - 4], 5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.CLocalCallMonitor::PreMessageLoop_WSACreateEvent_Failed_WSAErrorCode___d
lea eax, [ebp - 0x6c]
push eax
call fcn.00421490
add esp, 4
push eax
call fcn.004212a0
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.004035f0
lea ecx, [ebp - 0x54]
call fcn.004035f0
xor eax, eax
jmp 0x404c56
push 1
push eax
push dword [edi + 0x110]
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp eax, 0xffffffff
jne 0x404bd3
call fcn.004214d0
lea eax, [ebp - 0x54]
push eax
call fcn.00422de0
add esp, 4
mov dword [ebp - 4], 6
cmp dword [eax + 0x14], 0x10
jb 0x404bb8
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402ed0
mov byte [ebp - 4], 7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.CLocalCallMonitor::PreMessageLoop_WSAEventSelect_Failed_WSAErrorCode___d
jmp 0x404b58
push dword [edi + 0x118]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x20]
call fcn.004214d0
lea eax, [ebp - 0xa0]
push eax
call fcn.00422de0
add esp, 4
mov dword [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x404c05
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x88]
call fcn.00402ed0
push dword [ebp - 0x70]
mov byte [ebp - 4], 9
lea eax, [ebp - 0x88]
push dword [edi + 0x114]
push str.WSAIoctl_PreMessageLoop_end_bind_port___d__type_d
push eax
call fcn.00421490
add esp, 4
push eax
call fcn.00421680
add esp, 0x10
lea ecx, [ebp - 0x88]
call fcn.004035f0
lea ecx, [ebp - 0xa0]
call fcn.004035f0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042aad6
mov esp, ebp
pop ebp
ret