Function at 0x1400303d0
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x220], rbx
mov rax, qword [0x140063828]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov r13, rcx
mov qword [rsp + 0x70], rcx
xor r14d, r14d
mov eax, r14d
xchg byte [rcx + 8], al
mov rbx, 0xffffffffffffffff
mov rdi, rbx
inc rdi
cmp byte [rdx + rdi], r14b
jne 0x140030427
cmp rdi, 0x100
jb 0x14003044e
lea rdx, str.CONNECT_error:_Pool_address_overflow.
mov rcx, qword [rcx + 0x10]
call fcn.14002fe90
jmp 0x14003096e
mov r8, rdi
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rdi - 0x40], r14b
lea rdx, [0x140053a10]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140030490
lea rbx, [rbx + 1]
cmp byte [rax + rbx + 2], r14b
jne 0x140030474
lea r8, [rbx + 1]
lea rdx, [rax + 2]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_memmove
mov edx, 0x3a
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x1400304b8
lea rdx, str.CONNECT_error:_Pool_port_number_not_specified__please_use_format__hostname_:_port_.
mov rcx, qword [r13 + 0x10]
call fcn.14002fe90
jmp 0x14003096e
mov byte [rax], r14b
lea rdx, [rax + 1]
mov qword [rsp + 0x78], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
mov dword [rbp - 0x80], 1
mov dword [rbp - 0x7c], 6
lea rdi, [r13 + 0x20]
mov qword [rdi], r14
mov r9, rdi
lea r8, [rsp + 0x78]
lea rcx, [rbp - 0x40]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x140030517
mov r8d, eax
lea rdx, str.CONNECT_error:_GetAddrInfo:
mov rcx, qword [r13 + 0x10]
call fcn.140030020
jmp 0x14003096e
mov rax, qword [rdi]
mov qword [rsp + 0x30], rax
mov rsi, r14
mov qword [rsp + 0x58], r14
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], r14
movdqu xmmword [rsp + 0x48], xmm0
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x50]
test rax, rax
je 0x1400308c3
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
cmp dword [rax + 4], 2
jne 0x140030592
cmp rbx, r15
je 0x140030571
mov qword [r15], rax
add r15, 8
mov qword [rsp + 0x60], r15
jmp 0x140030592
lea r8, [rsp + 0x30]
mov rdx, r15
lea rcx, [rsp + 0x58]
call fcn.14001e4a0
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x60]
cmp dword [rax + 4], 0x17
jne 0x1400305cc
cmp r12, rdi
je 0x1400305ab
mov qword [rdi], rax
add rdi, 8
mov qword [rsp + 0x48], rdi
jmp 0x1400305cc
lea r8, [rsp + 0x30]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.14001e4a0
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x140030558
mov rsi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x40]
cmp rsi, r15
jne 0x140030608
cmp r14, rdi
je 0x1400308bf
sub rdi, r14
sar rdi, 3
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
jmp 0x140030735
cmp r14, rdi
jne 0x14003062a
sub r15, rsi
sar r15, 3
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
xor edx, edx
div r15
mov rax, qword [rsi + rdx*8]
jmp 0x140030740
mov r13, qword [0x140064140]
test r13, r13
jne 0x140030692
mov ecx, 0x88
call fcn.14004c0cc
mov r13, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140030679
xor eax, eax
mov qword [r13], rax
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rax
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov qword [r13 + 0x30], rax
lea rcx, [r13 + 0x38]
lea edx, [rax + 2]
call sub.MSVCP140.dll__Mtx_init_in_situ
jmp 0x14003067c
xor r13d, r13d
mov qword [0x140064140], r13
mov rcx, r13
call fcn.14001c4d0
mov r13, qword [0x140064140]
mov rcx, qword [r13 + 0x10]
test rcx, rcx
jne 0x1400306fb
lea rax, [r13 + 0x38]
mov qword [rbp - 0x50], rax
mov rcx, rax
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
je 0x1400306b6
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
mov byte [rbp - 0x48], 1
cmp qword [r13 + 0x10], 0
jne 0x1400306e2
mov ecx, 0x68
call fcn.14004c0cc
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400306de
mov rcx, rax
call fcn.14001c800
nop
mov qword [r13 + 0x10], rax
lea rcx, [r13 + 0x38]
call sub.MSVCP140.dll__Mtx_unlock
test eax, eax
je 0x1400306f7
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
nop
mov rcx, qword [r13 + 0x10]
call fcn.14001d0a0
test al, al
je 0x140030723
sub r15, rsi
sar r15, 3
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
xor edx, edx
div r15
mov rax, qword [rsi + rdx*8]
mov r13, qword [rsp + 0x70]
jmp 0x140030740
sub rdi, r14
sar rdi, 3
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r13, qword [rsp + 0x70]
cdqe
xor edx, edx
div rdi
mov rax, qword [r14 + rdx*8]
mov qword [r13 + 0x18], rax
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
mov ecx, dword [rax + 4]
call qword [sym.imp.WSOCK32.dll_socket]
mov qword [r13 + 0x28], rax
cmp rax, 0xffffffffffffffff
jne 0x14003080c
mov rcx, qword [r13 + 0x20]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [r13 + 0x20], 0
lea rdx, str.CONNECT_error:_Socket_creation_failed
mov rcx, qword [r13 + 0x10]
call fcn.14002fed0
movzx edi, al
test r14, r14
je 0x1400307cc
sub r12, r14
sar r12, 3
lea rdx, [r12*8]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400307c3
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400307c3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.14004c108
nop
test rsi, rsi
je 0x14003096a
sub rbx, rsi
and rbx, 0xfffffffffffffff8
mov rax, rsi
cmp rbx, 0x1000
jb 0x14003095f
add rbx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003095f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x38]
mov edx, 6
lea r8d, [rdx - 5]
mov rcx, rax
call qword [sym.imp.WSOCK32.dll_setsockopt]
nop
test r14, r14
je 0x140030879
sub r12, r14
sar r12, 3
lea rdx, [r12*8]
mov rax, r14
cmp rdx, 0x1000
jb 0x140030870
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140030870
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.14004c108
nop
test rsi, rsi
je 0x1400308b8
sub rbx, rsi
and rbx, 0xfffffffffffffff8
mov rax, rsi
cmp rbx, 0x1000
jb 0x1400308ad
add rbx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400308ad
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rbx
mov rcx, rsi
call fcn.14004c108
mov al, 1
jmp 0x14003096e
lea rdi, [r13 + 0x20]
mov rcx, qword [rdi]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rdi], 0
lea rdx, str.CONNECT_error:_I_found_some_DNS_records_but_no_IPv4_or_IPv6_addresses.
mov rcx, qword [r13 + 0x10]
call fcn.14002fe90
movzx edi, al
test r14, r14
je 0x14003092b
sub r12, r14
sar r12, 3
lea rdx, [r12*8]
mov rax, r14
cmp rdx, 0x1000
jb 0x140030922
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140030922
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.14004c108
nop
test rsi, rsi
je 0x14003096a
sub rbx, rsi
and rbx, 0xfffffffffffffff8
mov rax, rsi
cmp rbx, 0x1000
jb 0x14003095f
add rbx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003095f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rbx
mov rcx, rsi
call fcn.14004c108
movzx eax, dil
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.14004c1b0
mov rbx, qword [rsp + 0x220]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret