Function at 0x180035c20
Capabilities:
Create udp socket

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x21c0]
mov eax, 0x22c0
call fcn.18004b9a0
sub rsp, rax
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x2310], rbx
mov rax, qword [0x180074808]
xor rax, rsp
mov qword [rbp + 0x21b0], rax
mov r12, rdx
mov r14, rcx
test rdx, rdx
je 0x18003663c
cmp qword [0x1800a42c8], 0
je 0x18003663c
mov ecx, dword [rdx + 4]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
movzx ecx, word [r12 + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
xor r15d, r15d
mov r13d, r15d
mov rcx, r14
call fcn.18002f8b0
mov rsi, rax
test rax, rax
je 0x180035e7b
mov eax, dword [r12]
mov dword [rsi + 0x28], eax
mov eax, dword [r12 + 4]
mov dword [rsi + 0x2c], eax
mov eax, dword [r12 + 8]
mov dword [rsi + 0x30], eax
mov eax, dword [r12 + 0xc]
mov dword [rsi + 0x34], eax
movzx eax, byte [r12 + 4]
cmp eax, dword [reloc.WS2_32.dll_ioctlsocket]
jne 0x180035ed5
mov byte [rbp + 0x150], r13b
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rbp + 0x151]
call fcn.18004a690
mov edi, dword [r12 + 4]
lea rdx, [rbp + 0x150]
mov ecx, edi
call fcn.180006310
test eax, eax
jne 0x180035d28
lea rdx, [rbp + 0x150]
mov ecx, edi
call fcn.1800337a0
test eax, eax
je 0x180035ed5
mov ecx, dword [r12 + 4]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov qword [rbp + 0x48], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x40], r15
mov byte [rbp + 0x30], r13b
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x150]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x30]
call fcn.180002b40
nop
lea rcx, [rsi + 0x38]
lea rdx, [rbp + 0x30]
call fcn.180002730
nop
cmp qword [rbp + 0x48], 0x10
jb 0x180035d88
mov rcx, qword [rbp + 0x30]
call fcn.180042a64
mov qword [rbp + 0x48], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x40], r15
mov byte [rbp + 0x30], 0
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x50], 0xffffffff
lea rax, [rbp - 0x50]
mov qword [rsp + 0x48], rax
lea rcx, [0x1800a4190]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.180001ef0
mov rbx, rax
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x70], r15
mov byte [rsp + 0x60], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x150]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x60]
call fcn.180002b40
movzx ecx, word [r12 + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r9d, ax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rsp + 0x60]
lea rcx, [0x1800a4998]
call fcn.18001a0d0
movzx edx, byte [rsp + 0x40]
cmp dl, 1
jne 0x180035e69
lock dec dword [rsi + 0x24]
mov eax, dword [rsi + 0x24]
jns 0x180035e53
mov dword [rsi + 0x24], r15d
mov r8d, reloc.WS2_32.dll_recv
mov rdx, r12
mov rcx, r14
call fcn.18003d4c0
jmp 0x18003664a
cmp dl, 2
jne 0x180035e85
lock dec dword [rsi + 0x24]
mov eax, dword [rsi + 0x24]
jns 0x180035e7b
mov dword [rsi + 0x24], r15d
mov ecx, 0x274d
jmp 0x180036641
test dl, dl
jne 0x180035ea0
mov ecx, dword [rsp + 0x50]
cmp ecx, 0xffffffff
cmove ecx, r15d
mov dword [rsp + 0x50], ecx
call fcn.18000cbf0
mov r13, rax
movzx ecx, word [r12 + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r9d, ax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov byte [rsp + 0x20], 1
lea r8, [rbp + 0x150]
xor edx, edx
mov rcx, r14
call fcn.180039410
jmp 0x180036068
mov eax, dword [r12]
mov dword [rsi + 0x60], eax
mov eax, dword [r12 + 4]
mov dword [rsi + 0x64], eax
mov eax, dword [r12 + 8]
mov dword [rsi + 0x68], eax
mov eax, dword [r12 + 0xc]
mov dword [rsi + 0x6c], eax
mov byte [rsp + 0x41], r13b
mov dword [rsp + 0x48], 0xffffffff
mov byte [rbp + 0x350], r13b
xor edx, edx
mov r8d, 0x1f3
lea rcx, [rbp + 0x351]
call fcn.18004a690
cmp qword [0x1800a42c8], r13
je 0x180035f3f
cmp qword [0x1800a4318], r13
je 0x180035f3f
lea rdx, [rbp + 0x350]
mov ecx, dword [r12 + 4]
call fcn.180006c80
cmp byte [rbp + 0x350], r13b
jne 0x180035f6d
mov ecx, dword [r12 + 4]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
lea rdx, [rbp + 0x350]
sub rdx, rax
nop dword [rax]
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
inc rax
test cl, cl
jne 0x180035f60
lea rax, [rbp - 0x28]
mov qword [rsp + 0x50], rax
lea rcx, [0x1800a4190]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.180001ef0
mov rbx, rax
mov qword [rbp - 0x60], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x68], r15
mov byte [rbp - 0x78], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x350]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x350]
lea rcx, [rbp - 0x78]
call fcn.180002b40
movzx ecx, word [r12 + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx edi, ax
mov ecx, dword [r12 + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
mov r9d, eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], di
mov r8, rbx
lea rdx, [rbp - 0x78]
lea rcx, [0x1800a4998]
call fcn.18001a370
movzx edx, byte [rsp + 0x41]
cmp dl, 1
je 0x180035e46
cmp dl, 2
je 0x180035e6e
test dl, dl
jne 0x180036043
mov ecx, dword [rsp + 0x48]
cmp ecx, 0xffffffff
cmove ecx, r15d
mov dword [rsp + 0x48], ecx
call fcn.18000cbf0
mov r13, rax
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
mov r9b, 1
mov r8, r12
xor edx, edx
mov rcx, r14
call fcn.180039340
mov ecx, dword [r12 + 4]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
test r13, r13
je 0x180035e7b
lea rdi, [r13 + 5]
lea r9, [r13 + 0x14c]
lea r8, [r13 + 0x10c]
mov eax, dword [0x1800a4188]
mov dword [rsp + 0x28], eax
movzx eax, word [0x1800a1e3e]
mov word [rsp + 0x20], ax
movzx edx, word [r13 + 0x10a]
mov rcx, rdi
call fcn.180033970
call fcn.18001dcd0
mov ebx, 1
test eax, eax
jle 0x1800360c4
movzx eax, byte [rsi + 0x7c]
cmp byte [rsi + 0x7c], bl
cmovbe eax, ebx
mov byte [rsi + 0x7c], al
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x180036120
cmp dword [rsi + 0x1c], 0
je 0x180036120
mov rax, qword [0x1800a42d8]
test rax, rax
je 0x180036120
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call rax
cmp eax, 0xffffffff
jne 0x180036120
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lock dec dword [rsi + 0x24]
mov ecx, dword [rsi + 0x24]
jns 0x180036102
mov dword [rsi + 0x24], r15d
mov ecx, 0x274d
test eax, eax
je 0x18003610d
mov ecx, eax
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, r13
call fcn.180042a64
jmp 0x180036647
cmp qword [rsi + 8], 0
je 0x180036148
cmp dword [rsi + 0x20], 0
je 0x180036148
mov rax, qword [0x1800a42e0]
test rax, rax
je 0x180036148
xor r8d, r8d
xor edx, edx
mov rcx, r14
call rax
cmp eax, 0xffffffff
je 0x1800360ef
cmp dword [rsi + 0x80], 0
je 0x1800361fc
xor edx, edx
lea r8d, [rdx + 0x7e]
lea rcx, [rbp + 0x62]
call fcn.18004a690
mov r15d, 2
mov word [rbp + 0x60], r15w
movzx ecx, word [r13 + 0x10a]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x62], ax
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rbp + 0x64], eax
xor eax, eax
mov qword [rbp + 0x68], rax
movzx edi, word [rbp + 0x60]
cmp r15w, di
jne 0x1800361aa
lea rcx, [rbp + 0x60]
call fcn.180033480
movzx edi, word [rbp + 0x60]
mov byte [rbp + 0xe0], 0
xor edx, edx
lea r8d, [rdx + 0x63]
lea rcx, [rbp + 0xe1]
call fcn.18004a690
mov r11, qword [0x1800a4340]
test r11, r11
je 0x1800361e6
movzx ecx, di
mov r9d, 0x64
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x68]
call r11
movzx ecx, word [rbp + 0x62]
call qword [sym.imp.WS2_32.dll_ntohs]
mov r8d, 0x80
lea rdx, [rbp + 0x60]
jmp 0x18003622d
mov r15d, 2
mov word [rbp + 0x10], r15w
movzx ecx, word [r13 + 0x10a]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x12], ax
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rbp + 0x14], eax
lea r8d, [r15 + 0xe]
lea rdx, [rbp + 0x10]
mov rcx, r14
call qword [0x1800a42c8]
mov edi, eax
mov dword [rsi + 0x78], ebx
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r14d, eax
cmp edi, 0xffffffff
je 0x18003641d
mov rcx, r13
call fcn.180042a64
mov byte [rbp + 0x7b0], 0
xor edx, edx
mov r8d, 0x257
lea rcx, [rbp + 0x7b1]
call fcn.18004a690
cmp qword [rsi + 0x48], 0
je 0x180036287
lea r9, [rsi + 0x38]
cmp qword [r9 + 0x18], 0x10
jb 0x180036293
mov r9, qword [r9]
jmp 0x180036293
mov ecx, dword [rsi + 0x64]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r9, rax
lea r8, [0x18006669c]
mov edx, 0x258
lea rcx, [rbp + 0x7b0]
call fcn.180043d9c
lea rcx, [0x1800a4190]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov rbx, rax
movzx ecx, word [rsi + 0x2a]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx edi, ax
mov byte [rbp + 0xa10], 0
xor edx, edx
mov r8d, 0x3ff
lea rcx, [rbp + 0xa11]
call fcn.18004a690
mov dword [rsp + 0x30], edi
lea rax, [rbp + 0x7b0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, str.__s__Connected_to__s:_d
mov edx, 0x400
lea r8d, [rdx - 1]
lea rcx, [rbp + 0xa10]
call fcn.180043dc0
cmp byte [rbp + 0xa10], 0
je 0x180036410
cmp qword [0x1800a42c8], 0
je 0x180036410
cmp qword [0x1800a4318], 0
je 0x180036410
xor edx, edx
mov r8d, 0x7cf
lea rcx, [rbp + 0x1211]
call fcn.18004a690
mov byte [rbp + 0x1210], send
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0xa10]
repne scasb al, byte [rdi]
not rcx
dec rcx
movzx ebx, cx
inc ebx
mov dword [rbp + 0x1211], ebx
mov byte [rbp + 0x1215], 2
mov r8d, ebx
lea rdx, [rbp + 0xa10]
lea rcx, [rbp + 0x1216]
call fcn.180042380
mov edx, 1
lea r8d, [rdx + 5]
mov ecx, r15d
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180036410
mov word [rbp + 0x20], r15w
lea rcx, [0x180067e70]
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rbp + 0x24], eax
movzx ecx, word [0x1800a1e3e]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x22], ax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x20]
mov rcx, rdi
call qword [0x1800a42c8]
mov rcx, rdi
cmp eax, 0xffffffff
je 0x18003640a
lea r8d, [rbx + 6]
mov r9d, 3
lea rdx, [rbp + 0x1210]
call fcn.180033110
mov rcx, rdi
call qword [0x1800a4318]
mov rcx, rsi
call fcn.180035720
jmp 0x18003664a
cmp eax, 0x2733
je 0x18003662a
mov byte [rbp + 0x550], 0
xor edx, edx
mov r8d, 0x257
lea rcx, [rbp + 0x551]
call fcn.18004a690
cmp qword [rsi + 0x48], 0
je 0x18003645a
lea r9, [rsi + 0x38]
cmp qword [r9 + 0x18], 0x10
jb 0x180036466
mov r9, qword [r9]
jmp 0x180036466
mov ecx, dword [rsi + 0x64]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r9, rax
lea r8, [0x18006669c]
mov edx, 0x258
lea rcx, [rbp + 0x550]
call fcn.180043d9c
lea rcx, [0x1800a4190]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
movzx ecx, word [r12 + 2]
cmp r14d, 0x2748
jne 0x1800365f8
mov rbx, rax
call qword [sym.imp.WS2_32.dll_ntohs]
movzx edi, ax
mov byte [rbp + 0xe10], 0
xor edx, edx
mov r8d, 0x3ff
lea rcx, [rbp + 0xe11]
call fcn.18004a690
mov dword [rsp + 0x30], edi
lea rax, [rbp + 0x550]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, str.__s__Connected_to__s:_d
mov edx, 0x400
lea r8d, [rdx - 1]
lea rcx, [rbp + 0xe10]
call fcn.180043dc0
cmp byte [rbp + 0xe10], 0
je 0x18003661a
cmp qword [0x1800a42c8], 0
je 0x18003661a
cmp qword [0x1800a4318], 0
je 0x18003661a
xor edx, edx
mov r8d, 0x7cf
lea rcx, [rbp + 0x19e1]
call fcn.18004a690
mov byte [rbp + 0x19e0], send
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0xe10]
repne scasb al, byte [rdi]
not rcx
dec rcx
movzx ebx, cx
inc ebx
mov dword [rbp + 0x19e1], ebx
mov byte [rbp + 0x19e5], 2
mov r8d, ebx
lea rdx, [rbp + 0xe10]
lea rcx, [rbp + 0x19e6]
call fcn.180042380
mov edx, 1
lea r8d, [rdx + 5]
mov ecx, r15d
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x18003661a
mov word [rbp], r15w
lea rcx, [0x180067e70]
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rbp + 4], eax
movzx ecx, word [0x1800a1e3e]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 2], ax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp]
mov rcx, rdi
call qword [0x1800a42c8]
mov rcx, rdi
cmp eax, 0xffffffff
je 0x1800365f0
lea r8d, [rbx + 6]
mov r9d, 3
lea rdx, [rbp + 0x19e0]
call fcn.180033110
mov rcx, rdi
call qword [0x1800a4318]
jmp 0x18003661a
mov rdi, rax
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rsp + 0x20], ax
lea r9, [rbp + 0x550]
mov r8, rdi
mov edx, ebx
mov ecx, r15d
call fcn.180033ee0
mov rcx, rsi
call fcn.180033260
mov ecx, r14d
jmp 0x18003610d
mov rcx, rsi
call fcn.18001e7d0
mov ecx, 0x2733
jmp 0x18003610d
mov ecx, 0x2726
call qword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
mov rcx, qword [rbp + 0x21b0]
xor rcx, rsp
call fcn.180041e80
mov rbx, qword [rsp + 0x2310]
add rsp, 0x22c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret