Function at 0x1402a9a90
Capabilities:
Connect socket
Enumerate pe sections
Set socket configuration

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x460
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3d8], 0xfffffffffffffffe
mov ebx, r9d
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov dword [rbp + 0x1b0], 1
mov rdi, qword [rcx]
lea r8, [rbp + 0x1b0]
mov rcx, rdi
mov edx, 0x8004667e
call qword [sym.imp.ws2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x1402a9b0d
cmp word [r15], 0
je 0x1402a9b22
movups xmm0, xmmword [r15 + 4]
mov eax, dword [r15 + 0x14]
mov edx, dword [r15 + 0x18]
movzx ecx, word [r15 + 0x1c]
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x1402a9b39
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
jmp 0x1402a9e3d
mov eax, dword [r15 + 2]
movzx ecx, word [r15 + 6]
mov r8d, 0x10
mov r9w, 2
xorps xmm0, xmm0
rol cx, 8
mov word [rbp + 0x1b0], r9w
mov word [rbp + 0x1b2], cx
mov dword [rbp + 0x1b4], eax
movups xmmword [rbp + 0x1b8], xmm0
mov dword [rbp + 0x1c8], edx
lea rdx, [rbp + 0x1b0]
mov rcx, rdi
call qword [sym.imp.ws2_32.dll_connect]
cmp eax, 0xffffffff
je 0x1402a9b79
xor r12d, r12d
jmp 0x1402a9b8a
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r12d, eax
shl r12, 0x20
or r12, 2
mov dword [rbp + 0x1b0], 0
lea r8, [rbp + 0x1b0]
mov rcx, rdi
mov edx, 0x8004667e
call qword [sym.imp.ws2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x1402a9bd2
test r12, r12
je 0x1402a9bf7
mov r15d, r12d
and r15d, 3
lea rax, [0x1402aa05c]
movsxd rcx, dword [rax + r15*4]
add rcx, rax
jmp rcx
movzx eax, byte [r12 + 0x10]
jmp 0x1402a9c12
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
test r12, r12
je 0x1402a9e3d
mov r15d, r12d
and r15d, 3
jmp 0x1402a9dd1
xor esi, esi
jmp 0x1402a9e3d
movzx eax, byte [r12 + 0xf]
jmp 0x1402a9c12
mov rcx, r12
shr rcx, 0x20
call fcn.1402b3950
cmp al, 0xd
jne 0x1402a9c2b
test r14, r14
jne 0x1402a9c59
test ebx, ebx
jne 0x1402a9c59
lea rsi, str.cannot_set_a_0_duration_timeout
jmp 0x1402a9dd1
mov rsi, r12
jmp 0x1402a9e3d
cmp r14, 0x7fffffff
mov eax, 0x7fffffff
cmovb rax, r14
mov ecx, ebx
imul rcx, rcx, 0x10624dd3
shr rcx, 0x26
mov dword [rbp + 0x3b8], eax
test rax, rax
mov eax, 1
mov edx, ecx
cmove edx, eax
cmp ebx, 0x3e8
cmovae edx, ecx
mov dword [rbp + 0x3bc], edx
lea rcx, [rbp + 0x1c0]
mov r8d, 0x1f8
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x50], rdi
lea rcx, [rbp - 0x48]
mov r8d, 0x1f8
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x1b0], 1
mov qword [rbp + 0x1b8], rdi
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x58]
lea r9, [rbp + 0x1b0]
mov ecx, 1
xor edx, edx
call qword [sym.imp.ws2_32.dll_select]
test eax, eax
je 0x1402a9d1d
cmp eax, 0xffffffff
jne 0x1402a9d2d
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
jmp 0x1402a9dd1
mov qword [rbp + 0x3d0], r12
lea rsi, str.connection_timed_out
jmp 0x1402a9d40
cmp dword [rbp - 0x58], 1
jne 0x1402a9db8
mov qword [rbp + 0x3d0], r12
xor esi, esi
lea rax, [r15 - 2]
cmp rax, 2
jb 0x1402a9e3d
test r15, r15
je 0x1402a9e3d
mov rax, qword [rbp + 0x3d0]
lea rcx, [rax - 1]
mov qword [rbp + 0x3c0], rcx
mov rcx, qword [rax - 1]
mov rax, qword [rax + 7]
mov qword [rbp + 0x3c8], rcx
mov qword [rbp + 0x3d0], rax
call qword [rax]
mov rax, qword [rbp + 0x3d0]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1402a9da1
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x3c8]
call fcn.1400590f0
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x3c0]
jmp 0x1402a9e38
mov rcx, rsi
call fcn.14029f390
mov rsi, rdx
test rax, rax
jne 0x1402a9dd1
test rsi, rsi
je 0x1402a9f6a
lea rax, [r15 - 2]
cmp rax, 2
jb 0x1402a9e3d
test r15, r15
je 0x1402a9e3d
lea rax, [r12 - 1]
mov qword [rbp + 0x3d0], rax
mov rcx, qword [r12 - 1]
mov rax, qword [r12 + 7]
mov qword [rbp + 0x3c8], rcx
mov qword [rbp + 0x3c0], rax
call qword [rax]
mov rax, qword [rbp + 0x3c0]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1402a9e26
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x3c8]
call fcn.1400590f0
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x3d0]
call fcn.1400590f0
mov rax, rsi
add rsp, 0x460
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0x3d0], r12
xor esi, esi
xor ecx, ecx
call fcn.140292da0
jmp 0x1402a9d40