Function at 0x140163230
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 0x1401632c6
cmp byte [rdi], 0
jne 0x1401632cc
xor eax, eax
mov edi, eax
jmp 0x1401632ce
xor eax, eax
test rbx, rbx
je 0x1401632d8
cmp byte [rbx], 0
jne 0x1401632db
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 0x140163345
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140163340
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401637fd
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 0x140163391
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016338c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140163803
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 0x1401633da
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 0x140163675
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 0x140163666
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x40]
call fcn.1400512c0
nop
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x140163455
mov r8, r14
inc r8
cmp byte [rdx + r8], 0
jne 0x140163442
lea rcx, [rbp + 0x40]
call fcn.140062960
mov ecx, 0x18
call fcn.1402802bc
mov rdi, rax
test rax, rax
je 0x140163474
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
jmp 0x140163477
mov rdi, r15
mov qword [rsp + 0x68], rdi
mov ecx, 0x18
call fcn.1402802bc
mov qword [rbp - 0x80], rax
test rax, rax
je 0x1401634b3
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::udp___class_std::allocator_class_boost::asio::ip::basic_resolver_entry_class_boost::asio::ip::udp____.0
mov qword [rax], rcx
mov qword [rax + 0x10], rdi
jmp 0x1401634b6
mov rax, r15
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 4]
cmp eax, 2
je 0x1401634d1
cmp eax, 0x17
jne 0x14016361c
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 0x140163815
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 0x140163599
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 0x1401635ad
lea r8, [rbp - 0x40]
mov rcx, rdi
call fcn.1400982a0
mov rdx, qword [rbp + 0x18]
mov rsi, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1401635e4
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401635df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016380f
call fcn.140280300
cmp rsi, 0x10
jb 0x14016361c
lea rdx, [rsi + 1]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140163617
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016380f
call fcn.140280300
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401634c0
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x14016366b
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016365f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140163809
call fcn.140280300
jmp 0x14016366b
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 0x1401636e3
and ebx, 0xfffffff7
mov dword [rsp + 0x20], ebx
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1401636e3
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1401636df
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 0x1401636df
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 0x14016372b
and ebx, 0xfffffffb
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x14016372b
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140163725
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140163838
call fcn.140280300
nop
test bl, 2
je 0x140163779
and ebx, 0xfffffffd
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x140163779
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140163773
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401637f7
call fcn.140280300
nop
test bl, 1
je 0x1401637ba
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1401637ba
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1401637ba
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 0x1401637ba
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 0x1401637ca
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