Function at 0x1800c6fb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x40]
mov eax, 0x140
call fcn.1800e9570
sub rsp, rax
mov rax, qword [0x180173200]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x90]
mov rdi, qword [rbp + 0xa0]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x58], rax
mov eax, 0x200
mov qword [rbp - 0x70], rcx
xor ecx, ecx
cmp edx, eax
mov qword [rbp - 0x80], rdi
mov esi, ecx
mov dword [rsp + 0x30], ecx
cmovl edx, eax
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x78], 2
lea eax, [rdx + 0x3f]
cdq
and edx, 0x3f
lea ebx, [rdx + rax]
mov eax, reloc.WS2_32.dll_sendto
and ebx, 0xffffffc0
cmp r9d, 0x14
cmovl r8, rcx
cmp r9d, eax
mov qword [rbp - 0x68], r8
cmovg r9d, eax
mov dword [rsp + 0x44], r9d
test r8, r8
je 0x1800c705e
cmp r9d, eax
jne 0x1800c705e
movups xmm0, xmmword [r8]
mov eax, dword [r8 + 0x10]
mov dword [rbp - 0x10], eax
movups xmmword [rbp - 0x20], xmm0
call fcn.1800c7af0
mov qword [rsp + 0x38], rax
mov r14, rax
test rax, rax
je 0x1800c761a
call fcn.1800cd6d0
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1800c75f8
mov qword [rsp + 0x138], r12
mov rcx, r14
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x128], r15
call fcn.1800c7b70
mov rcx, r14
call fcn.1800c7a60
mov rcx, r14
mov rsi, rax
call fcn.1800c7a60
mov rcx, r14
mov qword [rsp + 0x50], rax
call fcn.1800c7a60
mov rcx, r14
mov r12, rax
call fcn.1800c7a60
mov rcx, r14
mov qword [rsp + 0x70], rax
call fcn.1800c7a60
mov rcx, r14
mov r13, rax
call fcn.1800c7a60
mov rcx, r14
mov qword [rbp - 0x78], rax
call fcn.1800c7a60
mov rcx, r14
mov qword [rsp + 0x60], rax
call fcn.1800c7a60
dec ebx
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x48], ebx
mov r15, rax
call fcn.180077140
mov rdx, rax
mov r8d, ebx
mov rcx, r15
call fcn.1800dd810
test eax, eax
je 0x1800c75dc
nop dword [rax]
mov r14, qword [rsp + 0x70]
xor r15d, r15d
nop dword [rax + rax]
mov ebx, dword [rsp + 0x40]
xor edx, edx
mov r8d, ebx
mov rcx, rdi
call fcn.1800dd280
inc ebx
mov dword [rsp + 0x40], ebx
test eax, eax
je 0x1800c7709
cmp dword [rsp + 0x44], r15d
jne 0x1800c717b
mov edx, reloc.WS2_32.dll_sendto
lea rcx, [rbp - 0x20]
call fcn.18006d070
mov ebx, 1
jmp 0x1800c7183
mov ebx, r15d
mov dword [rsp + 0x44], r15d
mov eax, dword [rbp - 0x10]
movups xmm0, xmmword [rbp - 0x20]
mov dword [rbp - 0x40], eax
mov dword [rbp + 8], eax
mov eax, reloc.WS2_32.dll_send
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 8], xmm0
nop dword [rax]
add byte [rbp + rax - 0x50], 1
jne 0x1800c71c9
add byte [rbp + rax - 0x51], 1
jne 0x1800c71c9
add byte [rbp + rax - 0x52], 1
jne 0x1800c71c9
add byte [rbp + rax - 0x53], 1
jne 0x1800c71c9
add byte [rbp + rax - 0x54], 1
jne 0x1800c71c9
sub rax, 5
jns 0x1800c71a0
call fcn.1800de210
xor r9d, r9d
mov qword [rsp + 0x28], r15
lea r8, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x20]
lea edx, [r9 + 0x14]
call fcn.1800ddce0
call fcn.1800de210
xor r9d, r9d
mov qword [rsp + 0x28], r15
lea r8, [rbp - 8]
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x50]
lea edx, [r9 + 0x14]
call fcn.1800ddce0
movdqu xmm1, xmmword [rbp - 0x38]
mov rcx, r15
mov edx, 4
movdqu xmm0, xmmword [rbp - 8]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x38], xmm1
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 8]
xor byte [rbp + rcx - 0x28], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1800c7230
or byte [rbp - 0x38], 0x80
lea rcx, [rbp - 0x38]
or byte [rbp - 0x25], 1
mov r8, r14
mov edx, reloc.WS2_32.dll_sendto
call fcn.180076830
test rax, rax
je 0x1800c7709
mov r9d, ebx
mov qword [rsp + 0x20], rdi
mov rbx, qword [rsp + 0x38]
mov edx, reloc.WLDAP32.dll_Ordinal_50
mov r8, rbx
mov rcx, r14
call fcn.1800dd2e0
test eax, eax
jg 0x1800c7297
je 0x1800c7140
mov r14, rbx
mov esi, r15d
jmp 0x1800c75e0
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 2]
call fcn.1800dd280
test eax, eax
je 0x1800c728c
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 3]
call fcn.1800dd280
test eax, eax
je 0x1800c728c
mov eax, 0x66666667
imul dword [rsp + 0x48]
mov r14d, edx
sar r14d, 6
mov eax, r14d
shr eax, 0x1f
add r14d, eax
test r15d, r15d
je 0x1800c72f0
mov r8d, r15d
xor edx, edx
mov rcx, rdi
call fcn.1800dd280
test eax, eax
je 0x1800c75d7
xor edx, edx
mov rcx, r12
call fcn.180077060
xor eax, eax
mov edi, eax
test r14d, r14d
js 0x1800c73c1
mov ebx, eax
nop dword [rax]
mov eax, reloc.WS2_32.dll_send
add byte [rbp + rax - 0x50], 1
jne 0x1800c733e
add byte [rbp + rax - 0x51], 1
jne 0x1800c733e
add byte [rbp + rax - 0x52], 1
jne 0x1800c733e
add byte [rbp + rax - 0x53], 1
jne 0x1800c733e
add byte [rbp + rax - 0x54], 1
jne 0x1800c733e
sub rax, 5
jns 0x1800c7315
call fcn.1800de210
xor r9d, r9d
mov qword [rsp + 0x28], 0
lea r8, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x50]
lea edx, [r9 + 0x14]
call fcn.1800ddce0
mov r8, rsi
lea rcx, [rbp - 0x38]
mov edx, reloc.WS2_32.dll_sendto
call fcn.180076830
test rax, rax
je 0x1800c75d7
mov r8d, ebx
mov rdx, rsi
mov rcx, rsi
call fcn.1800dd810
test eax, eax
je 0x1800c75d7
mov r8, rsi
mov rdx, r12
mov rcx, r12
call fcn.1800cbfb0
test eax, eax
je 0x1800c75d7
inc edi
add ebx, 0xa0
cmp edi, r14d
jle 0x1800c7310
mov rbx, qword [rsp + 0x38]
mov edx, dword [rsp + 0x48]
mov rcx, r12
call fcn.180076d50
test eax, eax
je 0x1800c75d7
mov rdx, r12
mov rcx, r13
call fcn.180076b50
test rax, rax
je 0x1800c75d7
mov r8, qword [rsp + 0x68]
mov rdx, r13
mov rcx, r13
call fcn.1800cbfb0
test eax, eax
je 0x1800c75d7
mov rdx, qword [rsp + 0x70]
mov rcx, rsi
call fcn.1800dd990
test eax, eax
je 0x1800c75d7
mov rdi, qword [rbp - 0x78]
mov r9, rsi
mov rdx, rdi
mov qword [rsp + 0x20], rbx
mov r8, r13
xor ecx, ecx
call fcn.1800cc3e0
test eax, eax
je 0x1800c75d7
call fcn.180077140
mov r8, rax
mov rdx, rdi
mov rcx, rsi
call fcn.1800cc060
test eax, eax
je 0x1800c75d7
mov rdi, qword [rsp + 0x60]
mov r8, rsi
mov rcx, rdi
mov rdx, r13
call fcn.1800cc060
test eax, eax
je 0x1800c75d7
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.180076ab0
mov rdi, qword [rbp - 0x80]
test eax, eax
js 0x1800c74a8
mov rcx, qword [rsp + 0x60]
mov r9d, 1
mov r8, rbx
mov qword [rsp + 0x20], rdi
lea edx, [r9 + 0x31]
call fcn.1800dd2e0
test eax, eax
jg 0x1800c74bd
jne 0x1800c75d7
inc r15d
cmp r15d, 0x1000
jl 0x1800c72d6
jmp 0x1800c7130
mov edx, 2
mov rcx, rdi
lea r8d, [rdx - 1]
call fcn.1800dd280
test eax, eax
je 0x1800c75d7
call fcn.180077140
mov r14, qword [rsp + 0x60]
mov r8, rax
mov r12, qword [rsp + 0x68]
mov rdx, r14
mov rcx, r12
call fcn.1800cc060
test eax, eax
je 0x1800c75d7
mov r13, qword [rsp + 0x70]
mov r8, r12
mov r9, r13
mov qword [rsp + 0x20], rbx
xor edx, edx
mov rcx, rsi
call fcn.1800cc3e0
test eax, eax
je 0x1800c75d7
mov edx, 2
mov rcx, r12
call fcn.180077060
test eax, eax
je 0x1800c75d7
mov rcx, qword [rsp + 0x58]
mov r8, rbx
mov rdx, r14
call fcn.1800cd740
test eax, eax
je 0x1800c75d7
mov rax, qword [rsp + 0x58]
mov r9, r14
mov rcx, qword [rsp + 0x50]
mov r8, rsi
mov qword [rsp + 0x28], rax
mov rdx, r12
mov qword [rsp + 0x20], rbx
call fcn.1800c8270
test eax, eax
je 0x1800c75d7
mov rcx, qword [rsp + 0x50]
cmp dword [rcx + 8], 1
jne 0x1800c7636
mov rax, qword [rcx]
cmp qword [rax], 1
jne 0x1800c7636
cmp dword [rcx + 0x10], 0
jne 0x1800c7636
call fcn.180077140
mov r8, rax
mov rdx, r12
mov rcx, r12
call fcn.1800cbfb0
test eax, eax
je 0x1800c75d7
mov rax, qword [rsp + 0x58]
mov r9, r14
mov rcx, qword [rsp + 0x50]
mov r8, rsi
inc dword [rsp + 0x78]
mov rdx, r12
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call fcn.1800c8270
test eax, eax
jne 0x1800c7570
mov r14, qword [rsp + 0x38]
mov esi, dword [rsp + 0x30]
mov r13, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
mov r15, qword [rsp + 0x128]
mov rcx, r14
call fcn.1800c79a0
mov rcx, r14
call fcn.1800c7a20
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1800c761a
mov rcx, rax
call fcn.1800cd680
mov eax, esi
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.1800e95d0
add rsp, 0x140
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov edx, 3
mov rcx, rdi
lea r8d, [rdx - 2]
call fcn.1800dd280
test eax, eax
je 0x1800c75d7
mov esi, 1
mov rbx, qword [rbp - 0x70]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1800c7662
call fcn.180076ca0
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1800c7670
call fcn.180076ca0
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1800c767e
call fcn.180076ca0
mov rcx, r14
call fcn.180076c30
mov rcx, r13
mov qword [rbx + 0x10], rax
call fcn.180076c30
mov rcx, qword [rsp + 0x50]
mov qword [rbx + 0x18], rax
call fcn.180076c30
cmp qword [rbx + 0x10], 0
mov qword [rbx + 0x20], rax
je 0x1800c76fd
cmp qword [rbx + 0x18], 0
je 0x1800c76fd
test rax, rax
je 0x1800c76fd
cmp dword [rsp + 0x40], esi
jle 0x1800c76d3
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1800c76d3
movups xmm0, xmmword [rbp - 0x20]
mov eax, dword [rbp - 0x10]
movups xmmword [rcx], xmm0
mov dword [rcx + 0x10], eax
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1800c76df
mov dword [rax], r15d
mov rcx, qword [rbp - 0x58]
mov r14, qword [rsp + 0x38]
test rcx, rcx
je 0x1800c75e0
mov rax, qword [rsp + 0x78]
mov dword [rcx], eax
jmp 0x1800c75e0
mov r14, qword [rsp + 0x38]
xor esi, esi
jmp 0x1800c75e0
mov r14, qword [rsp + 0x38]
mov esi, r15d
jmp 0x1800c75e0