Function at 0x180006d6c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
movsxd r12, dword [rsp + 0xc8]
mov ecx, r12d
call fcn.180006874
test eax, eax
jne 0x18000701a
mov ecx, dword [rsp + 0xc0]
call fcn.180006be8
test eax, eax
jne 0x18000701a
lea rcx, [0x180000000]
mov esi, 0
mov rax, r12
shl rax, 7
mov r15d, dword [rax + rcx + 0x5c06c]
mov eax, dword [rsp + 0xb0]
test al, 7
setne sil
shr eax, 3
add esi, eax
lea ecx, [r15 + r15]
lea eax, [rsi - 2]
cmp ecx, eax
jae 0x180007015
mov r13d, esi
sub r13d, ecx
lea eax, [r13 - 2]
cmp edx, eax
ja 0x180007015
mov ecx, esi
call fcn.1800278a4
mov ecx, esi
mov rdi, rax
call fcn.1800278a4
mov ecx, r15d
mov r14, rax
call fcn.1800278a4
mov rbp, rax
test rdi, rdi
je 0x180006ff4
test r14, r14
je 0x180006fec
test rax, rax
je 0x180006fec
mov rax, qword [rsp + 0xa0]
mov r9, rdi
mov dword [rsp + 0x30], esi
test rax, rax
je 0x180006e6d
mov r8d, dword [rsp + 0xa8]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
mov rdx, rax
jmp 0x180006e7d
lea rax, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov ecx, r12d
call fcn.180003efc
mov ebx, eax
test eax, eax
jne 0x180006fd0
mov ebx, dword [rsp + 0x98]
lea rcx, [rdi + r15]
sub r13d, ebx
xor edx, edx
sub r13d, 2
mov r8d, r13d
call fcn.180024c90
mov rdx, qword [rsp + 0x90]
lea ecx, [r15 + r13]
mov r8d, ebx
mov byte [rcx + rdi], 1
inc ecx
add rcx, rdi
call fcn.180024e50
movsxd rax, dword [rsp + 0xc0]
mov edx, r15d
mov r8, qword [rsp + 0xb8]
mov rcx, rbp
lea r9, [rax + rax*4]
add r9, r9
lea rax, [0x180000000]
call qword [rax + r9*8 + 0x5d088]
cmp eax, r15d
je 0x180006f03
mov ebx, 9
jmp 0x180006fd0
mov r13d, esi
mov r9, r14
sub r13d, r15d
mov r8d, r15d
dec r13d
mov rdx, rbp
mov ecx, r12d
mov dword [rsp + 0x20], r13d
call fcn.180007c18
mov ebx, eax
test eax, eax
jne 0x180006fd0
test r13d, r13d
je 0x180006f4b
mov rcx, r14
mov r8d, r13d
sub rcx, rdi
mov rdx, rdi
mov al, byte [rcx + rdx]
xor byte [rdx], al
inc rdx
sub r8, 1
jne 0x180006f3d
mov r9, r14
mov dword [rsp + 0x20], r15d
mov r8d, r13d
mov rdx, rdi
mov ecx, r12d
call fcn.180007c18
mov ebx, eax
test eax, eax
jne 0x180006fd0
mov r9, r15
test r15d, r15d
je 0x180006f89
mov rdx, r14
mov rcx, rbp
sub rdx, rbp
mov r8, r15
mov al, byte [rdx + rcx]
xor byte [rcx], al
inc rcx
sub r8, 1
jne 0x180006f7b
mov r12, qword [rsp + 0xd8]
cmp dword [r12], esi
jae 0x180006f9e
mov ebx, 6
jmp 0x180006fcc
mov rbx, qword [rsp + 0xd0]
mov r8, r9
mov rdx, rbp
lea rcx, [rbx + 1]
mov byte [rbx], 0
call fcn.180024e50
lea ecx, [r15 + 1]
mov r8d, r13d
add rcx, rbx
mov rdx, rdi
call fcn.180024e50
xor ebx, ebx
mov dword [r12], esi
mov rcx, rbp
call fcn.180027890
mov rcx, r14
call fcn.180027890
mov rcx, rdi
call fcn.180027890
mov eax, ebx
jmp 0x18000701a
mov rcx, rdi
call fcn.180027890
test r14, r14
je 0x180007001
mov rcx, r14
call fcn.180027890
test rbp, rbp
je 0x18000700e
mov rcx, rbp
call fcn.180027890
mov eax, reloc.WS2_32.dll_listen
jmp 0x18000701a
mov eax, reloc.WS2_32.dll_shutdown
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret