Function at 0x1400a9e3c
Capabilities:
Resolve dns

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x90
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa0], rdi
mov rax, qword [0x14030cf00]
xor rax, rbp
mov qword [rbp + 0x50], rax
xor r12d, r12d
mov dword [rbp + 0x10], r9d
mov qword [rbp + 0x18], rdx
mov r15, r8
mov dword [rbp + 4], r12d
mov rdi, rdx
mov qword [rbp + 8], r12
mov r14, rcx
mov dword [rbp], r12d
test r8, r8
je 0x1400a9eb0
test r9d, r9d
jle 0x1400a9eb0
xor eax, eax
xorps xmm0, xmm0
movups xmmword [r8], xmm0
mov qword [r8 + 0x10], rax
mov dword [r8 + 0x18], eax
cmp byte [rcx], 0x5b
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov dword [rbp + 0x28], 1
movabs rbx, 0xffffffffffffff0
mov dword [rbp + 0x2c], 6
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
jne 0x1400a9f80
mov edx, 0x1000
call fcn.1401e9dbc
movsxd rsi, eax
mov rcx, rax
lea rax, [rsi + 0xf]
cmp rax, rsi
ja 0x1400a9efc
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1401da3f0
sub rsp, rax
lea rdi, [rsp + 0x30]
cmp ecx, 2
jl 0x1400aa0b2
lea rbx, [rsi - 2]
inc r14
test rbx, rbx
je 0x1400a9f75
test rdi, rdi
jne 0x1400a9f34
call fcn.1401e8db4
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x1400a9f70
test r14, r14
je 0x1400a9f4e
cmp rsi, rbx
jb 0x1400a9f4e
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call fcn.14020df90
jmp 0x1400a9f75
mov r8, rsi
xor edx, edx
mov rcx, rdi
call fcn.14020e630
test r14, r14
je 0x1400a9f27
cmp rsi, rbx
jae 0x1400a9f75
call fcn.1401e8db4
mov dword [rax], 0x22
call fcn.1401e7e2c
mov byte [rbx + rdi], r12b
mov r14, rdi
mov rdi, qword [rbp + 0x18]
test r14, r14
jne 0x1400a9f8a
mov esi, r12d
jmp 0x1400a9faf
mov dword [rsp + 0x28], r12d
or r9d, 0xffffffff
mov r8, r14
mov qword [rsp + 0x20], r12
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea esi, [rax*2 + 2]
movsxd rbx, esi
test rdi, rdi
je 0x1400a9fdd
mov dword [rsp + 0x28], r12d
or r9d, 0xffffffff
mov r8, rdi
mov qword [rsp + 0x20], r12
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r12d, [rax*2 + 2]
movsxd rcx, r12d
movabs rdx, 0xffffffffffffff0
test esi, esi
jne 0x1400a9ff2
xor edi, edi
jmp 0x1400aa00f
lea rax, [rbx + 0xf]
cmp rax, rbx
ja 0x1400a9ffe
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1401da3f0
sub rsp, rax
lea rdi, [rsp + 0x30]
test r12d, r12d
jne 0x1400aa018
xor ebx, ebx
jmp 0x1400aa035
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1400aa024
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1401da3f0
sub rsp, rax
lea rbx, [rsp + 0x30]
test rdi, rdi
je 0x1400aa057
mov dword [rsp + 0x28], esi
or r9d, 0xffffffff
mov r8, r14
mov qword [rsp + 0x20], rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test rbx, rbx
je 0x1400aa07b
mov r8, qword [rbp + 0x18]
or r9d, 0xffffffff
mov dword [rsp + 0x28], r12d
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r9, [rbp + 8]
mov rdx, rbx
lea r8, [rbp + 0x20]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_GetAddrInfoW]
test eax, eax
je 0x1400aa0a9
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x1400aa0a2
call qword [sym.imp.WS2_32.dll_FreeAddrInfoW]
xor eax, eax
jmp 0x1400aa1be
mov rbx, qword [rbp + 8]
test rbx, rbx
jne 0x1400aa0ba
or eax, 0xffffffff
jmp 0x1400aa1be
mov r13d, dword [rbp]
mov rax, rbx
cmp dword [rax + 4], 2
je 0x1400aa0cd
cmp dword [rax + 4], 0x17
jne 0x1400aa0d0
inc r13d
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400aa0c1
mov dword [rbp], r13d
mov r13d, dword [rbp + 0x10]
test r15, r15
je 0x1400aa10d
test r13d, r13d
jne 0x1400aa10d
movsxd rbx, dword [rbp]
xor r9d, r9d
imul rcx, rbx, 0x1c
xor r8d, r8d
xor edx, edx
call fcn.14009fd78
mov qword [r15], rax
mov r13d, ebx
mov rbx, qword [rbp + 8]
mov r15, rax
test rbx, rbx
je 0x1400aa1b2
test r13d, r13d
jle 0x1400aa1ae
cmp dword [rbx + 4], 2
je 0x1400aa12b
cmp dword [rbx + 4], 0x17
jne 0x1400aa1a1
movsxd rdi, dword [rbp + 4]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x20]
imul rax, rdi, 0x1c
add rax, r15
test rcx, rcx
je 0x1400aa199
test rax, rax
jne 0x1400aa155
call fcn.1401e8db4
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x1400aa194
test rdx, rdx
je 0x1400aa16d
cmp rcx, 0x1c
ja 0x1400aa16d
mov r8, rcx
mov rcx, rax
call fcn.14020df90
jmp 0x1400aa199
xor r8d, r8d
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r8
mov dword [rax + 0x18], r8d
test rdx, rdx
je 0x1400aa148
cmp rcx, 0x1c
jbe 0x1400aa199
call fcn.1401e8db4
mov dword [rax], 0x22
call fcn.1401e7e2c
inc edi
mov dword [rbp + 4], edi
dec r13d
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400aa116
mov rbx, qword [rbp + 8]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_FreeAddrInfoW]
mov eax, dword [rbp + 4]
mov rcx, qword [rbp + 0x50]
xor rcx, rbp
call fcn.1401d9e80
mov rbx, qword [rbp + 0x90]
mov rsi, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xa0]
lea rsp, [rbp + 0x60]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret