Function at 0x4085a0
Capabilities:
Create udp socket

Disassembly:
mov eax, 0x1020
call fcn.004160b0
mov eax, dword [esp + 0x1028]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1030]
push edi
push eax
push esi
call fcn.004084c0
add esp, 8
test eax, eax
jne 0x4088a8
mov dword [esp + 0x10], 0x42a7d0
jmp 0x4085df
mov esi, dword [esp + 0x1034]
mov ecx, dword [esp + 0x10]
cmp dword [ecx], 0
je 0x4088a6
mov ebp, dword [esp + 0x103c]
test ebp, ebp
je 0x4085ff
add ebp, 0xb4
jmp 0x408603
lea ebp, [esp + 0x20]
push 0
push 0
push 0
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov edi, eax
cmp edi, 0xffffffff
mov dword [esp + 0x18], edi
je 0x4088a6
mov ebx, dword [sym.imp.WS2_32.dll_htons]
push 0
mov word [ebp], 2
call ebx
push 0
mov word [ebp + 2], ax
call dword [sym.imp.WS2_32.dll_htonl]
push 0x10
push ebp
push edi
mov dword [ebp + 4], eax
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x4088b3
mov edx, dword [esp + 0x10]
push 0x35
mov eax, dword [edx]
mov dword [ebp + 4], eax
call ebx
mov word [ebp + 2], ax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
push ebx
push esi
call fcn.0040eed0
add esp, 8
cmp ebx, 0xff
mov dword [esp + 0x1c], eax
mov word [esp + 0x30], ax
mov byte [esp + 0x32], 1
mov byte [esp + 0x33], 0
mov byte [esp + 0x34], 0
mov byte [esp + 0x35], 1
mov byte [esp + 0x37], 0
mov byte [esp + 0x36], 0
mov byte [esp + 0x39], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x3b], 0
mov byte [esp + 0x3a], 0
jle 0x4086c6
mov ebx, 0xff
mov ecx, ebx
lea edi, [esp + 0x3d]
mov edx, ecx
add ebx, 0xd
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x3c]
and ecx, 3
push 0x2e
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x41]
mov byte [esp + ebx + 0x34], 0
push ecx
mov dword [esp + 0x1c], eax
call fcn.00415b70
add esp, 8
test eax, eax
je 0x40871d
mov ecx, dword [esp + 0x14]
mov dl, al
sub dl, cl
mov dword [esp + 0x14], eax
dec dl
inc eax
push 0x2e
push eax
mov byte [ecx], dl
call fcn.00415b70
add esp, 8
test eax, eax
jne 0x4086fd
mov eax, dword [esp + 0x14]
mov cl, bl
sub cl, al
lea edx, [esp + 0x12f]
add cl, dl
inc ebx
mov byte [eax], cl
mov eax, dword [0x426a5c]
mov byte [esp + ebx + 0x30], 0
inc ebx
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x18]
mov byte [esp + ebx + 0x30], 1
inc ebx
lea eax, [eax + eax*4]
lea ecx, [esp + 0x30]
mov byte [esp + ebx + 0x30], 0
inc ebx
lea eax, [eax + eax*4]
mov byte [esp + ebx + 0x30], 1
inc ebx
shl eax, 3
push eax
push ebx
push ecx
push ebp
push edi
call fcn.0040eaa0
add esp, 0x14
cmp eax, ebx
je 0x408788
push 2
push edi
call dword [sym.imp.WS2_32.dll_shutdown]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x408890
mov eax, dword [esp + 0x103c]
test eax, eax
je 0x408799
add dword [eax + 0xc8], ebx
push 0x3a98
lea edx, [esp + 0x34]
push 0x1000
push edx
push ebp
push edi
call fcn.0040eb60
add esp, 0x14
mov esi, eax
push 2
push edi
call dword [sym.imp.WS2_32.dll_shutdown]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
cmp esi, 0xd
jle 0x408890
mov eax, dword [esp + 0x103c]
test eax, eax
je 0x4087de
add dword [eax + 0xcc], esi
mov ax, word [esp + 0x1c]
cmp word [esp + 0x30], ax
jne 0x408890
movzx cx, byte [esp + 0x36]
movzx dx, byte [esp + 0x37]
shl ecx, 8
add ecx, edx
cmp cx, 1
jb 0x4088a6
movzx ax, byte [esp + 0x34]
movzx dx, byte [esp + 0x35]
shl eax, 8
add eax, edx
cmp ax, 1
jne 0x408890
mov eax, 0xd
cmp esi, eax
jle 0x408836
mov dl, byte [esp + eax + 0x30]
test dl, dl
je 0x408836
inc eax
cmp eax, esi
jl 0x408829
add eax, 5
cmp eax, esi
jge 0x408890
cmp cx, 0xff
jbe 0x408849
mov ecx, 0xff
mov ebp, ecx
xor edi, edi
and ebp, 0xffff
jle 0x408890
lea ecx, [eax + 0x10]
cmp ecx, esi
jg 0x408890
xor ecx, ecx
xor edx, edx
mov cl, byte [esp + eax + 0x3a]
mov dl, byte [esp + eax + 0x3b]
shl ecx, 8
add ecx, edx
lea edx, [ecx + eax + 0xc]
cmp edx, esi
jg 0x408890
mov bl, byte [esp + eax + 0x32]
test bl, bl
jne 0x408889
cmp byte [esp + eax + 0x33], 1
jne 0x408889
cmp ecx, 4
je 0x4088d0
inc edi
mov eax, edx
cmp edi, ebp
jl 0x408855
mov eax, dword [esp + 0x10]
add eax, 4
cmp eax, 0x42a7e4
mov dword [esp + 0x10], eax
jl 0x4085d8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1020
ret
push 2
push edi
call dword [sym.imp.WS2_32.dll_shutdown]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1020
ret
mov edi, dword [esp + eax + 0x3c]
mov eax, dword [esp + eax + 0x36]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
push 0
mov esi, eax
call fcn.004159a3
add esp, 4
cmp esi, 0x3c
jb 0x4088f7
lea ecx, [eax + esi]
cmp ecx, esi
jae 0x4088fe
mov esi, 0x12c
jmp 0x408902
test esi, esi
je 0x408916
mov edx, dword [esp + 0x1034]
add eax, esi
push eax
push edi
push edx
call fcn.004083d0
add esp, 0xc
mov eax, dword [esp + 0x1038]
test eax, eax
je 0x408923
mov dword [eax], esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1020
ret