Function at 0x1400257a0
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], 0xfffffffffffffffe
mov ebx, r8d
xorps xmm0, xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x48], 1
cmp qword [rdx + 0x10], 0
je 0x1400257f7
mov rsi, rdx
mov eax, 4
xor r9d, r9d
cmp qword [rsi + 0x18], 0x10
jae 0x14002580e
jmp 0x140025815
mov eax, dword [rbp + 0x90]
cmp qword [rcx + 0x10], 0
je 0x140025813
mov rsi, rcx
cmp qword [rsi + 0x18], 0x10
jb 0x140025815
mov rsi, qword [rsi]
jmp 0x140025815
xor esi, esi
mov dword [rbp - 0x4c], r9d
mov dword [rbp - 0x50], eax
cmp dword [0x1400c35e0], 0xa
jl 0x140025836
mov eax, dword [0x1400c35e4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x14002585e
lea r14, [rbp - 0x18]
mov rcx, r14
mov edx, ebx
call fcn.14006f200
cmp dword [0x1400c35e0], 0xa
jl 0x1400258a0
mov eax, dword [0x1400c35e4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x1400258a0
lea r14, [rbp - 0x18]
nop word cs:[rax + rax]
mov rcx, r14
mov edx, ebx
call fcn.14006f200
mov rcx, r14
mov edx, ebx
call fcn.14006f200
cmp dword [0x1400c35e0], 0xa
jl 0x140025836
mov eax, dword [0x1400c35e4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x140025870
jmp 0x140025836
cmp qword [rbp], 0x10
jb 0x1400258ab
mov r14, qword [rbp - 0x18]
lea r8, [rbp - 0x50]
lea r9, [rbp + 0x18]
mov rcx, rsi
mov rdx, r14
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
mov rsi, 0xffffffffffffffff
test eax, eax
je 0x1400258f4
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
mov rdi, qword [rbp + 0xa0]
cmp ecx, 0xa
jge 0x140025da6
jmp 0x140025dd0
mov rbx, qword [rbp + 0x18]
test rbx, rbx
je 0x140025d37
mov rsi, qword [sym.imp.WS2_32.dll_socket]
lea r14, [rbp + 0x10]
mov r12, qword [sym.imp.WS2_32.dll_setsockopt]
mov r13, qword [sym.imp.WS2_32.dll_closesocket]
nop word [rax + rax]
cmp ecx, 0xa
jl 0x140025930
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
jne 0x140025974
mov r8d, dword [rbx + 0xc]
mov ecx, dword [rbx + 4]
mov edx, dword [rbx + 8]
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov r15, rax
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1400259a0
test eax, eax
je 0x1400259a0
mov r8d, dword [rbx + 0xc]
mov ecx, dword [rbx + 4]
mov edx, dword [rbx + 8]
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_WSASocketW]
jmp 0x140025930
cmp r15, 0xffffffffffffffff
jne 0x1400259f0
jmp 0x1400259bc
mov r8d, dword [rbx + 0xc]
mov ecx, dword [rbx + 4]
mov edx, dword [rbx + 8]
call rsi
mov r8d, dword [rbx + 0xc]
mov ecx, dword [rbx + 4]
mov edx, dword [rbx + 8]
call rsi
mov r15, rax
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1400259f0
test eax, eax
jne 0x1400259b0
nop dword [rax]
cmp r15, 0xffffffffffffffff
je 0x140025ac0
cmp byte [rbp + 0x98], 0
je 0x140025a80
nop word cs:[rax + rax]
mov dword [rbp + 0x10], 1
mov dword [rsp + 0x20], 4
mov rcx, r15
mov edx, 6
mov r8d, 1
mov r9, r14
call r12
cmp dword [0x1400c3fd4], 0xa
jl 0x140025a80
mov eax, dword [0x1400c3fd0]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140025a80
mov dword [rbp + 0x10], 1
mov dword [rsp + 0x20], 4
mov rcx, r15
mov edx, 6
mov r8d, 1
mov r9, r14
call r12
jmp 0x140025a10
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x140025b20
mov qword [rbp + 0x10], r15
cmp dword [0x1400c3fd8], 0xa
jl 0x140025ad0
mov eax, dword [0x1400c3fdc]
lea edx, [rax + 1]
imul edx, eax
and edx, 1
jne 0x140025afe
jmp 0x140025ad0
mov edi, 4
jmp 0x140025d20
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + reloc.WS2_32.dll_recv]
cmp dword [0x1400c3fd8], 0xa
jl 0x140025b20
mov eax, dword [0x1400c3fdc]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140025b20
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax + 0x38]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax + 0x38]
jmp 0x140025ad0
cmp dword [rbx + 4], 0x17
jne 0x140025ba0
nop word cs:[rax + rax]
mov dword [rbp + 0x10], 0
mov dword [rsp + 0x20], 4
mov rcx, r15
mov edx, 0x29
mov r8d, 0x1b
mov r9, r14
call r12
cmp dword [0x1400c3fd4], 0xa
jl 0x140025ba0
mov eax, dword [0x1400c3fd0]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140025ba0
mov dword [rbp + 0x10], 0
mov dword [rsp + 0x20], 4
mov rcx, r15
mov edx, 0x29
mov r8d, 0x1b
mov r9, r14
call r12
jmp 0x140025b30
mov rcx, qword [rbp + 0xa8]
mov rdx, r15
mov r8, rbx
call fcn.140026050
test al, al
je 0x140025c40
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
mov edi, 1
cmp ecx, 0xa
jl 0x140025d13
nop word [rax + rax]
test eax, eax
je 0x140025c21
mov rcx, qword [rbp + 0x18]
mov rsi, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rsi
mov rcx, qword [rbp + 0x18]
call rsi
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jge 0x140025bf0
mov qword [rbp + 8], r15
mov rsi, qword [sym.imp.WS2_32.dll_socket]
jmp 0x140025d20
mov eax, dword [0x1400c3f64]
mov ecx, dword [0x1400c3f60]
nop dword [rax]
cmp ecx, 0xa
jl 0x140025c60
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x140025c80
mov rcx, r15
call r13
cmp dword [0x1400c3f60], 0xa
jl 0x140025c90
mov eax, dword [0x1400c3f64]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140025c90
mov rcx, r15
call r13
jmp 0x140025c60
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
xor edi, edi
cmp ecx, 0xa
jl 0x140025d20
test eax, eax
je 0x140025d20
mov rcx, r15
call r13
mov eax, dword [0x1400c3f64]
mov ecx, dword [0x1400c3f60]
cmp ecx, 0xa
jl 0x140025c50
lea edx, [rax + 1]
imul edx, eax
and edx, 1
je 0x140025c50
nop word cs:[rax + rax]
mov rcx, r15
call r13
mov rcx, r15
call r13
mov eax, dword [0x1400c3f64]
mov ecx, dword [0x1400c3f60]
lea edx, [rax + 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x140025c50
test edx, edx
jne 0x140025ce0
jmp 0x140025c50
mov qword [rbp + 8], r15
nop word [rax + rax]
test dil, 3
jne 0x140025ddb
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140025920
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
mov rdi, qword [rbp + 0xa0]
jl 0x140025d9a
test eax, eax
je 0x140025d9a
mov rsi, qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop dword [rax]
mov rcx, qword [rbp + 0x18]
call rsi
mov rcx, qword [rbp + 0x18]
call rsi
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x140025d9a
test eax, eax
jne 0x140025d70
mov rsi, 0xffffffffffffffff
cmp ecx, 0xa
jl 0x140025dd0
test eax, eax
je 0x140025dd0
lea rcx, [rbp - 0x18]
call fcn.140001f00
mov rcx, rdi
call fcn.140024a60
mov edx, dword [0x1400c3fd0]
mov ecx, dword [0x1400c3fd4]
lea eax, [rdx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x140025de4
test eax, eax
jne 0x140025e0f
jmp 0x140025de4
mov rsi, qword [rbp + 8]
jmp 0x1400258df
lea rcx, [rbp - 0x18]
call fcn.140001f00
mov rcx, rdi
call fcn.140024a60
cmp dword [0x1400c3fd4], 0xa
jl 0x140025e22
mov eax, dword [0x1400c3fd0]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140025e22
lea rcx, [rbp - 0x18]
call fcn.140001f00
mov rcx, rdi
call fcn.140024a60
jmp 0x140025de4
mov rax, rsi
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret