Function at 0x180061760
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x170
mov rax, qword [0x180acd980]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rdi, rcx
xor ebx, ebx
lea rcx, [rsp + 0x40]
call fcn.180043850
mov rdx, rax
movabs rax, 0x431bde82d7b634db
imul qword [rdx]
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rdi + 0x458], rdx
cmp dword [rdi + 0x4b0], 1
je 0x18006225f
xorps xmm0, xmm0
movups xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xe8], rbx
mov ecx, 0x20
call fcn.1803427a0
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xe0], 0x18
mov qword [rsp + 0xe8], 0x1f
movups xmm0, xmmword [str.ircserver.solstice.works]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x180403558]
movsd qword [rax + 0x10], xmm0
mov byte [rax + 0x18], bl
lea r9, [rsp + 0x125]
mov r8d, 0x8373
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x180061840
lea r8, [rsp + 0x125]
mov rdx, r9
lea rcx, [rsp + 0xb0]
call fcn.180043120
nop
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x80], xmm1
mov dword [rsp + 0x64], 2
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x6c], 6
lea rdx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0xf
cmova rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0xd0]
cmp qword [rsp + 0xe8], 0xf
cmova rcx, qword [rsp + 0xd0]
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x60]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x1800619b0
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0xf
jbe 0x180061948
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061943
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622f4
call fcn.180342c24
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], 0xf
mov byte [rsp + 0xb0], 0
mov rdx, qword [rsp + 0xe8]
cmp rdx, 0xf
jbe 0x18006225f
inc rdx
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800619a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622fa
call fcn.180342c24
jmp 0x18006225f
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
mov ecx, dword [rcx + 4]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
xorps xmm0, xmm0
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1800619e4
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.18000e500
mov rdx, qword [rsp + 0xe8]
cmp rdx, 0xf
jbe 0x180061a41
inc rdx
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061a3c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062293
call fcn.180342c24
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0xd0], xmm0
movups xmm1, xmmword [rsp + 0x100]
movups xmmword [rsp + 0xe0], xmm1
lea rcx, [rsp + 0x50]
call fcn.18005ec80
nop
lea rax, [rsp + 0x50]
cmp rdi, rax
je 0x180061a97
cmp qword [rdi], 0
je 0x180061a84
mov rcx, rdi
call fcn.18005d6d0
mov rcx, qword [rsp + 0x50]
mov qword [rdi], rcx
test rcx, rcx
je 0x180061a97
mov rax, qword [rcx]
call qword [rax + 8]
mov ecx, 0x18
call fcn.1803427a0
mov rdx, rax
mov qword [rsp + 0x40], rax
mov qword [rax + 8], rdi
lock inc dword [0x180ae62b8]
mov dword [rax + 0x10], 1
lea rax, [0x180403b58]
mov qword [rdx], rax
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x38], rbx
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
call qword [rax + 0x40]
test eax, eax
js 0x180062299
lea rcx, [rsp + 0x20]
call fcn.18005d6d0
mov ecx, 0x18
call fcn.1803427a0
mov rsi, rax
mov qword [rsp + 0x40], rax
mov qword [rax + 8], rdi
lock inc dword [0x180ae62b8]
mov dword [rax + 0x10], 1
lea rax, [0x180403b38]
mov qword [rsi], rax
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x38], rbx
mov rcx, qword [rdi]
mov qword [rsp + 0x28], rbx
test rcx, rcx
jne 0x180061b39
mov rcx, rbx
jmp 0x180061b54
mov rax, qword [rcx]
lea r8, [rsp + 0x28]
lea rdx, [0x180403d90]
call qword [rax]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x28], rcx
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
mov rdx, rsi
call qword [rax + 0x48]
test eax, eax
js 0x1800622a1
lea rcx, [rsp + 0x28]
call fcn.18005d6d0
nop
lea rcx, [rsp + 0x20]
call fcn.18005d6d0
mov qword [rsp + 0x20], rbx
mov rcx, qword [rdi]
mov qword [rsp + 0x28], rbx
test rcx, rcx
jne 0x180061b96
mov rcx, rbx
jmp 0x180061bb1
mov rax, qword [rcx]
lea r8, [rsp + 0x28]
lea rdx, [0x180403d90]
call qword [rax]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x28], rcx
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
call qword [rax + 0x30]
test eax, eax
js 0x1800622a9
lea rcx, [rsp + 0x28]
call fcn.18005d6d0
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rax, [0x180ae6168]
mov qword [rsp + 0x40], rax
lock inc qword [0x180ae6168]
mov rcx, qword [0x180ae6160]
test rcx, rcx
je 0x180061c33
mov qword [rsp + 0x20], rbx
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
call qword [rax + 0x30]
test eax, eax
js 0x1800622b1
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x48], rax
lock dec qword [0x180ae6168]
jmp 0x180061c4b
lock dec qword [0x180ae6168]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x48]
call fcn.18005f1e0
nop
cmp qword [rsp + 0x30], 0
je 0x180061c5d
lea rcx, [rsp + 0x30]
call fcn.18005d6d0
lea rsi, [rdi + 8]
lea rax, [rsp + 0x48]
cmp rsi, rax
je 0x180061c8c
cmp qword [rsi], 0
je 0x180061c79
mov rcx, rsi
call fcn.18005d6d0
mov rcx, qword [rsp + 0x48]
mov qword [rsi], rcx
test rcx, rcx
je 0x180061c8c
mov rax, qword [rcx]
call qword [rax + 8]
mov dword [rdi + 0x4b0], 1
mov r15, qword [rsp + 0xe0]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 5
jb 0x1800622b9
lea r13, [rsp + 0xd0]
cmp qword [rsp + 0xe8], 0xf
cmova r13, qword [rsp + 0xd0]
xorps xmm0, xmm0
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rbx
lea r12, [r15 + 5]
mov r14d, 0xf
lea rsi, [rsp + 0xf0]
cmp r12, r14
jbe 0x180061d82
mov r14, r12
or r14, 0xf
cmp r14, rcx
jbe 0x180061d40
mov r14, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1803427a0
test rax, rax
je 0x1800622ee
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180061d7a
mov eax, 0x16
cmp r14, rax
cmovb r14, rax
lea rcx, [r14 + 1]
test rcx, rcx
jne 0x180061d5a
mov rsi, rbx
jmp 0x180061d7a
cmp rcx, 0x1000
jb 0x180061d72
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800622be
jmp 0x180061d21
call fcn.1803427a0
mov rsi, rax
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x108], r14
mov eax, dword [str.ws:__]
mov dword [rsi], eax
movzx eax, byte [0x1804035a4]
mov byte [rsi + 4], al
lea rcx, [rsi + 5]
mov r8, r15
mov rdx, r13
call fcn.180381630
mov byte [rsi + r12], 0
mov r8d, 1
lea rdx, [0x18040358c]
lea rcx, [rsp + 0xf0]
call fcn.18002aa10
xorps xmm0, xmm0
movups xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x130], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x140], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0xf
cmova rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
lea rcx, [rsp + 0x130]
call fcn.18002aa10
xorps xmm0, xmm0
movups xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x110], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x120], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x38]
call fcn.180067400
nop
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea rax, [0x180ae61c8]
mov qword [rsp + 0x40], rax
lock inc qword [0x180ae61c8]
mov rcx, qword [0x180ae61c0]
test rcx, rcx
je 0x180061f02
mov qword [rsp + 0x20], rbx
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov rdx, qword [rsp + 0x90]
call qword [rax + 0x30]
test eax, eax
js 0x1800622c4
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x30], rax
lock dec qword [0x180ae61c8]
jmp 0x180061f1a
lock dec qword [0x180ae61c8]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
call fcn.18005eaf0
nop
mov qword [rsp + 0x28], rbx
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rbx
test rcx, rcx
jne 0x180061f31
mov rcx, rbx
jmp 0x180061f4c
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
lea rdx, [0x180403d90]
call qword [rax]
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
mov rax, qword [rcx]
lea r8, [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
call qword [rax + 0x38]
test eax, eax
js 0x1800622cc
lea rcx, [rsp + 0x20]
call fcn.18005d6d0
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x40], rax
mov ecx, 0x18
call fcn.1803427a0
mov rdx, rax
mov qword [rsp + 0x20], rax
mov qword [rax + 8], rdi
lock inc dword [0x180ae62b8]
mov dword [rax + 0x10], 1
lea rax, [0x180403b18]
mov qword [rdx], rax
mov qword [rsp + 0x20], rdx
mov rdi, qword [rsp + 0x28]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
test eax, eax
js 0x1800622d4
lea rcx, [rsp + 0x20]
call fcn.18005d6d0
nop
test rdi, rdi
je 0x180061fdc
lea rcx, [rsp + 0x40]
call fcn.18005d6d0
nop
cmp qword [rsp + 0x30], 0
je 0x180061fef
lea rcx, [rsp + 0x30]
call fcn.18005d6d0
nop
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x180062022
mov rax, 0xffffffffffffffff
lock xadd dword [rdi + 0x18], eax
sub eax, 1
jne 0x180062062
nop
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
mov r8, rdi
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov qword [rsp + 0x38], rbx
mov rdx, qword [rsp + 0x128]
cmp rdx, 0xf
jbe 0x180062071
inc rdx
mov rcx, qword [rsp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006206c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622dc
jmp 0x18006206c
test eax, eax
js 0x1800622e2
jmp 0x18006201d
call fcn.180342c24
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], 0xf
mov byte [rsp + 0x110], 0
mov rdx, qword [rsp + 0x148]
cmp rdx, 0xf
jbe 0x1800620d0
inc rdx
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800620cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622e8
call fcn.180342c24
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], 0xf
mov byte [rsp + 0x130], 0
mov rdx, qword [rsp + 0x108]
cmp rdx, 0xf
jbe 0x180062130
inc rdx
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006212a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622ee
call fcn.180342c24
nop
cmp qword [rsp + 0x48], 0
je 0x180062143
lea rcx, [rsp + 0x48]
call fcn.18005d6d0
nop
cmp qword [rsp + 0x50], 0
je 0x180062156
lea rcx, [rsp + 0x50]
call fcn.18005d6d0
nop
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0xf
jbe 0x180062199
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180062194
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622f4
call fcn.180342c24
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], 0xf
mov byte [rsp + 0xb0], 0
mov rdx, qword [rsp + 0xe8]
cmp rdx, 0xf
jbe 0x1800621f8
inc rdx
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800621f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622fa
call fcn.180342c24
mov al, 1
jmp 0x180062261
xor al, al
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.180342780
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.180350d84
nop
mov ecx, eax
call fcn.18005e5d0
nop
mov ecx, eax
call fcn.18005e5d0
nop
mov ecx, eax
call fcn.18005e5d0
nop
mov ecx, eax
call fcn.18005e5d0
nop
call fcn.18000e3f0
call fcn.18000e350
nop
mov ecx, eax
call fcn.18005e5d0
nop
mov ecx, eax
call fcn.18005e5d0
nop
mov ecx, eax
call fcn.18005e5d0
nop
call fcn.180350d84
nop
call fcn.18035b9c8
nop
call fcn.180350d84
nop
call fcn.180350d84
nop
call fcn.180350d84
nop
call fcn.180350d84
int3