Function at 0x140162c20
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rsi, r9
mov r13, rdx
mov qword [rsp + 0x30], rdx
mov r14, qword [rbp + 0x110]
xor eax, eax
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], rax
lea rdx, [r9 + 0x50]
lea rcx, [rbp + 0x20]
call fcn.1400512c0
nop
lea rdx, [rsi + 0x30]
lea rcx, [rbp - 0x60]
call fcn.1400512c0
mov dword [rsp + 0x20], 0x60
lea rbx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae rbx, qword [rbp + 0x20]
lea rdi, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rdi, qword [rbp - 0x60]
test rdi, rdi
je 0x140162cb6
cmp byte [rdi], 0
jne 0x140162cbc
xor eax, eax
mov edi, eax
jmp 0x140162cbe
xor eax, eax
test rbx, rbx
je 0x140162cc8
cmp byte [rbx], 0
jne 0x140162ccb
mov rbx, rax
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r9, [rsp + 0x28]
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140168f00
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140162d35
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140162d30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401631ed
call fcn.140280300
movdqa xmm0, xmmword [0x1402c4640]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140162d81
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140162d7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401631f3
call fcn.140280300
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
lea rax, [fcn.140063630]
cmp dword [r14], 0
mov ecx, 0
cmove rax, rcx
lea r14, [rcx - 1]
test rax, rax
je 0x140162dca
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xor r15d, r15d
mov qword [rsp + 0x60], r15
lea rcx, [rsp + 0x50]
lea ebx, [r14 + 0x62]
mov edi, r15d
jmp 0x140163065
lea rdx, [rsi + 0x50]
lea rcx, [rbp + 0x80]
call fcn.1400512c0
nop
mov dword [rsp + 0x20], 0xe2
lea rdx, [rsi + 0x30]
lea rcx, [rbp + 0x60]
call fcn.1400512c0
nop
mov rbx, qword [rsp + 0x28]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
xor r15d, r15d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x20], 0x3e6
test rbx, rbx
je 0x140163056
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x40]
call fcn.1400512c0
nop
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x140162e45
mov r8, r14
inc r8
cmp byte [rdx + r8], 0
jne 0x140162e32
lea rcx, [rbp + 0x40]
call fcn.140062960
mov ecx, 0x18
call fcn.1402802bc
mov rdi, rax
test rax, rax
je 0x140162e64
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
jmp 0x140162e67
mov rdi, r15
mov qword [rsp + 0x68], rdi
mov ecx, 0x18
call fcn.1402802bc
mov qword [rbp - 0x80], rax
test rax, rax
je 0x140162ea3
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, vtable.std::_Ref_count_class_std::vector_class_boost::asio::ip::basic_resolver_entry_class_boost::asio::ip::tcp___class_std::allocator_class_boost::asio::ip::basic_resolver_entry_class_boost::asio::ip::tcp____.0
mov qword [rax], rcx
mov qword [rax + 0x10], rdi
jmp 0x140162ea6
mov rax, r15
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 4]
cmp eax, 2
je 0x140162ec1
cmp eax, 0x17
jne 0x14016300c
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov dword [rbp - 0x68], r15d
mov qword [rbp - 0x80], 2
mov r8, qword [rbx + 0x10]
cmp r8, 0x80
ja 0x140163205
mov rdx, qword [rbx + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140282ac0
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rbp - 0x40], xmm0
movsd xmm1, qword [rbp - 0x70]
movsd qword [rbp - 0x30], xmm1
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x28], eax
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.1400512c0
nop
lea rdx, [rbp + 0x80]
lea rcx, [rbp]
call fcn.1400512c0
nop
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x140162f89
movaps xmm0, xmmword [rbp - 0x40]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rbp - 0x30]
movsd qword [rdx + 0x10], xmm1
mov eax, dword [rbp - 0x28]
mov dword [rdx + 0x18], eax
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rbp - 0x10]
movups xmmword [rdx + 0x30], xmm1
mov esi, reloc.WS2_32.dll_ntohs
mov qword [rbp - 8], rsi
mov byte [rbp - 0x20], 0
movaps xmm0, xmmword [rbp]
movups xmmword [rdx + 0x40], xmm0
movaps xmm1, xmmword [rbp + 0x10]
movups xmmword [rdx + 0x50], xmm1
mov edx, esi
mov qword [rbp + 0x18], rdx
mov byte [rbp], 0
add qword [rdi + 8], 0x60
jmp 0x140162f9d
lea r8, [rbp - 0x40]
mov rcx, rdi
call fcn.1400982a0
mov rdx, qword [rbp + 0x18]
mov rsi, qword [rbp - 8]
cmp rdx, 0x10
jb 0x140162fd4
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140162fcf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401631ff
call fcn.140280300
cmp rsi, 0x10
jb 0x14016300c
lea rdx, [rsi + 1]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140163007
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401631ff
call fcn.140280300
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140162eb0
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x14016305b
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016304f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401631f9
call fcn.140280300
jmp 0x14016305b
mov rdi, qword [rsp + 0x38]
lea rcx, [rsp + 0x38]
mov ebx, 8
mov qword [r13], rdi
mov rax, qword [rcx + 8]
mov qword [r13 + 8], rax
mov qword [rcx], r15
mov qword [rcx + 8], r15
mov rax, qword [rcx + 0x10]
mov qword [r13 + 0x10], rax
or ebx, 0x10
mov dword [rsp + 0x20], ebx
test bl, 8
je 0x1401630d3
and ebx, 0xfffffff7
mov dword [rsp + 0x20], ebx
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1401630d3
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1401630cf
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1401630cf
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov ebx, dword [rsp + 0x20]
test bl, 4
je 0x14016311b
and ebx, 0xfffffffb
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x14016311b
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140163115
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140163228
call fcn.140280300
nop
test bl, 2
je 0x140163169
and ebx, 0xfffffffd
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x140163169
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140163163
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401631e7
call fcn.140280300
nop
test bl, 1
je 0x1401631aa
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1401631aa
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1401631aa
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x1401631aa
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1401631ba
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rax, r13
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1402874fc
nop
call fcn.1402874fc
nop
call fcn.1402874fc
nop
call fcn.1402874fc
nop
call fcn.1402874fc
int3
call fcn.14018e9e0
mov dword [rbp - 0x80], 0x2726
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140157ed0
nop
call fcn.1402874fc
int3