Function at 0x14000c4c0
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
movdqa xmmword [rsp + 0x220], xmm6
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
call fcn.140007270
mov r15, rax
test r15b, 1
je 0x14000c5b6
mov r14, qword [rsp + 0x38]
test r14, r14
je 0x14000c5aa
mov rax, qword [rsp + 0x30]
lea rcx, [r14 - 1]
movzx edx, byte [rax]
inc rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
cmp dl, 0x3a
jne 0x14000c5aa
mov dword [rsp + 0xb0], 0xa
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xb4], 1
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
call fcn.140006cb0
cmp ax, 1
je 0x14000c573
mov qword [rsp + 0x38], r14
test ax, ax
je 0x14000c5b6
movabs rax, 0xffffffff00
and r15, rax
shr r15, 8
movzx eax, dx
shl rax, 0x30
shl r15, 0x10
or r15, rax
mov eax, 1
or rax, r15
cmp ax, 1
jne 0x14000c5c4
mov rax, qword [rsp + 0x38]
jmp 0x14000c6d2
xor eax, eax
mov qword [rsp + 0x38], r14
test ax, ax
jne 0x14000c573
xor r15d, r15d
xor eax, eax
or rax, r15
cmp ax, 1
je 0x14000c5a0
movzx ecx, ax
mov rax, rbx
test ecx, ecx
jne 0x14000c6d2
test rbx, rbx
je 0x14000c92e
lea rax, [rbx - 1]
lea rcx, [rdi + 1]
movzx edx, byte [rdi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
cmp dl, 0x5b
jne 0x14000c92e
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xa0], xmm0
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
mov r8d, 8
call fcn.140007050
cmp rax, 8
jne 0x14000c784
movdqa xmm6, xmmword [rsp + 0xa0]
movdqa xmm0, xmm6
psrlw xmm0, 8
psllw xmm6, 8
por xmm6, xmm0
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
xor r13d, r13d
test r8, r8
je 0x14000c844
cmp byte [rcx], 0x25
jne 0x14000c86e
lea r11, [r8 - 1]
lea r10, [rcx + 1]
xor r14d, r14d
mov ebp, 0xa
mov qword [rsp + 0x28], r11
mov r15, r10
xor r12d, r12d
xor r13d, r13d
mov eax, 0
test r11, r11
je 0x14000c6a3
movzx r9d, byte [r15]
add r9d, 0xffffffd0
xor eax, eax
cmp r9d, 0xa
setb al
jae 0x14000c6a3
dec r11
inc r15
cmp eax, 1
jne 0x14000c846
mov eax, r14d
mul ebp
jo 0x14000c85e
mov r14d, eax
add r14d, r9d
jb 0x14000c85e
inc r12
mov eax, 0
test r11, r11
jne 0x14000c68a
jmp 0x14000c6a3
test rax, rax
jne 0x14000c938
mov edi, r15d
shr edi, 0x10
shr r15, 0x18
xor ebx, ebx
movzx eax, byte [0x140026190]
mov rcx, qword [0x140026178]
test rcx, rcx
jne 0x14000c713
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14000cfe5
mov rcx, rax
mov qword [0x140026178], rax
mov r8d, 0x20
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14000cfe5
mov word [rax], bx
mov rcx, r15
shl rcx, 8
movzx edx, dil
or rdx, rcx
shr r15, 0x18
mov word [rax + 6], r15w
mov dword [rax + 2], edx
movq qword [rax + 8], xmm6
pshufd xmm0, xmm6, 0xee
movd dword [rax + 0x10], xmm0
mov dword [rax + 0x14], 0
mov dword [rax + 0x18], r14d
mov word [rax + 0x1c], bp
mov rcx, rax
add rcx, 0x20
mov qword [rsi], rax
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rcx
jmp 0x14000cac8
test dl, 1
jne 0x14000c92e
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000c92e
mov rdx, qword [rsp + 0x30]
cmp byte [rdx], 0x3a
jne 0x14000c92e
cmp rcx, 1
je 0x14000c92e
add rcx, 0xfffffffffffffffe
movzx r8d, byte [rdx + 1]
add rdx, 2
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
cmp r8b, 0x3a
jne 0x14000c92e
mov qword [rsp + 0x6e], 0
mov qword [rsp + 0x68], 0
cmp rax, 8
jae 0x14000cfe5
mov r8d, 7
sub r8, rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x68]
call fcn.140007050
cmp rax, 9
jae 0x14000cfe5
cmp rax, 8
je 0x14000cfe5
mov ecx, 8
sub rcx, rax
lea rcx, [rsp + rcx*2]
add rcx, 0xa0
add rax, rax
lea rdx, [rsp + 0x68]
mov r8, rax
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14000c628
jmp 0x14000c86e
test r12, r12
je 0x14000c85b
mov r13d, 1
mov qword [rsp + 0x28], r11
mov r10, r15
jmp 0x14000c85e
xor r13d, r13d
cmp r13d, 1
jne 0x14000c86e
mov rcx, r10
mov r8, qword [rsp + 0x28]
jmp 0x14000c875
test r13d, r13d
cmove r14d, r13d
test r8, r8
je 0x14000c92e
cmp byte [rcx], 0x5d
jne 0x14000c92e
mov r15, r8
dec r15
je 0x14000c8e4
add r8, 0xfffffffffffffffe
movzx eax, byte [rcx + 1]
add rcx, 2
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r8
cmp al, 0x3a
jne 0x14000c8e4
mov dword [rsp + 0xb0], 0xa
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xb4], 1
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
call fcn.140006cb0
mov ebp, edx
cmp ax, 1
jne 0x14000c8e6
jmp 0x14000c8f0
xor eax, eax
mov qword [rsp + 0x38], r15
test ax, ax
je 0x14000c92e
xor eax, eax
test al, al
jne 0x14000c938
cmp qword [rsp + 0x38], 0
jne 0x14000c938
movd r15d, xmm6
pshufd xmm6, xmm6, 0xf9
shl r15, 8
mov bx, 1
xor edi, edi
movzx eax, byte [0x140026190]
mov rcx, qword [0x140026178]
test rcx, rcx
jne 0x14000c713
jmp 0x14000c6fa
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rbx
movabs r12, 0x8080808080808080
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], 1
movabs rax, 0x3a0000003a
mov qword [rsp + 0xc8], rax
lea rax, [rdi + 7]
and rax, 0xfffffffffffffff8
sub rax, rdi
mov cl, 0x3a
movdqa xmm0, xmmword [str.::::::::::::::::]
movdqa xmm6, xmmword [0x1400214b0]
mov r14, rbx
jmp 0x14000c9b9
cmp r14, rbx
ja 0x14000cab6
mov rdx, r14
mov r8, r14
cmp r14, rax
jb 0x14000c9dd
mov r9d, r14d
sub r9d, eax
and r9d, 0xf
mov rdx, r14
mov r8, rax
sub rdx, r9
jb 0x14000cfe5
mov r9, rdx
neg r9
mov r11, r14
nop word cs:[rax + rax]
mov r10, r11
mov r11, r9
add r11, r10
je 0x14000ca20
lea r11, [r10 - 1]
cmp byte [rdi + r10 - 1], 0x3a
jne 0x14000c9f0
lea r14, [r9 + r10]
dec r14
add r14, rdx
jmp 0x14000ca74
mov r9, rdx
cmp rdx, r8
jbe 0x14000ca56
lea rdx, [r9 - 0x10]
movdqu xmm1, xmmword [rdi + 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, r12
je 0x14000ca20
cmp r9, r14
ja 0x14000cfe5
nop
test r9, r9
je 0x14000cab6
lea r14, [r9 - 1]
cmp byte [rdi + r9 - 1], 0x3a
mov r9, r14
jne 0x14000ca60
cmp r14, rbx
jae 0x14000c9b0
cmp byte [rdi + r14], cl
jne 0x14000c9b0
lea r13, [r14 + 1]
lea rcx, str.invalid_port_value
sub rbx, r13
je 0x14000cabd
lea r8, [rdi + r14]
inc r8
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x14000cae4
cmp eax, 0x2b
jne 0x14000caea
dec rbx
je 0x14000cabd
inc r8
jmp 0x14000caea
lea rcx, str.invalid_socket_address
mov qword [rsi + 8], rcx
mov qword [rsi], 0
movaps xmm6, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rbx, 1
je 0x14000cabd
cmp rbx, 5
jae 0x14000cb7e
xor eax, eax
xor r15d, r15d
movzx edx, byte [r8 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14000cabd
add r15d, r15d
lea r15d, [r15 + r15*4]
add r15d, edx
inc rax
cmp rbx, rax
jne 0x14000caf9
mov word [rsp + 0x26], r15w
mov rax, qword [0x140026100]
cmp rax, 3
jne 0x14000cc02
cmp r14, 0x17f
ja 0x14000cc14
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + r14 + 0xa0], 0
cmp r14, 0xe
ja 0x14000cbc4
xor ecx, ecx
cmp byte [rsp + rcx + 0xa0], 0
je 0x14000cc96
inc rcx
cmp r13, rcx
jne 0x14000cb63
jmp 0x14000ccf6
xor r9d, r9d
mov r10w, 0xa
xor r15d, r15d
cmp rbx, r9
je 0x14000cb18
movzx r11d, byte [r8 + r9]
mov eax, r15d
mul r10w
seto dl
add r11d, 0xffffffd0
cmp r11d, 9
ja 0x14000cabd
test dl, dl
jne 0x14000cabd
mov r15d, eax
inc r9
add r15w, r11w
jae 0x14000cb89
jmp 0x14000cabd
lea rax, [rsp + 0xa7]
and rax, 0xfffffffffffffff8
sub rax, rbx
jne 0x14000cbdd
lea rcx, [r14 - 0xf]
xor eax, eax
jmp 0x14000cc3c
cmp rax, r13
cmovae rax, r13
xor ecx, ecx
cmp byte [rsp + rcx + 0xa0], 0
je 0x14000cc96
inc rcx
cmp rax, rcx
jne 0x14000cbe6
lea rcx, [r14 - 0xf]
jmp 0x14000cc68
call fcn.14001f0a0
cmp r14, 0x17f
jbe 0x14000cb3c
lea rcx, [rsp + 0x68]
lea r9, [rsp + 0x26]
mov rdx, rdi
mov r8, r14
call fcn.14001f100
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x14000cd0c
jmp 0x14000cd38
movdqu xmm0, xmmword [rsp + rax + 0xa0]
movdqa xmm1, xmm0
paddq xmm1, xmm6
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
test rdx, r12
jne 0x14000cc6d
add rax, 0x10
cmp rax, rcx
jbe 0x14000cc3c
sub r13, rax
je 0x14000ccf6
lea rdx, [rsp + rax]
add rdx, 0xa0
xor ecx, ecx
cmp byte [rdx + rcx], 0
je 0x14000cc93
inc rcx
cmp r13, rcx
jne 0x14000cc83
jmp 0x14000ccf6
add rcx, rax
cmp rcx, r14
jne 0x14000ccf6
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x88], 0
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x88]
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x14000cd16
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
jmp 0x14000ccfd
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsp + 0x70], rax
mov eax, 1
test rax, rax
je 0x14000cd38
mov rcx, qword [rsp + 0x70]
jmp 0x14000cabd
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov word [rsp + 0x80], r15w
xor eax, eax
test rax, rax
jne 0x14000cd0c
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14000cd6e
movzx r9d, word [rsp + 0x80]
mov r8, qword [rax + 0x20]
mov r15, qword [rax + 0x28]
movzx edx, word [r8]
cmp edx, 0x17
je 0x14000cd82
cmp edx, 2
je 0x14000cdbe
mov rax, r15
test r15, r15
jne 0x14000cd50
call qword [sym.imp.ws2_32.dll_freeaddrinfo]
mov eax, 4
xor ebx, ebx
xor ecx, ecx
jmp 0x14000cfca
cmp qword [rax + 0x10], 0x1b
jbe 0x14000cfe5
mov rbx, qword [r8 + 8]
mov r14, qword [r8 + 0x10]
mov ebp, dword [r8 + 4]
mov eax, dword [r8 + 0x18]
mov dword [rsp + 0x28], eax
mov rdi, r14
shld rdi, rbx, 0x20
shr r14, 0x20
mov r12d, ebx
shl r12d, 0x10
shr ebx, 0x10
mov r13w, 1
jmp 0x14000cdda
cmp qword [rax + 0x10], 0xf
jbe 0x14000cfe5
mov r12d, dword [r8 + 4]
lea rdi, [0x140022c50]
xor r13d, r13d
mov ebx, r9d
mov word [rsp + 0x22], r9w
mov qword [rsp + 0x98], rcx
movzx eax, byte [0x140026190]
mov rcx, qword [0x140026178]
test rcx, rcx
jne 0x14000ce14
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14000cfe5
mov rcx, rax
mov qword [0x140026178], rax
mov r8d, 0x80
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14000cfe5
mov word [rax], r13w
mov dword [rax + 2], r12d
mov word [rax + 6], bx
mov qword [rax + 8], rdi
mov dword [rax + 0x10], r14d
mov dword [rax + 0x14], ebp
mov ecx, dword [rsp + 0x28]
mov dword [rax + 0x18], ecx
movzx ecx, word [rsp + 0x22]
mov word [rax + 0x1c], cx
mov qword [rsp + 0xa0], 4
mov qword [rsp + 0xa8], rax
mov ebx, 1
mov qword [rsp + 0xb0], rbx
test r15, r15
je 0x14000cfac
mov rdx, r15
mov r10, qword [rdx + 0x20]
mov r15, qword [rdx + 0x28]
movzx r8d, word [r10]
cmp r8d, 0x17
je 0x14000cea4
cmp r8d, 2
je 0x14000ceef
mov rdx, r15
test r15, r15
jne 0x14000ce7f
jmp 0x14000cfac
cmp qword [rdx + 0x10], 0x1b
jbe 0x14000cfe5
mov rbp, qword [r10 + 8]
movzx edx, word [r10 + 2]
rol dx, 8
mov word [rsp + 0x24], dx
mov r8, qword [r10 + 0x10]
mov edx, dword [r10 + 4]
mov dword [rsp + 0x28], edx
mov r10d, dword [r10 + 0x18]
mov r14, r8
shld r14, rbp, 0x20
shr r8, 0x20
mov edi, ebp
shl edi, 0x10
shr ebp, 0x10
mov r13w, 1
mov r12d, ecx
jmp 0x14000cf16
cmp qword [rdx + 0x10], 0xf
jbe 0x14000cfe5
mov edi, dword [r10 + 4]
xor r13d, r13d
mov ebp, ecx
lea r14, [0x140022c50]
movzx r12d, word [rsp + 0x24]
mov r8, r11
mov r10d, r9d
cmp rbx, qword [rsp + 0xa0]
je 0x14000cf70
mov rdx, rbx
shl rdx, 5
mov word [rax + rdx], r13w
mov dword [rax + rdx + 2], edi
mov word [rax + rdx + 6], bp
mov qword [rax + rdx + 8], r14
mov r11, r8
mov dword [rax + rdx + 0x10], r8d
mov r8d, dword [rsp + 0x28]
mov dword [rax + rdx + 0x14], r8d
mov r9d, r10d
mov dword [rax + rdx + 0x18], r10d
mov word [rax + rdx + 0x1c], r12w
inc rbx
mov qword [rsp + 0xb0], rbx
test r15, r15
jne 0x14000ce7c
jmp 0x14000cfac
lea rcx, [rsp + 0xa0]
mov rdx, rbx
mov qword [rsp + 0x90], r8
mov dword [rsp + 0x64], r10d
call fcn.14001f5e0
mov r10d, dword [rsp + 0x64]
mov r8, qword [rsp + 0x90]
movzx ecx, word [rsp + 0x22]
mov rax, qword [rsp + 0xa8]
jmp 0x14000cf20
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.ws2_32.dll_freeaddrinfo]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
shl rbx, 5
add rbx, rax
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rbx
jmp 0x14000cac8
ud2