Function at 0x18002c3e0
Capabilities:
Connect socket
Encode data using xor

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0xf]
sub rsp, 0x90
mov rax, qword [rbp + 0x77]
mov r12, rdx
mov rdi, rcx
mov rax, qword [rax]
mov qword [rbp - 0x61], rax
test rax, rax
jne 0x18002c416
mov eax, dword [rbp + 0x7f]
add rsp, 0x90
pop r12
pop rdi
pop rbp
ret
cmp dword [rax], 3
mov qword [rsp + 0xb8], rsi
mov rsi, qword [rbp + 0x6f]
mov qword [rsp + 0xc0], r14
mov r14d, dword [rbp + 0x7f]
jne 0x18002c66f
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xc8], r15
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm8
cmp r14d, 0xffffffff
jne 0x18002c69a
cmp dword [rsi], 0x2733
je 0x18002c69a
cmp byte [0x18010a364], 0
movabs rbx, 0xd993efbb19cfe32d
mov edx, 4
je 0x18002c525
mov eax, dword [0x18010bb98]
mov rcx, qword gs:[0x58]
movdqa xmm6, xmmword [0x1800ec4f0]
movdqa xmm7, xmmword [str.Yp]
movdqa xmm8, xmmword [0x1800ebf10]
mov rcx, qword [rcx + rax*8]
mov eax, dword [rdx + rcx]
cmp dword [0x18010d1c8], eax
jg 0x18002c8d7
cmp byte [0x1801061f1], 0
lea r15, [0x1801061c0]
je 0x18002c504
xor r8d, r8d
nop word [rax + rax]
movzx ecx, r8b
mov rax, rbx
and cl, 7
shl cl, 3
shr rax, cl
xor byte [r8 + r15], al
inc r8
cmp r8, 0x31
jb 0x18002c4e0
mov byte [0x1801061f1], 0
movzx ecx, word [rdi + 0xf2]
call qword [sym.imp.WS2_32.dll_ntohs]
mov r9d, dword [rsi]
mov rdx, r15
movzx r8d, ax
mov ecx, 2
call fcn.18006a848
movzx eax, word [rdi + 0x100]
cmp word [rdi + 0xf2], ax
jne 0x18002c635
movzx eax, word [rdi + 0x102]
lea rdx, [rdi + 0xf0]
mov r8d, reloc.WS2_32.dll_recv
mov word [rdi + 0xf2], ax
mov rcx, r12
call qword [sym.imp.WS2_32.dll_connect]
mov r14d, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r15d, eax
cmp r14d, 0xffffffff
jne 0x18002c635
cmp eax, 0x2733
je 0x18002c635
cmp byte [0x18010a364], 0
mov dword [rsi], 0x2745
je 0x18002c635
mov eax, dword [0x18010bb98]
mov rcx, qword gs:[0x58]
movdqa xmm6, xmmword [0x1800ec4f0]
movdqa xmm7, xmmword [str.Yp]
mov edx, 4
mov rcx, qword [rcx + rax*8]
mov dword [rbp - 0x39], 0x3cef975f
mov dword [rbp - 0x35], 0xfcc8cfdf
mov word [rbp - 0x31], 0xbe49
mov eax, dword [rdx + rcx]
cmp dword [0x18010d1e0], eax
jg 0x18002c92c
cmp byte [0x18010630b], 0
lea r12, [0x1801062e0]
je 0x18002c614
xor r8d, r8d
nop
movzx ecx, r8b
mov rax, rbx
and cl, 7
shl cl, 3
shr rax, cl
xor byte [r8 + r12], al
inc r8
cmp r8, 0x2b
jb 0x18002c5f0
mov byte [0x18010630b], 0
movzx ecx, word [rdi + 0xf2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
mov r9d, r15d
mov rdx, r12
mov ecx, 2
call fcn.18006a848
mov rbx, qword [rbp - 0x61]
mov rcx, rbx
call fcn.180027b90
mov rax, qword [rbp + 0x77]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
mov r15, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xb0]
mov qword [rax], 0
cmp r14d, 0xffffffff
jne 0x18002c67b
mov dword [rsi], 0x274d
mov rsi, qword [rsp + 0xb8]
mov eax, r14d
mov r14, qword [rsp + 0xc0]
add rsp, 0x90
pop r12
pop rdi
pop rbp
ret
mov r9, rsi
mov r8, rax
call fcn.18002c9f0
mov r14d, eax
cmp eax, 0xffffffff
jne 0x18002c635
cmp dword [rsi], 0x2733
je 0x18002c635
cmp byte [0x18010a364], 0
movabs rbx, 0xd993efbb19cfe32d
mov edx, 4
je 0x18002c765
mov eax, dword [0x18010bb98]
mov rcx, qword gs:[0x58]
movdqa xmm6, xmmword [0x1800ec4f0]
movdqa xmm7, xmmword [str.Yp]
movdqa xmm8, xmmword [0x1800ebf10]
mov rcx, qword [rcx + rax*8]
mov eax, dword [rdx + rcx]
cmp dword [0x18010d1ec], eax
jg 0x18002c991
cmp byte [0x1801060c1], 0
lea r15, [0x180106090]
je 0x18002c744
xor r8d, r8d
nop
movzx ecx, r8b
mov rax, rbx
and cl, 7
shl cl, 3
shr rax, cl
xor byte [r8 + r15], al
inc r8
cmp r8, 0x31
jb 0x18002c720
mov byte [0x1801060c1], 0
movzx ecx, word [rdi + 0xf2]
call qword [sym.imp.WS2_32.dll_ntohs]
mov r9d, dword [rsi]
mov rdx, r15
movzx r8d, ax
mov ecx, 2
call fcn.18006a848
movzx eax, word [rdi + 0x100]
cmp word [rdi + 0xf2], ax
jne 0x18002c635
movzx eax, word [rdi + 0x102]
lea rdx, [rdi + 0xf0]
mov r8d, reloc.WS2_32.dll_recv
mov word [rdi + 0xf2], ax
mov rcx, r12
call qword [sym.imp.WS2_32.dll_connect]
mov r14d, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r15d, eax
cmp r14d, 0xffffffff
jne 0x18002c859
cmp eax, 0x2733
je 0x18002c859
cmp byte [0x18010a364], 0
mov dword [rsi], 0x2745
je 0x18002c635
mov eax, dword [0x18010bb98]
mov rcx, qword gs:[0x58]
movdqa xmm6, xmmword [0x1800ec4f0]
movdqa xmm7, xmmword [str.Yp]
mov edx, 4
mov rcx, qword [rcx + rax*8]
mov dword [rbp - 0x39], 0x3cef975f
mov dword [rbp - 0x35], 0xfcc8cfdf
mov word [rbp - 0x31], 0xbe49
mov eax, dword [rdx + rcx]
cmp dword [0x18010d1ac], eax
jg 0x18002c876
cmp byte [0x1801061ab], 0
lea r12, [0x180106180]
je 0x18002c614
xor r8d, r8d
nop
movzx ecx, r8b
mov rax, rbx
and cl, 7
shl cl, 3
shr rax, cl
xor byte [r8 + r12], al
inc r8
cmp r8, 0x2b
jb 0x18002c830
mov byte [0x1801061ab], 0
jmp 0x18002c614
mov rbx, qword [rbp - 0x61]
mov r9, rsi
mov r8, rbx
mov rdx, r12
mov rcx, rdi
call fcn.18002c9f0
mov r14d, eax
jmp 0x18002c639
lea rcx, [0x18010d1ac]
call fcn.18009d704
cmp dword [0x18010d1ac], 0xffffffff
jne 0x18002c818
movsd xmm0, qword [rbp - 0x39]
lea rcx, [0x1800cdf70]
movzx eax, word [rbp - 0x31]
movsd qword [0x1801061a0], xmm0
mov word [0x1801061a8], ax
mov word [0x1801061aa], 0x1cf
movaps xmmword [0x180106180], xmm6
movaps xmmword [0x180106190], xmm7
call fcn.18009d564
lea rcx, [0x18010d1ac]
call fcn.18009d6a4
jmp 0x18002c818
lea rcx, [0x18010d1c8]
call fcn.18009d704
cmp dword [0x18010d1c8], 0xffffffff
jne 0x18002c4c7
lea rcx, [0x1800ce000]
mov word [0x1801061f0], 0x12d
movaps xmmword [0x1801061c0], xmm6
movaps xmmword [0x1801061d0], xmm7
movaps xmmword [0x1801061e0], xmm8
call fcn.18009d564
lea rcx, [0x18010d1c8]
call fcn.18009d6a4
jmp 0x18002c4c7
lea rcx, [0x18010d1e0]
call fcn.18009d704
cmp dword [0x18010d1e0], 0xffffffff
jne 0x18002c5dc
movsd xmm0, qword [rbp - 0x39]
lea rcx, [0x1800cdfd0]
movzx eax, word [rbp - 0x31]
movsd qword [0x180106300], xmm0
mov word [0x180106308], ax
mov word [0x18010630a], 0x1cf
movaps xmmword [0x1801062e0], xmm6
movaps xmmword [0x1801062f0], xmm7
call fcn.18009d564
lea rcx, [0x18010d1e0]
call fcn.18009d6a4
jmp 0x18002c5dc
lea rcx, [0x18010d1ec]
call fcn.18009d704
cmp dword [0x18010d1ec], 0xffffffff
jne 0x18002c70c
lea rcx, [0x1800cdfa0]
mov word [0x1801060c0], 0x12d
movaps xmmword [0x180106090], xmm6
movaps xmmword [0x1801060a0], xmm7
movaps xmmword [0x1801060b0], xmm8
call fcn.18009d564
lea rcx, [0x18010d1ec]
call fcn.18009d6a4
jmp 0x18002c70c