Function at 0x180019380
Capabilities:
Create tcp socket

Disassembly:
push rdi
sub rsp, 0xd0
mov rax, qword [0x180059300]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x34], 0
mov qword [rsp + 0x28], 0xffffffffffffffff
lea rax, [rsp + 0x80]
mov rdi, rax
xor eax, eax
mov ecx, 0x40
rep stosb byte [rdi], al
movzx eax, word [0x180068cda]
test eax, eax
je 0x1800193d5
mov eax, 1
jmp 0x18001972f
mov r8d, 6
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0xffffffffffffffff
jne 0x1800193fd
jmp 0x180019710
lea rax, [rsp + 0x68]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
mov eax, 2
mov word [rsp + 0x68], ax
movzx ecx, word [0x18005a3c8]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x30], ax
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
movzx ecx, word [rsp + 0x30]
movzx r9d, cx
mov r8d, eax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x68]
call fcn.18000c750
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
call qword [0x18005abd8]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
je 0x180019476
jmp 0x180019710
mov eax, 1
imul rax, rax, 0
mov byte [rsp + rax + 0x80], 5
mov eax, 1
imul rax, rax, 1
mov byte [rsp + rax + 0x80], 1
mov eax, 1
imul rax, rax, 2
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0x40
jae 0x1800194b0
jmp 0x1800194b6
call fcn.18002415c
nop
mov rax, qword [rsp + 0x40]
mov byte [rsp + rax + 0x80], 0
mov r8d, 3
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x28]
call fcn.18000cf60
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
jne 0x1800194eb
jmp 0x180019710
lea rax, [rsp + 0x80]
mov rdi, rax
xor eax, eax
mov ecx, 2
rep stosb byte [rdi], al
mov r8d, 2
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x28]
call fcn.18000cee0
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
jne 0x180019527
jmp 0x180019710
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rsp + rax + 0x80]
cmp eax, 5
jne 0x180019552
mov eax, 1
imul rax, rax, 1
movzx eax, byte [rsp + rax + 0x80]
test eax, eax
je 0x180019557
jmp 0x180019710
lea rax, [rsp + 0x80]
mov rdi, rax
xor eax, eax
mov ecx, 0xa
rep stosb byte [rdi], al
mov eax, 1
imul rax, rax, 0
mov byte [rsp + rax + 0x80], 5
mov eax, 1
imul rax, rax, 1
mov byte [rsp + rax + 0x80], 3
mov eax, 1
imul rax, rax, 2
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0x40
jae 0x1800195a5
jmp 0x1800195ab
call fcn.18002415c
nop
mov rax, qword [rsp + 0x48]
mov byte [rsp + rax + 0x80], 0
mov eax, 1
imul rax, rax, 3
mov byte [rsp + rax + 0x80], 1
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x84], eax
mov r8d, 0xa
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x28]
call fcn.18000cf60
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
jne 0x180019603
jmp 0x180019710
lea rax, [rsp + 0x80]
mov rdi, rax
xor eax, eax
mov ecx, 0xa
rep stosb byte [rdi], al
mov r8d, 0xa
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x28]
call fcn.18000cee0
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
jne 0x18001963f
jmp 0x180019710
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rsp + rax + 0x80]
cmp eax, 5
jne 0x18001966a
mov eax, 1
imul rax, rax, 1
movzx eax, byte [rsp + rax + 0x80]
test eax, eax
je 0x18001966f
jmp 0x180019710
mov eax, 2
mov word [0x180068cd8], ax
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [0x180068cdc], eax
mov eax, 1
imul rax, rax, 8
movzx eax, word [rsp + rax + 0x80]
mov word [0x180068cda], ax
movzx ecx, word [0x180068cda]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
mov dword [rsp + 0x38], eax
mov edx, dword [0x180068cdc]
lea rcx, [rsp + 0x60]
call fcn.18000cb50
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x38]
mov r8d, eax
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax]
lea rcx, str.udp_tunnel_at__s:_d_n
call fcn.18000d7f0
nop
lea rcx, [rsp + 0x60]
call fcn.180002b70
nop
mov dword [rsp + 0x34], 1
xor eax, eax
test eax, eax
jne 0x1800193d5
cmp dword [rsp + 0x34], 0
jne 0x18001972b
cmp qword [rsp + 0x28], 0xffffffffffffffff
je 0x18001972b
mov rcx, qword [rsp + 0x28]
call qword [0x18005ac08]
nop
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.180024000
add rsp, 0xd0
pop rdi
ret