Function at 0x140095be0
Capabilities:
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x278
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1f0], 0xfffffffffffffffe
mov r14, r8
mov rbx, rdx
mov rsi, rcx
lea rcx, [rbp + 0x128]
call fcn.14001d460
cmp word [rbp + 0x128], 2
jne 0x140095c7f
lea r12, str.invalid_socket_address
mov rdi, r14
jmp 0x140095c49
cmp rdi, r14
ja 0x140095f3f
mov cl, 0x3a
mov rdx, rbx
mov r8, rdi
call fcn.14001f070
cmp rax, 1
jne 0x140095cd3
mov rdi, rdx
cmp rdx, r14
jae 0x140095c40
cmp byte [rbx + rdi], 0x3a
jne 0x140095c40
lea rcx, [rdi + 1]
lea r12, str.invalid_port_value
sub r14, rcx
jne 0x140095cec
jmp 0x140095f3f
movzx eax, byte [0x1402d3900]
mov edx, 0x20
xor ecx, ecx
call fcn.140097090
test rax, rax
je 0x140096263
movdqu xmm0, xmmword [rbp + 0x128]
movdqu xmm1, xmmword [rbp + 0x138]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov rcx, rax
add rcx, 0x20
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 1
mov qword [rsi + 0x18], rcx
jmp 0x140095f4a
test rax, rax
je 0x140095f3f
lea r12, str.invalid_port_value
sub r14, rcx
je 0x140095f3f
add rcx, rbx
cmp r14, 1
jne 0x140095d12
movzx eax, byte [rcx]
cmp eax, 0x2b
je 0x140095f3f
mov r14d, 1
cmp eax, 0x2d
je 0x140095f3f
jmp 0x140095d74
cmp byte [rcx], 0x2b
jne 0x140095d6e
inc rcx
lea rax, [r14 - 1]
cmp r14, 6
mov r14, rax
jb 0x140095d74
xor r8d, r8d
mov r9w, 0xa
xor eax, eax
nop word cs:[rax + rax]
mul r9w
jo 0x140095f3f
movzx edx, byte [rcx + r8]
add edx, 0xffffffd0
cmp edx, 9
ja 0x140095f3f
add ax, dx
jb 0x140095f3f
inc r8
cmp r14, r8
jne 0x140095d40
jmp 0x140095da3
cmp r14, 5
jae 0x140095d27
xor edx, edx
xor eax, eax
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add r8d, 0xffffffd0
cmp r8d, 9
ja 0x140095f3f
add eax, eax
lea eax, [rax + rax*4]
add eax, r8d
inc rdx
cmp r14, rdx
jne 0x140095d80
mov word [rbp + 0x1ec], ax
mov rax, qword [0x1402d3858]
cmp rax, 3
jne 0x14009621e
lea r15, [rbp + 0x1ec]
mov qword [rbp + 0x150], r15
cmp rdi, 0x17f
ja 0x14009623e
lea r14, [rbp - 0x58]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140067c10
mov byte [rbp + rdi - 0x58], 0
lea rax, [rdi + 1]
cmp rdi, 0xe
ja 0x140095e18
xor edx, edx
nop dword [rax]
cmp byte [rbp + rdx - 0x58], 0
je 0x140095eac
inc rdx
cmp rax, rdx
jne 0x140095e00
jmp 0x140095f20
lea rcx, [rbp - 0x51]
and rcx, 0xfffffffffffffff8
sub rcx, r14
je 0x140095e41
xor edx, edx
cmp byte [rbp + rdx - 0x58], 0
je 0x140095eac
inc rdx
cmp rcx, rdx
jne 0x140095e27
lea rdx, [rdi - 0xf]
cmp rcx, rdx
jbe 0x140095e45
jmp 0x140095e85
lea rdx, [rdi - 0xf]
movdqa xmm0, xmmword [0x140266780]
movabs r8, 0x8080808080808080
movdqu xmm1, xmmword [rbp + rcx - 0x58]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r9, xmm2
test r9, r8
jne 0x140095e85
add rcx, 0x10
cmp rcx, rdx
jbe 0x140095e57
sub rax, rcx
je 0x140095f20
lea r8, [rcx + rbp]
add r8, 0xffffffffffffffa8
xor edx, edx
cmp byte [r8 + rdx], 0
je 0x140095ea9
inc rdx
cmp rax, rdx
jne 0x140095e98
jmp 0x140095f20
add rdx, rcx
cmp rdx, rdi
jne 0x140095f20
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x170], xmm0
movdqa xmmword [rbp + 0x190], xmm0
movdqa xmmword [rbp + 0x180], xmm0
mov dword [rbp + 0x178], 1
mov qword [rbp + 0x1a8], 0
lea rcx, [rbp - 0x58]
lea r8, [rbp + 0x170]
lea r9, [rbp + 0x1a8]
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x1400961f4
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov ecx, 1
mov qword [rbp + 0x1d0], rax
jmp 0x140095f33
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rbp + 0x1d0], rax
mov ecx, 1
mov rax, qword [rbp + 0x1a8]
movzx ecx, word [rbp + 0x1ec]
mov qword [rbp + 0x1d8], rax
mov dword [rbp + 0x1d8], eax
call fcn.1402638d0
lea r15, [rbp + 0x1ec]
mov qword [rbp + 0x150], r15
cmp rdi, 0x17f
jbe 0x140095dd6
lea rcx, [rbp + 0x1c8]
lea r9, [rbp + 0x150]
mov rdx, rbx
mov r8, rdi
call fcn.140263940
mov rcx, qword [rbp + 0x1c8]
jmp 0x140095f33
mov ecx, 4
mov edx, 0x20
call fcn.14025ede0