Function at 0x18002e270
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, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov edi, r9d
mov esi, r8d
mov rbx, rdx
mov r14, rcx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov dword [rbp - 0x28], 1
mov rcx, rdx
call sym.BLRevive.dll_public:_bool___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::empty_void_const___ptr64
test al, al
je 0x18002e2d8
mov r15d, dword [rbp + 0x80]
mov rcx, r14
call sym.BLRevive.dll_public:_bool___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::empty_void_const___ptr64
test al, al
je 0x18002e2e2
xor ebx, ebx
jmp 0x18002e2f0
mov r15d, 4
xor edi, edi
jmp 0x18002e2e5
mov rbx, r14
mov rcx, rbx
call sym.BLRevive.dll_public:_char_const____ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const___ptr64
mov rbx, rax
mov dword [rbp - 0x2c], edi
mov dword [rbp - 0x30], r15d
lea rcx, [rbp - 0x50]
mov edx, esi
call sym.BLRevive.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::to_string_int_
lea rcx, [rbp - 0x50]
call sym.BLRevive.dll_public:_char_const____ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const___ptr64
lea r8, [rbp - 0x30]
mov r9, rbp
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov rsi, 0xffffffffffffffff
test eax, eax
jne 0x18002e458
mov rdi, qword [rbp]
test rdi, rdi
je 0x18002e44a
mov rbx, qword [rbp + 0x98]
mov r13, qword [sym.imp.WS2_32.dll_WSASocketW]
lea r14, [rbp + 0xc]
mov r12, qword [sym.imp.WS2_32.dll_setsockopt]
jmp 0x18002e375
mov rcx, r15
call sym.BLRevive.dll_int___cdecl_httplib::detail::close_socket_unsigned_long_long_unsigned___int64__
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x18002e44e
mov r8d, dword [rdi + 0xc]
mov ecx, dword [rdi + 4]
mov edx, dword [rdi + 8]
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
xor r9d, r9d
call r13
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x18002e3b7
mov r8d, dword [rdi + 0xc]
mov ecx, dword [rdi + 4]
mov edx, dword [rdi + 8]
call qword [sym.imp.WS2_32.dll_socket]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x18002e368
cmp byte [rbp + 0x88], 0
je 0x18002e3e3
mov dword [rbp + 0xc], 1
mov dword [rsp + 0x20], 4
mov rcx, r15
mov edx, 6
mov r8d, 1
mov r9, r14
call r12
mov rcx, qword [rbp + 0x90]
call sym.BLRevive.dll_public:_bool___cdecl_std::function_void____cdecl___struct_httplib::Request_const____ptr64__struct_httplib::Response_const____ptr64__::operator_bool_void_const___ptr64
test al, al
je 0x18002e402
mov rcx, qword [rbp + 0x90]
mov rdx, r15
call sym.BLRevive.dll_public:_void___cdecl_std::_Func_class_void__unsigned_long_long_unsigned___int64__::operator___unsigned_long_long_unsigned___int64__const___ptr64
cmp dword [rdi + 4], 0x17
jne 0x18002e42b
mov dword [rbp + 0xc], 0
mov dword [rsp + 0x20], 4
mov rcx, r15
mov edx, 0x29
mov r8d, 0x1b
mov r9, r14
call r12
mov rcx, rbx
mov rdx, r15
mov r8, rdi
call sym.BLRevive.dll_public:_void___cdecl__unsigned_long_long_unsigned___int64____cdecl_httplib::detail::create_client_socket_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__int__int__bool__class_std::function_void____cdecl___unsigned_long_long_unsigned___int64_____long_long___int64___class_std::function_void____cdecl___unsigned_long_long_unsigned___int64_____class_std::function_void____cdecl___unsigned_long_long_unsigned___int64_____class_std::function_void____cdecl___unsigned_long_long_unsigned___int64_____class_std::function_void____cdecl___unsigned_long_long_unsigned___int64_____class_std::function_void____cdecl___unsigned_long_long_unsigned___int64_____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__enum_httplib::Error____ptr64_::_1::_lambda_1_::operator___unsigned_long_long_unsigned___int64___struct_addrinfo____ptr64_const___ptr64
test al, al
je 0x18002e360
mov rcx, qword [rbp]
mov rsi, r15
jmp 0x18002e452
xor ecx, ecx
jmp 0x18002e452
mov rcx, qword [rbp]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
lea rcx, [rbp - 0x50]
call sym.BLRevive.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64
mov rcx, qword [rbp + 0x90]
call sym.BLRevive.dll_public:_void___cdecl_std::_Func_class_void___::destructor_void____ptr64
mov rax, rsi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret