Function at 0x18000cb8c
Capabilities:
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1530
call fcn.18005d3b0
sub rsp, rax
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x1588], rbx
mov rax, qword [0x18008a090]
xor rax, rsp
mov qword [rsp + 0x1520], rax
mov r12, r8
mov rbp, rdx
mov rbx, rcx
xor r14d, r14d
mov byte [rsp + 0x30], r14b
mov byte [rsp + 0x31], r14b
mov byte [rsp + 0x110], 1
mov byte [rsp + 0x111], r14b
mov byte [rsp + 0x112], r14b
mov byte [rsp + 0x113], 1
mov byte [rsp + 0x114], r14b
mov byte [rsp + 0x115], r14b
mov byte [rsp + 0x116], r14b
mov byte [rsp + 0x117], r14b
mov byte [rsp + 0x118], r14b
mov byte [rsp + 0x119], r14b
mov byte [rsp + 0x108], r14b
mov byte [rsp + 0x109], r14b
mov byte [rsp + 0x10a], 1
mov byte [rsp + 0x10b], r14b
mov byte [rsp + 0x10c], 1
mov byte [rsp + 0x120], r14b
mov r15d, 0x3ff
mov r8, r15
xor edx, edx
lea rcx, [rsp + 0x121]
call fcn.18004a190
mov rdi, qword [rbx + 0x18]
inc edi
lea eax, [r14 + 2]
lea r8d, [r14 + 0x11]
mov edx, eax
mov ecx, eax
call qword [sym.imp.WS2_32.dll_socket]
mov rsi, rax
cmp rax, r14
ja 0x18000cc9d
xor al, al
jmp 0x18000d3c7
call fcn.1800487fc
cdq
mov r13d, 0xff
and edx, r13d
add eax, edx
and eax, r13d
sub eax, edx
mov byte [rsp + 0x30], al
call fcn.1800487fc
cdq
and edx, r13d
add eax, edx
and eax, r13d
sub eax, edx
mov byte [rsp + 0x31], al
mov r13d, sendto
cmp qword [rbx + 0x20], r13
jb 0x18000ccdd
mov rdx, qword [rbx + 8]
jmp 0x18000cce1
lea rdx, [rbx + 8]
mov r8d, r15d
lea rcx, [rsp + 0x121]
call qword [sym.imp.KERNEL32.dll_lstrcpynA]
mov r11d, r14d
lea eax, [rdi - 1]
movsxd rcx, eax
cmp eax, r14d
jl 0x18000cd26
mov al, byte [rsp + rcx + 0x120]
cmp al, 0x2e
je 0x18000cd15
cmp al, r14b
je 0x18000cd15
inc r11d
jmp 0x18000cd20
mov byte [rsp + rcx + 0x120], r11b
mov r11d, r14d
sub rcx, 1
jns 0x18000cd00
mov eax, 2
mov word [rsp + 0xe8], ax
mov rbx, qword [0x180095d38]
sub rbx, qword [0x180095d30]
sar rbx, 2
call fcn.1800487fc
cdq
idiv ebx
movsxd rbx, edx
mov rax, qword [0x180095d38]
mov rcx, qword [0x180095d30]
sub rax, rcx
sar rax, 2
cmp rbx, rax
jb 0x18000cd76
call fcn.1800480bc
mov rcx, qword [0x180095d30]
mov eax, dword [rcx + rbx*4]
mov dword [rsp + 0xec], eax
mov ecx, 0x35
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0xea], ax
mov r15d, sendto
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xd8], r14
mov byte [rsp + 0xc8], r14b
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r14
mov byte [rsp + 0x40], r14b
lea r8d, [r15 - 0xd]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.180002ed4
nop
or rbx, 0xffffffffffffffff
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.180003d58
nop
cmp qword [rsp + 0x58], r13
jb 0x18000ce02
mov rcx, qword [rsp + 0x40]
call fcn.180048114
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r14
mov byte [rsp + 0x40], r14b
mov r8d, 0xa
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x38]
call fcn.180002ed4
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.180003d58
nop
cmp qword [rsp + 0x58], r13
jb 0x18000ce54
mov rcx, qword [rsp + 0x40]
call fcn.180048114
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r14
mov byte [rsp + 0x40], r14b
movsxd r8, edi
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x38]
call fcn.180002ed4
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.180003d58
nop
cmp qword [rsp + 0x58], r13
jb 0x18000cea3
mov rcx, qword [rsp + 0x40]
call fcn.180048114
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r14
mov byte [rsp + 0x40], r14b
mov r8d, 5
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x38]
call fcn.180002ed4
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.180003d58
nop
cmp qword [rsp + 0x58], r13
jb 0x18000cef5
mov rcx, qword [rsp + 0x40]
call fcn.180048114
lea rdx, [rsp + 0xc8]
cmp qword [rsp + 0xe0], r13
cmovae rdx, qword [rsp + 0xc8]
mov dword [rsp + 0x28], r13d
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [rsp + 0xd8]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_sendto]
mov byte [rsp + 0x520], r14b
xor edx, edx
mov r8d, 0xfff
lea rcx, [rsp + 0x521]
call fcn.18004a190
mov dword [rsp + 0x60], r13d
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rsp + 0x520]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recvfrom]
movsxd rdi, eax
mov rcx, rsi
call sub.WS2_32.dll_closesocket
cmp edi, r14d
jg 0x18000cfb5
cmp qword [rsp + 0xe0], r13
jb 0x18000cfae
mov rcx, qword [rsp + 0xc8]
call fcn.180048114
xor al, al
jmp 0x18000d3c7
mov byte [rsp + 0x34], 0xc0
mov byte [rsp + 0x35], reloc.WS2_32.dll_inet_ntoa
mov byte [rsp + 0x36], r14b
mov byte [rsp + 0x37], 5
mov r9d, edi
lea r8, [rsp + 0x520]
mov esi, 4
mov edx, esi
lea rcx, [rsp + 0x34]
call fcn.180004010
cmp rax, r14
jne 0x18000d008
cmp qword [rsp + 0xe0], r13
jb 0x18000d001
mov rcx, qword [rsp + 0xc8]
call fcn.180048114
xor al, al
jmp 0x18000d3c7
lea rbx, [rax + 0xc]
movzx ecx, word [rax + 0xa]
call qword [sym.imp.WS2_32.dll_htons]
movzx r11d, ax
cmp r11d, r14d
jle 0x18000d3ae
mov r8, r11
lea rcx, [rsp + rdi + 0x520]
lea rax, [r11 + rbx]
cmp rax, rcx
ja 0x18000d3ae
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
mov rdx, rbx
lea rcx, [rsp + 0x98]
call fcn.180002ed4
nop
lea rax, [rsp + 0xa0]
mov rcx, qword [rsp + 0xa0]
cmp qword [rsp + 0xb8], r13
cmovae rax, rcx
movzx edx, byte [rax]
mov eax, dword [rsp + 0xb0]
dec eax
cmp edx, eax
jl 0x18000d0d5
cmp qword [rsp + 0xb8], r13
jb 0x18000d09f
call fcn.180048114
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
cmp qword [rsp + 0xe0], r13
jb 0x18000d0ce
mov rcx, qword [rsp + 0xc8]
call fcn.180048114
xor al, al
jmp 0x18000d3c7
mov r9, rdx
mov r8d, 1
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x98]
call fcn.1800027bc
nop
mov r9, qword [rsp + 0x88]
cmp r9, 5
jb 0x18000d335
lea rax, [rsp + 0x78]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
cmp rcx, r13
cmovae rax, rdx
cmp byte [rax], 0x76
jne 0x18000d342
mov eax, 2
cmp r9, rax
jae 0x18000d149
call fcn.1800480bc
mov rcx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
lea rax, [rsp + 0x78]
cmp rcx, r13
cmovae rax, rdx
cmp byte [rax + 2], 0x76
jne 0x18000d342
cmp r9, 3
jae 0x18000d17f
call fcn.1800480bc
mov rcx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
lea rax, [rsp + 0x78]
cmp rcx, r13
cmovae rax, rdx
cmp byte [rax + 3], 0x64
jne 0x18000d342
lea rbx, [r9 - 1]
cmp rbx, r9
jbe 0x18000d1b8
call fcn.1800480bc
mov rcx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
lea rax, [rsp + 0x78]
cmp rcx, r13
cmovae rax, rdx
cmp byte [rbx + rax], 0x64
jne 0x18000d342
cmp r9, 1
jae 0x18000d1ee
call fcn.1800480bc
mov rcx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
lea rax, [rsp + 0x78]
cmp rcx, r13
cmovae rax, rdx
mov r10b, byte [rax + 1]
lea eax, [r10 - 0x30]
cmp al, 9
ja 0x18000d2c6
movsx eax, r10b
sub eax, 0x30
mov dword [rbp], eax
add r9, 0xfffffffffffffffb
mov r8, rsi
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x70]
call fcn.1800027bc
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.1800029c8
nop
cmp qword [rsp + 0x58], r13
jb 0x18000d250
mov rcx, qword [rsp + 0x40]
call fcn.180048114
nop
cmp qword [rsp + 0x90], r13
jb 0x18000d264
mov rcx, qword [rsp + 0x78]
call fcn.180048114
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x88], r14
mov byte [rsp + 0x78], r14b
cmp qword [rsp + 0xb8], r13
jb 0x18000d290
mov rcx, qword [rsp + 0xa0]
call fcn.180048114
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
cmp qword [rsp + 0xe0], r13
jb 0x18000d2bf
mov rcx, qword [rsp + 0xc8]
call fcn.180048114
mov al, 1
jmp 0x18000d3c7
cmp rcx, r13
jb 0x18000d2d3
mov rcx, rdx
call fcn.180048114
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x88], r14
mov byte [rsp + 0x78], r14b
cmp qword [rsp + 0xb8], r13
jb 0x18000d2ff
mov rcx, qword [rsp + 0xa0]
call fcn.180048114
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
cmp qword [rsp + 0xe0], r13
jb 0x18000d32e
mov rcx, qword [rsp + 0xc8]
call fcn.180048114
xor al, al
jmp 0x18000d3c7
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x78]
cmp rcx, r13
jb 0x18000d34f
mov rcx, rdx
call fcn.180048114
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x88], r14
mov byte [rsp + 0x78], r14b
cmp qword [rsp + 0xb8], r13
jb 0x18000d37b
mov rcx, qword [rsp + 0xa0]
call fcn.180048114
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
cmp qword [rsp + 0xe0], r13
jb 0x18000d3aa
mov rcx, qword [rsp + 0xc8]
call fcn.180048114
xor al, al
jmp 0x18000d3c7
cmp qword [rsp + 0xe0], r13
jb 0x18000d3c5
mov rcx, qword [rsp + 0xc8]
call fcn.180048114
xor al, al
mov rcx, qword [rsp + 0x1520]
xor rcx, rsp
call fcn.180047b20
mov rbx, qword [rsp + 0x1588]
add rsp, 0x1530
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret