Function at 0x140096e7c
Capabilities:
Resolve dns

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x80
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x90], rdi
mov rax, qword [0x1402bff08]
xor rax, rbp
mov qword [rbp + 0x48], rax
xor r15d, r15d
mov qword [rbp + 0x10], rdx
and qword [rbp], r15
mov rsi, rcx
mov ecx, 1
mov r14, r8
mov dword [rbp + 8], ecx
mov rdi, rdx
test r8, r8
je 0x140096ee7
xor eax, eax
xorps xmm0, xmm0
movups xmmword [r8], xmm0
mov qword [r8 + 0x10], rax
mov dword [r8 + 0x18], eax
cmp byte [rsi], 0x5b
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
mov dword [rbp + 0x20], ecx
movabs r12, 0xffffffffffffff0
mov dword [rbp + 0x24], 6
movups xmmword [rbp + 0x28], xmm0
movups xmmword [rbp + 0x38], xmm0
jne 0x140096f69
mov edx, 0x1000
mov rcx, rsi
call fcn.1401ccb7c
movsxd rbx, eax
mov rcx, rax
lea rax, [rbx + 0xf]
cmp rax, rbx
ja 0x140096f2e
mov rax, r12
and rax, 0xfffffffffffffff0
call fcn.1401c1440
sub rsp, rax
lea rdi, [rsp + 0x30]
cmp ecx, 2
jl 0x1400970a2
lea eax, [rcx - 2]
mov rdx, rbx
movsxd r9, eax
lea r8, [rsi + 1]
mov rcx, rdi
call section..text
mov byte [rbx + rdi - 2], r15b
mov rsi, rdi
mov rdi, qword [rbp + 0x10]
test rsi, rsi
jne 0x140096f73
xor r12d, r12d
jmp 0x140096f99
and dword [rsp + 0x28], r15d
or r9d, 0xffffffff
and qword [rsp + 0x20], r15
mov r8, rsi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r12d, [rax*2 + 2]
movsxd rbx, r12d
test rdi, rdi
jne 0x140096fa6
xor r13d, r13d
jmp 0x140096fcc
and dword [rsp + 0x28], r15d
or r9d, 0xffffffff
and qword [rsp + 0x20], r15
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r13d, [rax*2 + 2]
movsxd rcx, r13d
movabs rdx, 0xffffffffffffff0
test r12d, r12d
jne 0x140096fe2
xor edi, edi
jmp 0x140096fff
lea rax, [rbx + 0xf]
cmp rax, rbx
ja 0x140096fee
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1401c1440
sub rsp, rax
lea rdi, [rsp + 0x30]
test r13d, r13d
jne 0x140097008
xor ebx, ebx
jmp 0x140097025
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x140097014
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1401c1440
sub rsp, rax
lea rbx, [rsp + 0x30]
test rdi, rdi
je 0x140097048
mov dword [rsp + 0x28], r12d
or r9d, 0xffffffff
mov r8, rsi
mov qword [rsp + 0x20], rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test rbx, rbx
je 0x14009706c
mov r8, qword [rbp + 0x10]
or r9d, 0xffffffff
mov dword [rsp + 0x28], r13d
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r9, [rbp]
mov rdx, rbx
lea r8, [rbp + 0x18]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_GetAddrInfoW]
mov ebx, eax
test eax, eax
je 0x140097099
mov rcx, qword [rbp]
test rcx, rcx
je 0x140097095
call qword [sym.imp.WS2_32.dll_FreeAddrInfoW]
mov eax, ebx
jmp 0x1400970f1
mov rbx, qword [rbp]
test rbx, rbx
jne 0x1400970a7
or eax, 0xffffffff
jmp 0x1400970f1
mov edi, dword [rbp + 8]
test edi, edi
jle 0x1400970e4
cmp dword [rbx + 4], 2
je 0x1400970ba
cmp dword [rbx + 4], 0x17
jne 0x1400970db
mov r9, qword [rbx + 0x10]
mov edx, 0x1c
mov r8, qword [rbx + 0x20]
movsxd rax, r15d
imul rcx, rax, 0x1c
add rcx, r14
call section..text
inc r15d
dec edi
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400970aa
mov rcx, qword [rbp]
call qword [sym.imp.WS2_32.dll_FreeAddrInfoW]
mov eax, r15d
mov rcx, qword [rbp + 0x48]
xor rcx, rbp
call fcn.1401c0ed0
mov rbx, qword [rbp + 0x80]
mov rsi, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x90]
lea rsp, [rbp + 0x50]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret