Function at 0x18000b514
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.180057cb0
sub rsp, rax
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x1588], rbx
mov rax, qword [0x180080060]
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.180044a90
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 0x18000b625
xor al, al
jmp 0x18000bd4f
call fcn.1800430fc
cdq
mov r13d, 0xff
and edx, r13d
add eax, edx
and eax, r13d
sub eax, edx
mov byte [rsp + 0x30], al
call fcn.1800430fc
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 0x18000b665
mov rdx, qword [rbx + 8]
jmp 0x18000b669
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 0x18000b6ae
mov al, byte [rsp + rcx + 0x120]
cmp al, 0x2e
je 0x18000b69d
cmp al, r14b
je 0x18000b69d
inc r11d
jmp 0x18000b6a8
mov byte [rsp + rcx + 0x120], r11b
mov r11d, r14d
sub rcx, 1
jns 0x18000b688
mov eax, 2
mov word [rsp + 0xe8], ax
mov rbx, qword [0x18008b1b0]
sub rbx, qword [0x18008b1a8]
sar rbx, 2
call fcn.1800430fc
cdq
idiv ebx
movsxd rbx, edx
mov rax, qword [0x18008b1b0]
mov rcx, qword [0x18008b1a8]
sub rax, rcx
sar rax, 2
cmp rbx, rax
jb 0x18000b6fe
call fcn.1800429bc
mov rcx, qword [0x18008b1a8]
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.180002e60
nop
or rbx, 0xffffffffffffffff
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.180003ce4
nop
cmp qword [rsp + 0x58], r13
jb 0x18000b78a
mov rcx, qword [rsp + 0x40]
call fcn.180042a14
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.180002e60
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.180003ce4
nop
cmp qword [rsp + 0x58], r13
jb 0x18000b7dc
mov rcx, qword [rsp + 0x40]
call fcn.180042a14
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.180002e60
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.180003ce4
nop
cmp qword [rsp + 0x58], r13
jb 0x18000b82b
mov rcx, qword [rsp + 0x40]
call fcn.180042a14
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.180002e60
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.180003ce4
nop
cmp qword [rsp + 0x58], r13
jb 0x18000b87d
mov rcx, qword [rsp + 0x40]
call fcn.180042a14
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.180044a90
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 0x18000b93d
cmp qword [rsp + 0xe0], r13
jb 0x18000b936
mov rcx, qword [rsp + 0xc8]
call fcn.180042a14
xor al, al
jmp 0x18000bd4f
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.180003f9c
cmp rax, r14
jne 0x18000b990
cmp qword [rsp + 0xe0], r13
jb 0x18000b989
mov rcx, qword [rsp + 0xc8]
call fcn.180042a14
xor al, al
jmp 0x18000bd4f
lea rbx, [rax + 0xc]
movzx ecx, word [rax + 0xa]
call qword [sym.imp.WS2_32.dll_htons]
movzx r11d, ax
cmp r11d, r14d
jle 0x18000bd36
mov r8, r11
lea rcx, [rsp + rdi + 0x520]
lea rax, [r11 + rbx]
cmp rax, rcx
ja 0x18000bd36
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
mov rdx, rbx
lea rcx, [rsp + 0x98]
call fcn.180002e60
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 0x18000ba5d
cmp qword [rsp + 0xb8], r13
jb 0x18000ba27
call fcn.180042a14
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
cmp qword [rsp + 0xe0], r13
jb 0x18000ba56
mov rcx, qword [rsp + 0xc8]
call fcn.180042a14
xor al, al
jmp 0x18000bd4f
mov r9, rdx
mov r8d, 1
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x98]
call fcn.180002748
nop
mov r9, qword [rsp + 0x88]
cmp r9, 5
jb 0x18000bcbd
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 0x18000bcca
mov eax, 2
cmp r9, rax
jae 0x18000bad1
call fcn.1800429bc
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 0x18000bcca
cmp r9, 3
jae 0x18000bb07
call fcn.1800429bc
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 0x18000bcca
lea rbx, [r9 - 1]
cmp rbx, r9
jbe 0x18000bb40
call fcn.1800429bc
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 0x18000bcca
cmp r9, 1
jae 0x18000bb76
call fcn.1800429bc
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 0x18000bc4e
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.180002748
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.180002954
nop
cmp qword [rsp + 0x58], r13
jb 0x18000bbd8
mov rcx, qword [rsp + 0x40]
call fcn.180042a14
nop
cmp qword [rsp + 0x90], r13
jb 0x18000bbec
mov rcx, qword [rsp + 0x78]
call fcn.180042a14
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x88], r14
mov byte [rsp + 0x78], r14b
cmp qword [rsp + 0xb8], r13
jb 0x18000bc18
mov rcx, qword [rsp + 0xa0]
call fcn.180042a14
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
cmp qword [rsp + 0xe0], r13
jb 0x18000bc47
mov rcx, qword [rsp + 0xc8]
call fcn.180042a14
mov al, 1
jmp 0x18000bd4f
cmp rcx, r13
jb 0x18000bc5b
mov rcx, rdx
call fcn.180042a14
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x88], r14
mov byte [rsp + 0x78], r14b
cmp qword [rsp + 0xb8], r13
jb 0x18000bc87
mov rcx, qword [rsp + 0xa0]
call fcn.180042a14
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
cmp qword [rsp + 0xe0], r13
jb 0x18000bcb6
mov rcx, qword [rsp + 0xc8]
call fcn.180042a14
xor al, al
jmp 0x18000bd4f
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x78]
cmp rcx, r13
jb 0x18000bcd7
mov rcx, rdx
call fcn.180042a14
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x88], r14
mov byte [rsp + 0x78], r14b
cmp qword [rsp + 0xb8], r13
jb 0x18000bd03
mov rcx, qword [rsp + 0xa0]
call fcn.180042a14
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
cmp qword [rsp + 0xe0], r13
jb 0x18000bd32
mov rcx, qword [rsp + 0xc8]
call fcn.180042a14
xor al, al
jmp 0x18000bd4f
cmp qword [rsp + 0xe0], r13
jb 0x18000bd4d
mov rcx, qword [rsp + 0xc8]
call fcn.180042a14
xor al, al
mov rcx, qword [rsp + 0x1520]
xor rcx, rsp
call fcn.1800423f0
mov rbx, qword [rsp + 0x1588]
add rsp, 0x1530
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret