Function at 0x14008e880
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
mov rbx, r8
inc rbx
sete bpl
je 0x14008eba9
js 0x14008eba9
mov rdi, r9
mov r15, r8
mov r12, rdx
mov rsi, rcx
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, rbx
call fcn.140082900
test rax, rax
je 0x14008eba9
mov r14, rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
test bpl, bpl
jne 0x14008eb85
xor ebx, ebx
lea rcx, [r14 + rbx]
mov rdx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
add rbx, r15
mov qword [rsp + 0x50], rbx
lea rax, [r12 + 7]
and rax, 0xfffffffffffffff8
sub rax, r12
jne 0x14008e960
lea rcx, [r15 - 0x10]
xor eax, eax
movdqa xmm0, xmmword [0x1401ae8e0]
movabs rdx, 0x8080808080808080
nop dword [rax + rax]
movdqu xmm1, xmmword [r12 + rax]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r8, xmm2
test r8, rdx
jne 0x14008e98c
add rax, 0x10
cmp rax, rcx
jbe 0x14008e930
jmp 0x14008e98c
cmp rax, r15
cmovae rax, r15
xor ecx, ecx
nop dword [rax]
cmp byte [r12 + rcx], 0
je 0x14008ea07
inc rcx
cmp rax, rcx
jne 0x14008e970
lea rcx, [r15 - 0x10]
cmp rax, rcx
jbe 0x14008e919
cmp rax, r15
je 0x14008e9af
nop word cs:[rax + rax]
cmp byte [r12 + rax], 0
je 0x14008ea07
inc rax
cmp r15, rax
jne 0x14008e9a0
movdqu xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x20], xmm0
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x30], rbx
mov r15, qword [rsp + 0x20]
cmp r15, rbx
jne 0x14008ea80
mov r15, rbx
inc r15
je 0x14008eba9
mov rdx, r15
not rdx
shr rdx, 0x3f
test rbx, rbx
je 0x14008ea4c
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], rbx
mov eax, 1
jmp 0x14008ea4e
mov rax, qword [rsp + 0x40]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14008eae1
lea rcx, [0x1401cf6c8]
mov qword [rsi + 8], rcx
mov qword [rsi], 1
test rax, rax
jne 0x14008eb63
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor eax, eax
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x58]
lea r9, [rsp + 0x70]
mov r8, r15
call fcn.14000ed70
cmp qword [rsp + 0x58], 0
jne 0x14008eba3
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
cmp rbx, r15
jne 0x14008ea99
lea rcx, [rsp + 0x20]
call fcn.14000ee10
mov r15, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
mov byte [r14 + rbx], 0
inc rbx
mov qword [rsp + 0x30], rbx
cmp r15, rbx
jbe 0x14008eae1
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, r14
test rbx, rbx
je 0x14008ead6
mov r9, rbx
call sub.kernel32.dll_HeapReAlloc
mov r14, rax
test rax, rax
jne 0x14008eae1
jmp 0x14008eba9
call sub.kernel32.dll_HeapFree
mov r14d, 1
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x78], 1
mov qword [rsp + 0x58], 0
lea r8, [rsp + 0x70]
lea r9, [rsp + 0x58]
mov rcx, r14
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x14008eb3a
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x14008eb4f
mov rcx, qword [rdi]
mov rax, qword [rsp + 0x58]
movzx ecx, word [rcx]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov byte [r14], 0
test rbx, rbx
je 0x14008ea3a
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, r14
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp sub.kernel32.dll_HeapFree
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8, r15
call fcn.14000ece0
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
jmp 0x14008e8ee
cmp qword [rsp + 0x60], 0
ud2