Function at 0x14008f510
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
movdqa xmmword [rsp + 0x240], xmm7
movdqa xmmword [rsp + 0x230], xmm6
mov r14, r8
mov rbx, rdx
mov rsi, rcx
lea rcx, [rsp + 0x60]
call fcn.1400156d0
cmp word [rsp + 0x60], 2
jne 0x14008f6ef
movabs r15, 0x8080808080808080
lea rax, [rbx + 7]
and rax, 0xfffffffffffffff8
sub rax, rbx
movdqa xmm0, xmmword [0x1401ba070]
movdqa xmm6, xmmword [0x1401ba080]
lea rcx, str.invalid_socket_address
mov rdi, r14
jmp 0x14008f599
cmp rdi, r14
ja 0x14008f96a
mov rdx, rdi
mov r8, rdi
cmp rdi, rax
jb 0x14008f5bd
mov r9d, edi
sub r9d, eax
and r9d, 0xf
mov rdx, rdi
mov r8, rax
sub rdx, r9
jb 0x14008fc48
mov r9, rdx
neg r9
mov r11, rdi
nop word cs:[rax + rax]
mov r10, r11
mov r11, r9
add r11, r10
je 0x14008f600
lea r11, [r10 - 1]
cmp byte [rbx + r10 - 1], 0x3a
jne 0x14008f5d0
lea rdi, [r9 + r10]
dec rdi
add rdi, rdx
jmp 0x14008f658
mov r9, rdx
cmp rdx, r8
jbe 0x14008f636
lea rdx, [r9 - 0x10]
movdqu xmm1, xmmword [rbx + r9 - 0x10]
movdqa xmm2, xmm1
pxor xmm2, xmm0
paddq xmm2, xmm6
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r10, xmm2
test r10, r15
je 0x14008f600
cmp r9, rdi
ja 0x14008fc48
nop
test r9, r9
je 0x14008f96a
lea rdi, [r9 - 1]
cmp byte [rbx + r9 - 1], 0x3a
mov r9, rdi
jne 0x14008f640
cmp rdi, r14
jae 0x14008f590
cmp byte [rbx + rdi], 0x3a
jne 0x14008f590
lea r12, [rdi + 1]
lea rcx, str.invalid_port_value
sub r14, r12
je 0x14008f96a
lea r8, [rbx + rdi]
inc r8
movzx eax, byte [r8]
cmp eax, 0x2b
je 0x14008f73f
cmp eax, 0x2d
jne 0x14008f6a2
cmp r14, 1
je 0x14008f96a
cmp r14, 4
jbe 0x14008f755
xor r9d, r9d
mov r10w, 0xa
xor eax, eax
cmp r14, r9
je 0x14008f77c
movzx r11d, byte [r8 + r9]
mul r10w
seto dl
add r11d, 0xffffffd0
cmp r11d, 9
ja 0x14008f96a
test dl, dl
jne 0x14008f96a
inc r9
add ax, r11w
jae 0x14008f6b6
jmp 0x14008f96a
movzx eax, byte [0x140259141]
mov edx, 0x20
xor ecx, ecx
call fcn.14008b700
test rax, rax
je 0x14008fc48
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov rcx, rax
add rcx, 0x20
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 1
mov qword [rsi + 0x18], rcx
jmp 0x14008f868
dec r14
je 0x14008f96a
inc r8
cmp r14, 5
jae 0x14008f6ac
xor edx, edx
xor eax, eax
movzx r9d, byte [r8 + rdx]
add r9d, 0xffffffd0
cmp r9d, 9
ja 0x14008f96a
add eax, eax
lea eax, [rax + rax*4]
add eax, r9d
inc rdx
cmp r14, rdx
jne 0x14008f759
mov word [rsp + 0x22], ax
mov rax, qword [0x140259110]
cmp rax, 3
jne 0x14008f824
lea rax, [rsp + 0x22]
mov qword [rsp + 0x58], rax
cmp rdi, 0x17f
ja 0x14008f840
lea r14, [rsp + 0xb0]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov byte [rsp + rdi + 0xb0], 0
cmp rdi, 0xe
ja 0x14008f7ea
xor ecx, ecx
cmp byte [rsp + rcx + 0xb0], 0
je 0x14008f8e8
inc rcx
cmp r12, rcx
jne 0x14008f7cf
jmp 0x14008f94f
lea rax, [rsp + 0xb7]
and rax, 0xfffffffffffffff8
sub rax, r14
jne 0x14008f806
lea rcx, [rdi - 0xf]
xor eax, eax
jmp 0x14008f891
xor ecx, ecx
cmp byte [rsp + rcx + 0xb0], 0
je 0x14008f8e8
inc rcx
cmp rax, rcx
jne 0x14008f808
lea rcx, [rdi - 0xf]
jmp 0x14008f88c
call fcn.14008aca0
lea rax, [rsp + 0x22]
mov qword [rsp + 0x58], rax
cmp rdi, 0x17f
jbe 0x14008f7a9
lea rcx, [rsp + 0x38]
lea r9, [rsp + 0x58]
mov rdx, rbx
mov r8, rdi
call fcn.14008ad60
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x14008f965
jmp 0x14008f99a
movaps xmm6, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rax, rcx
ja 0x14008f8bf
movdqu xmm0, xmmword [rsp + rax + 0xb0]
movdqa xmm1, xmm0
paddq xmm1, xmm6
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
test rdx, r15
jne 0x14008f8bf
add rax, 0x10
jmp 0x14008f88c
sub r12, rax
je 0x14008f94f
lea rdx, [rsp + rax]
add rdx, 0xb0
xor ecx, ecx
cmp byte [rdx + rcx], 0
je 0x14008f8e5
inc rcx
cmp r12, rcx
jne 0x14008f8d5
jmp 0x14008f94f
add rcx, rax
cmp rcx, rdi
jne 0x14008f94f
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0x90], xmm0
mov dword [rsp + 0x88], 1
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0xb0]
lea r8, [rsp + 0x80]
lea r9, [rsp + 0x30]
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x14008f97a
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x14008f956
lea rax, str.file_name_contained_an_unexpected_NUL_byteNotFoundPermissionDeniedConnectionRefusedConnectionResetHostUnreachableNetworkUnreachableConnectionAbortedNotConnectedAddrInUseAddrNotAvailableNetworkDownBrokenPipeAlreadyExistsWouldBlockNotADirectoryIsADirectoryDirectoryNotEmptyReadOnlyFilesystemFilesystemLoopStaleNetworkFileHandleInvalidInputInvalidDataTimedOutWriteZeroStorageFullNotSeekableFilesystemQuotaExceededFileTooLargeResourceBusyExecutableFileBusyDeadlockCrossesDevicesTooManyLinksInvalidFilenameArgumentListTooLongInterruptedUnsupportedUnexpectedEofOutOfMemoryUncategorizedcannot_set_a_0_duration_timeoutconnection_timed_out
mov qword [rsp + 0x40], rax
mov eax, 1
test rax, rax
je 0x14008f99a
mov rcx, qword [rsp + 0x40]
mov qword [rsi + 8], rcx
mov qword [rsi], 0
jmp 0x14008f868
mov rax, qword [rsp + 0x30]
movzx ecx, word [rsp + 0x22]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov word [rsp + 0x50], cx
xor eax, eax
test rax, rax
jne 0x14008f965
movdqu xmm6, xmmword [rsp + 0x40]
pshufd xmm0, xmm6, 0xee
movq rcx, xmm0
test rcx, rcx
je 0x14008f9d6
movzx r8d, word [rsp + 0x50]
mov rax, qword [rcx + 0x20]
mov r14, qword [rcx + 0x28]
movzx edx, word [rax]
cmp edx, 0x17
je 0x14008fa22
cmp edx, 2
je 0x14008f9ee
mov rcx, r14
test r14, r14
jne 0x14008f9b5
movq xmm6, xmm6
movq rcx, xmm6
call sub.ws2_32.dll_freeaddrinfo
mov ecx, 4
xor eax, eax
xor edx, edx
jmp 0x14008fc2d
mov dword [rsp + 0x24], r8d
cmp qword [rcx + 0x10], 0xf
jbe 0x14008fc48
movq xmm0, r14
punpcklqdq xmm6, xmm0
movzx ebx, word [rax + 2]
rol bx, 8
mov r13d, dword [rax + 4]
mov bpl, 1
lea r15, [0x1401dba98]
xor r12d, r12d
jmp 0x14008fa79
mov dword [rsp + 0x24], r8d
cmp qword [rcx + 0x10], 0x1b
jbe 0x14008fc48
movq xmm0, r14
punpcklqdq xmm6, xmm0
movzx edi, word [rax + 2]
rol di, 8
mov ecx, dword [rax + 4]
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rax + 0x18]
mov dword [rsp + 0x28], ecx
movdqu xmm0, xmmword [rax + 8]
mov ebx, dword [rax + 8]
mov r13d, ebx
shl r13d, 0x10
pshufd xmm1, xmm0, 0xe9
movq r15, xmm1
pshufd xmm7, xmm0, 0xff
shr ebx, 0x10
mov r12w, 1
xor ebp, ebp
movzx eax, byte [0x140259141]
mov edx, pe_nt_image_headers64
xor ecx, ecx
call fcn.14008b700
test rax, rax
je 0x14008fc48
test bpl, bpl
mov r9d, dword [rsp + 0x24]
cmove edi, r9d
cmovne ebx, r9d
mov word [rax], r12w
mov dword [rax + 2], r13d
mov word [rax + 6], bx
mov qword [rax + 8], r15
movd dword [rax + 0x10], xmm7
mov ecx, dword [rsp + 0x2c]
mov dword [rax + 0x14], ecx
mov ecx, dword [rsp + 0x28]
mov dword [rax + 0x18], ecx
mov word [rax + 0x1c], di
mov qword [rsp + 0xb0], 4
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 1
test r14, r14
je 0x14008fc0b
mov edi, 1
lea rcx, [rsp + 0xb0]
lea r11, [0x1401dba98]
mov rdx, r14
mov r10, qword [rdx + 0x20]
mov r14, qword [rdx + 0x28]
movzx r8d, word [r10]
cmp r8d, 0x17
je 0x14008fb4b
cmp r8d, 2
je 0x14008fb31
mov rdx, r14
test r14, r14
jne 0x14008fb0c
jmp 0x14008fc0b
cmp qword [rdx + 0x10], 0xf
jbe 0x14008fc48
mov r12d, dword [r10 + 4]
xor r13d, r13d
mov ebp, r9d
mov r15, r11
jmp 0x14008fb86
cmp qword [rdx + 0x10], 0x1b
jbe 0x14008fc48
mov r8d, dword [r10 + 4]
mov ebp, dword [r10 + 8]
mov ebx, dword [r10 + 0x18]
movdqu xmm0, xmmword [r10 + 8]
mov r12d, ebp
shl r12d, 0x10
pshufd xmm1, xmm0, 0xe9
movq r15, xmm1
pshufd xmm7, xmm0, 0xff
shr ebp, 0x10
mov r13w, 1
cmp rdi, qword [rsp + 0xb0]
je 0x14008fbd6
mov rdx, rdi
shl rdx, 5
mov word [rax + rdx], r13w
mov dword [rax + rdx + 2], r12d
mov word [rax + rdx + 6], bp
mov qword [rax + rdx + 8], r15
movd dword [rax + rdx + 0x10], xmm7
mov dword [rax + rdx + 0x14], r8d
mov dword [rax + rdx + 0x18], ebx
mov word [rax + rdx + 0x1c], r9w
inc rdi
mov qword [rsp + 0xc0], rdi
test r14, r14
jne 0x14008fb09
jmp 0x14008fc0b
mov rdx, rdi
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x28], r8d
call fcn.1400868a0
mov r8d, dword [rsp + 0x28]
lea r11, [0x1401dba98]
lea rcx, [rsp + 0xb0]
mov r9d, dword [rsp + 0x24]
mov rax, qword [rsp + 0xb8]
jmp 0x14008fb90
movq rcx, xmm6
call sub.ws2_32.dll_freeaddrinfo
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
shl rax, 5
add rax, rcx
mov qword [rsi], rcx
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rax
jmp 0x14008f868
ud2