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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
cmp dword [0x4beefc], 0
jne 0x456852
mov eax, 8
jmp 0x456bfa
cmp dword [ebx + 0x8c], 0
je 0x456865
mov eax, 0x10
jmp 0x456bfa
cmp dword [ebx + 0x78], 0
je 0x456875
mov eax, 0x10
jmp 0x456bfa
cmp dword [ebx + 0xd6], 0
je 0x456888
mov eax, 0x10
jmp 0x456bfa
cmp dword [ebx + 0x102], 0
je 0x4568a1
cmp dword [ebx + 0xc], 7
jne 0x4568a1
mov eax, 0x10
jmp 0x456bfa
cmp dword [ebx + 0x88], 0
je 0x4568ba
cmp dword [ebx + 0xc], 7
jne 0x4568ba
mov eax, 0x10
jmp 0x456bfa
cmp dword [ebx + 0x44], 0
je 0x4568c5
xor edx, edx
mov dword [ebx + 0x48], edx
mov cx, word [ebp + 0x14]
test edi, edi
mov word [ebx + 0xa8], cx
je 0x4568fc
mov esi, edi
mov dword [ebp - 4], ebx
cmp dword [0x4bef08], 0
jne 0x4568ea
push esi
call sub.WSOCK32.dll_inet_addr
jmp 0x4568f4
push esi
mov eax, dword [ebp - 4]
push eax
call fcn.0045a1c4
mov dword [ebx + 0xaa], eax
jmp 0x45691e
mov esi, ebx
cmp dword [0x4bef08], 0
jne 0x456910
push 0
call sub.WSOCK32.dll_htonl
jmp 0x456918
push 0
push esi
call fcn.0045a0fc
mov dword [ebx + 0xaa], eax
xor edx, edx
mov dword [ebx + 0xc6], edx
mov word [ebx + 0x94], 2
mov si, word [ebp + 0x10]
cmp dword [0x4bef08], 0
mov dword [ebp - 8], ebx
jne 0x456947
push esi
call sub.WSOCK32.dll_htons
jmp 0x456951
push esi
mov ecx, dword [ebp - 8]
push ecx
call fcn.0045a15c
mov word [ebx + 0x96], ax
xor eax, eax
mov dword [ebx + 0x90], eax
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xc], ebx
cmp dword [0x4bef08], 0
jne 0x456977
push esi
call sub.WSOCK32.dll_inet_addr
jmp 0x456981
push esi
mov edx, dword [ebp - 0xc]
push edx
call fcn.0045a1c4
mov dword [ebx + 0x98], eax
cmp eax, 0xffffffff
je 0x456996
mov dword [ebx + 0x90], 1
cmp dword [ebx + 0xc], 6
jne 0x456b6e
cmp dword [ebx + 0x90], 0
jne 0x4569b3
mov eax, 0xf
jmp 0x456bfa
push ebx
call fcn.00457ae8
pop ecx
mov esi, ebx
cmp dword [0x4bef08], 0
jne 0x4569d2
push 0
push 2
push 2
call sub.WSOCK32.dll_socket
jmp 0x4569de
push 0
push 2
push 2
push esi
call fcn.0045aa74
mov dword [ebx + 8], eax
cmp dword [ebx + 8], 0xffffffff
jne 0x456a0e
mov esi, ebx
cmp dword [0x4bef08], 0
jne 0x4569f9
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x4569ff
push esi
call fcn.0045adb4
push eax
push ebx
call fcn.00458714
add esp, 8
jmp 0x456bfa
cmp word [ebx + 0xa8], 0
jne 0x456a20
test edi, edi
je 0x456ae5
mov word [ebp - 0x28], 2
mov edx, dword [ebx + 0xaa]
mov edi, ebx
mov dword [ebp - 0x24], edx
mov si, word [ebx + 0xa8]
cmp dword [0x4bef08], 0
jne 0x456a49
push esi
call sub.WSOCK32.dll_htons
jmp 0x456a50
push esi
push edi
call fcn.0045a15c
mov word [ebp - 0x26], ax
mov dword [ebp - 0x10], 1
mov eax, dword [ebx + 8]
mov edx, ebx
cmp dword [0x4bef08], 0
jne 0x456a7e
push 4
lea ecx, [ebp - 0x10]
push ecx
push 4
push 0xffff
push eax
call sub.WSOCK32.dll_setsockopt
jmp 0x456a92
push 4
lea ecx, [ebp - 0x10]
push ecx
push 4
push 0xffff
push eax
push edx
call fcn.0045a67c
mov esi, dword [ebx + 8]
mov edi, ebx
cmp dword [0x4bef08], 0
jne 0x456aae
push 0x10
lea eax, [ebp - 0x28]
push eax
push esi
call sub.WSOCK32.dll_bind
jmp 0x456abb
push 0x10
lea edx, [ebp - 0x28]
push edx
push esi
push edi
call fcn.004599f8
inc eax
jne 0x456ae5
mov esi, ebx
cmp dword [0x4bef08], 0
jne 0x456ad0
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x456ad6
push esi
call fcn.0045adb4
push eax
push ebx
call fcn.00458714
add esp, 8
jmp 0x456bfa
mov dword [ebp - 0x14], 1
mov eax, dword [ebx + 8]
mov edx, ebx
cmp dword [0x4bef08], 0
jne 0x456b0b
lea ecx, [ebp - 0x14]
push ecx
push 0x8004667e
push eax
call sub.WSOCK32.dll_ioctlsocket
jmp 0x456b1b
lea ecx, [ebp - 0x14]
push ecx
push 0x8004667e
push eax
push edx
call fcn.00459bb0
mov esi, dword [ebx + 0x10]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x18], ebx
cmp dword [0x4bef08], 0
jne 0x456b3d
push 3
push 0x400
push esi
push edi
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x456b4f
push 3
push 0x400
push esi
push edi
mov eax, dword [ebp - 0x18]
push eax
call fcn.0045b6a0
test eax, eax
je 0x456b5d
mov eax, 0x14
jmp 0x456bfa
mov dword [ebx + 0x88], 1
xor eax, eax
jmp 0x456bfa
mov dword [ebx + 0x8c], 1
cmp dword [ebx + 0x90], 0
jne 0x456bf3
mov dword [ebx + 0xc6], 1
cmp dword [ebx + 0xae], 0
jne 0x456ba5
push 0x1f4
call fcn.004a4fc0
pop ecx
mov dword [ebx + 0xae], eax
push 0x1f3
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebx + 0xae]
push ecx
call fcn.004989f4
add esp, 0xc
mov esi, dword [ebx + 0xae]
mov byte [esi + 0x1f3], 0
push 0x1f4
push esi
push ebx
call fcn.00457888
add esp, 0xc
mov edi, eax
test eax, eax
je 0x456be3
mov eax, edi
jmp 0x456bfa
mov dword [ebx + 0xca], 1
xor eax, eax
jmp 0x456bfa
push ebx
call fcn.00456c04
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret