Function at 0x14015bdf0
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 0x14015c119
js 0x14015c119
mov rdi, r9
mov r15, r8
mov r12, rdx
mov rsi, rcx
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rbx
call fcn.14014fee0
test rax, rax
je 0x14015c119
mov r14, rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
test bpl, bpl
jne 0x14015c0f5
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 0x14015bed0
lea rcx, [r15 - 0x10]
xor eax, eax
movdqa xmm0, xmmword [0x14021e700]
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 0x14015befc
add rax, 0x10
cmp rax, rcx
jbe 0x14015bea0
jmp 0x14015befc
cmp rax, r15
cmovae rax, r15
xor ecx, ecx
nop dword [rax]
cmp byte [r12 + rcx], 0
je 0x14015bf77
inc rcx
cmp rax, rcx
jne 0x14015bee0
lea rcx, [r15 - 0x10]
cmp rax, rcx
jbe 0x14015be89
cmp rax, r15
je 0x14015bf1f
nop word cs:[rax + rax]
cmp byte [r12 + rax], 0
je 0x14015bf77
inc rax
cmp r15, rax
jne 0x14015bf10
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 0x14015bff0
mov r15, rbx
inc r15
je 0x14015c119
mov rdx, r15
not rdx
shr rdx, 0x3f
test rbx, rbx
je 0x14015bfbc
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], rbx
mov eax, 1
jmp 0x14015bfbe
mov rax, qword [rsp + 0x40]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14015c051
lea rcx, [0x141a5ce30]
mov qword [rsi + 8], rcx
mov qword [rsi], 1
test rax, rax
jne 0x14015c0d3
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.140036d00
cmp qword [rsp + 0x58], 0
jne 0x14015c113
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
cmp rbx, r15
jne 0x14015c009
lea rcx, [rsp + 0x20]
call fcn.140036da0
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 0x14015c051
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, r14
test rbx, rbx
je 0x14015c046
mov r9, rbx
call sub.KERNEL32.dll_HeapReAlloc
mov r14, rax
test rax, rax
jne 0x14015c051
jmp 0x14015c119
call fcn.1401cdfe4
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 0x14015c0aa
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x14015c0bf
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 0x14015bfaa
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, r14
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.1401cdfe4
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8, r15
call fcn.140036c70
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
jmp 0x14015be5e
cmp qword [rsp + 0x60], 0
ud2