Function at 0x18002f5a0
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x1800a0040]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov rsi, r9
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x30], rdx
mov r14, qword [rbp + 0x120]
xor r15d, r15d
mov dword [rsp + 0x20], r15d
mov qword [rsp + 0x28], r15
lea rdx, [r9 + 0x50]
lea rcx, [rbp + 0x70]
call fcn.180006410
nop
lea rbx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova rbx, qword [rbp + 0x70]
lea rdx, [rsi + 0x30]
lea rcx, [rbp - 0x30]
call fcn.180006410
mov dword [rsp + 0x20], 0x60
lea rdi, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x18002f63d
cmp byte [rdi], r15b
jne 0x18002f640
mov rdi, r15
test rbx, rbx
je 0x18002f64a
cmp byte [rbx], 0
jne 0x18002f64d
mov rbx, r15
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r9, [rsp + 0x28]
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov edx, eax
lea rcx, [rsp + 0x78]
call fcn.18002d8c0
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x18002f6b7
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002f6b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002fbc9
call fcn.180050b2c
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], setsockopt
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x18002f705
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002f700
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002fbcf
call fcn.180050b2c
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov r15, 0xffffffffffffffff
cmp dword [r14], 0
je 0x18002f73e
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor r13d, r13d
mov qword [rsp + 0x68], r13
lea rcx, [rsp + 0x58]
lea ebx, [r15 + 0x62]
mov r14d, r13d
jmp 0x18002fa2a
lea rdx, [rsi + 0x50]
lea rcx, [rbp - 0x50]
call fcn.180006410
nop
mov dword [rsp + 0x20], 0xe2
lea rdx, [rsi + 0x30]
lea rcx, [rbp + 0x90]
call fcn.180006410
nop
mov rsi, qword [rsp + 0x28]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
xor r13d, r13d
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x20], 0x3e6
test rsi, rsi
je 0x18002fa1b
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x50]
call fcn.180006410
nop
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x18002f7c3
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18002f7b0
lea rcx, [rbp + 0x50]
call fcn.18000f0d0
mov ecx, 0x18
call fcn.1800506b0
mov r14, rax
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
mov qword [rsp + 0x70], rax
mov ecx, 0x18
call fcn.1800506b0
mov qword [rbp - 0x70], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, [0x18008fd80]
mov qword [rax], rcx
mov qword [rax + 0x10], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1800a2a00]
mov rax, qword gs:[0x58]
lea r12, [rax + rcx*8]
mov ecx, 2
mov eax, dword [rsi + 4]
cmp eax, 2
je 0x18002f843
cmp eax, 0x17
jne 0x18002f9d1
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov dword [rbp - 0x58], r13d
mov qword [rbp - 0x70], 2
cmp qword [rsi + 0x10], 0x80
ja 0x18002fbe1
mov r8, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x20]
lea rcx, [rbp - 0x70]
call fcn.18007a3d0
lea rdi, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdi, qword [rbp - 0x50]
mov rbx, qword [rbp - 0x40]
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0xf
cmova rdx, qword [rbp + 0x50]
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp - 0x10], xmm0
movsd xmm1, qword [rbp - 0x60]
movsd qword [rbp], xmm1
mov eax, dword [rbp - 0x58]
mov dword [rbp + 8], eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], r13
mov r8, qword [rbp + 0x60]
lea rcx, [rbp + 0x10]
call fcn.180006790
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], r13
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x30]
call fcn.180006790
nop
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x18002f949
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rbp]
movsd qword [rdx + 0x10], xmm1
mov eax, dword [rbp + 8]
mov dword [rdx + 0x18], eax
movaps xmm0, xmmword [rbp + 0x10]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x20]
movups xmmword [rdx + 0x30], xmm1
mov ebx, select
mov qword [rbp + 0x28], rbx
mov byte [rbp + 0x10], 0
movaps xmm0, xmmword [rbp + 0x30]
movups xmmword [rdx + 0x40], xmm0
movaps xmm1, xmmword [rbp + 0x40]
movups xmmword [rdx + 0x50], xmm1
mov edx, ebx
mov qword [rbp + 0x48], rbx
mov byte [rbp + 0x30], 0
add qword [r14 + 8], 0x60
jmp 0x18002f95d
lea r8, [rbp - 0x10]
mov rcx, r14
call fcn.1800300c0
mov rdx, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x18002f994
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002f98f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002fbdb
call fcn.180050b2c
cmp rbx, 0xf
jbe 0x18002f9cc
lea rdx, [rbx + 1]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002f9c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002fbdb
call fcn.180050b2c
mov ecx, 2
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x18002f832
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x18002fa20
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002fa14
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002fbd5
call fcn.180050b2c
jmp 0x18002fa20
mov r14, qword [rsp + 0x38]
lea rcx, [rsp + 0x38]
mov ebx, 8
mov rdi, qword [rsp + 0x50]
mov qword [rdi], r14
mov rax, qword [rcx + 8]
mov qword [rdi + 8], rax
mov qword [rcx], r13
mov qword [rcx + 8], r13
mov rax, qword [rcx + 0x10]
mov qword [rdi + 0x10], rax
mov qword [rcx + 0x10], r13
or ebx, 0x10
mov dword [rsp + 0x20], ebx
test bl, 8
je 0x18002faa0
and ebx, 0xfffffff7
mov dword [rsp + 0x20], ebx
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x18002faa0
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18002fa9c
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18002fa9c
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov ebx, dword [rsp + 0x20]
test bl, 4
je 0x18002faee
and ebx, 0xfffffffb
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0xf
jbe 0x18002faee
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002fae8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002fc47
call fcn.180050b2c
nop
test bl, 2
je 0x18002fb45
and ebx, 0xfffffffd
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x18002fb35
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002fb30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002fbc3
call fcn.180050b2c
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], setsockopt
mov byte [rbp - 0x50], 0
test bl, 1
je 0x18002fb86
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x18002fb86
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18002fb86
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x18002fb86
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18002fb96
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rax, rdi
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.180050570
mov rbx, qword [rsp + 0x200]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
int3
mov ecx, 4
mov rax, qword [r12]
mov ecx, dword [rcx + rax]
cmp dword [0x1800a40a0], ecx
jle 0x18002fc22
lea rcx, [0x1800a40a0]
call fcn.180050638
cmp dword [0x1800a40a0], 0xffffffff
jne 0x18002fc22
lea rcx, [0x18007f660]
call fcn.180050b14
lea rcx, [0x1800a40a0]
call fcn.1800505cc
lea rax, [0x1800a0e08]
mov dword [rbp - 0x70], 0x2726
mov qword [rbp - 0x68], rax
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x70]
call fcn.18002d5d0
nop
call fcn.18005c4f8
int3