Function at 0x14000ec98
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rax, qword [0x140085930]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov qword [rbp - 0x49], rcx
mov qword [rbp - 0x41], rdx
xor edx, edx
lea r8d, [rdx + 0x30]
lea rcx, [rbp - 0x79]
call fcn.14002f000
xor r12d, r12d
mov dword [rbp - 0x75], r12d
mov dword [rbp - 0x71], 1
lea rbx, [0x140088228]
mov rcx, rbx
call fcn.140027d24
test eax, eax
je 0x14000ed0e
mov ecx, eax
call fcn.140027040
cmp qword [rdi + 0x18], 0x10
jb 0x14000ed1a
mov rdx, qword [rdi]
jmp 0x14000ed1d
mov rdx, rdi
cmp qword [rsi + 0x18], 0x10
jb 0x14000ed29
mov rcx, qword [rsi]
jmp 0x14000ed2c
mov rcx, rsi
lea r9, [rsp + 0x30]
lea r8, [rbp - 0x79]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov rcx, rbx
test eax, eax
je 0x14000ed5b
call fcn.140027d2c
test eax, eax
je 0x14000eee1
mov ecx, eax
call fcn.140027040
jmp 0x14000eee1
call fcn.140027d2c
test eax, eax
je 0x14000ed6b
mov ecx, eax
call fcn.140027040
mov rax, qword [rsp + 0x30]
mov rbx, rax
mov r15d, 2
test rax, rax
je 0x14000edd2
cmp dword [rbx + 4], r15d
jne 0x14000edbf
mov r8d, dword [rbx + 0xc]
mov edx, dword [rbx + 8]
mov ecx, r15d
call qword [sym.imp.WS2_32.dll_socket]
mov dword [r14], eax
cmp eax, 0xffffffff
je 0x14000edbf
mov r9d, 0x9c4
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x20]
mov ecx, eax
call fcn.140003770
cmp eax, 0xffffffff
jne 0x14000edc8
movsxd rcx, dword [r14]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14000ed7e
test rbx, rbx
jne 0x14000ee2b
mov rax, qword [rsp + 0x30]
mov rbx, rax
test rax, rax
je 0x14000eee1
mov r8d, dword [rbx + 0xc]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
call qword [sym.imp.WS2_32.dll_socket]
mov dword [r14], eax
cmp eax, 0xffffffff
je 0x14000ee19
mov r9d, 0xc8
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x20]
mov ecx, eax
call fcn.140003770
cmp eax, 0xffffffff
jne 0x14000ee22
movsxd rcx, dword [r14]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14000edde
test rbx, rbx
je 0x14000eee1
mov rax, qword [rbx + 0x20]
cmp word [rax], r15w
lea rdx, [rax + 4]
je 0x14000ee3d
lea rdx, [rax + 8]
mov r9d, 0x41
lea r8, [rbp - 0x39]
mov ecx, dword [rbx + 4]
call qword [sym.imp.WS2_32.dll_inet_ntop]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov dword [rbp - 0x49], 0x9c4
movsxd rbx, dword [r14]
mov r15d, 4
mov dword [rsp + 0x20], r15d
lea r9, [rbp - 0x49]
mov r8d, 0x1005
mov r14d, 0xffff
mov edx, r14d
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_setsockopt]
mov dword [rbp - 0x49], 0x9c4
mov dword [rsp + 0x20], r15d
lea r9, [rbp - 0x49]
mov r8d, 0x1006
mov edx, r14d
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_setsockopt]
nop
cmp qword [rsi + 0x18], 0x10
jb 0x14000eebe
mov rcx, qword [rsi]
call fcn.14002df20
mov ebx, select
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x10], r12
mov byte [rsi], r12b
cmp qword [rdi + 0x18], 0x10
jb 0x14000eedd
mov rcx, qword [rdi]
call fcn.14002df20
xor eax, eax
jmp 0x14000ef12
cmp qword [rsi + 0x18], 0x10
jb 0x14000eef0
mov rcx, qword [rsi]
call fcn.14002df20
mov ebx, select
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x10], r12
mov byte [rsi], r12b
cmp qword [rdi + 0x18], 0x10
jb 0x14000ef0f
mov rcx, qword [rdi]
call fcn.14002df20
or eax, 0xffffffff
mov qword [rdi + 0x18], rbx
mov qword [rdi + 0x10], r12
mov byte [rdi], r12b
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14002b700
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret