Function at 0x1800f52f0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rbp
mov rbp, rcx
mov qword [rsp + 0x48], r15
movsxd r15, dword [rsp + 0xb8]
mov ecx, r15d
mov ebx, edx
mov dword [rax], 0
call fcn.1800b0d20
test eax, eax
jne 0x1800f5614
mov qword [rsp + 0x60], r12
lea rcx, [0x18022d53c]
mov r12d, 0
mov rax, r15
mov qword [rsp + 0x50], r14
imul rax, rax, 0x78
mov r14d, dword [rax + rcx]
mov eax, dword [rsp + 0xb0]
test al, 7
setne r12b
shr eax, 3
add r12d, eax
lea eax, [r14 + r14]
lea ecx, [r12 - 2]
cmp eax, ecx
jae 0x1800f5657
cmp ebx, r12d
jne 0x1800f5657
mov qword [rsp + 0x70], rsi
mov ecx, r12d
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x58], r13
call fcn.180079290
mov ecx, r12d
mov rdi, rax
call fcn.180079290
mov rcx, r14
mov r13, rax
call fcn.180079290
test rdi, rdi
mov rsi, rax
je 0x1800f5636
test r13, r13
je 0x1800f562e
test rax, rax
je 0x1800f562e
cmp byte [rbp], 0
je 0x1800f53ea
xor ebx, ebx
jmp 0x1800f55e1
lea rdx, [rbp + 1]
mov r8, r14
mov rcx, rax
mov dword [rsp + 0x30], 1
call fcn.1800ae650
mov r11d, dword [rsp + 0x30]
add r11d, r14d
mov ebp, r12d
mov rcx, rdi
mov edx, r11d
sub ebp, r14d
mov dword [rsp + 0x30], r11d
add rdx, qword [rsp + 0x90]
add ebp, 0xffffffff
mov r8d, ebp
call fcn.1800ae650
mov eax, dword [rsp + 0x30]
mov r11d, r12d
sub r11d, r14d
mov r9, r13
mov r8d, ebp
lea ecx, [rax + r11 - 1]
mov rdx, rdi
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x30], ecx
mov ecx, r15d
call fcn.1800e8b10
test eax, eax
mov ebx, eax
jne 0x1800f55e1
test r14d, r14d
je 0x1800f5490
mov r8, r13
mov rcx, rsi
mov rdx, r14
sub r8, rsi
nop
nop
nop
nop
movzx eax, byte [r8 + rcx]
inc rcx
xor byte [rcx - 1], al
dec rdx
jne 0x1800f5480
mov r9, r13
mov r8d, r14d
mov rdx, rsi
mov ecx, r15d
mov dword [rsp + 0x20], ebp
call fcn.1800e8b10
test eax, eax
mov ebx, eax
jne 0x1800f55e1
test ebp, ebp
je 0x1800f54d0
mov r9, r13
mov rdx, rdi
mov r8d, ebp
sub r9, rdi
nop
movzx eax, byte [r9 + rdx]
inc rdx
xor byte [rdx - 1], al
dec r8
jne 0x1800f54c0
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x30], r12d
test rax, rax
je 0x1800f550e
mov r8d, dword [rsp + 0xa8]
lea rcx, [rsp + 0x30]
mov r9, rsi
mov qword [rsp + 0x20], rcx
mov ecx, r15d
mov rdx, rax
call fcn.1800f2970
test eax, eax
mov ebx, eax
jne 0x1800f55e1
jmp 0x1800f5533
lea rax, [rsp + 0x30]
mov r9, rsi
xor r8d, r8d
mov rdx, rdi
mov ecx, r15d
mov qword [rsp + 0x20], rax
call fcn.1800f2970
test eax, eax
mov ebx, eax
jne 0x1800f55e1
mov r8, r14
mov rdx, rdi
mov rcx, rsi
call fcn.1800afec0
test eax, eax
je 0x1800f554c
xor ebx, ebx
jmp 0x1800f55e1
cmp r14d, ebp
mov ecx, r14d
mov dword [rsp + 0x30], r14d
jae 0x1800f5572
nop
nop
mov eax, ecx
cmp byte [rax + rdi], 0
jne 0x1800f5572
inc ecx
cmp ecx, ebp
mov dword [rsp + 0x30], ecx
jb 0x1800f5560
cmp ecx, ebp
je 0x1800f55dc
mov eax, ecx
cmp byte [rax + rdi], 1
jne 0x1800f55dc
mov rdx, qword [rsp + 0xc8]
inc ecx
mov eax, r12d
sub eax, ecx
mov dword [rsp + 0x30], ecx
sub eax, r14d
dec eax
cmp eax, dword [rdx]
jbe 0x1800f55a3
mov dword [rdx], eax
mov ebx, 0x7d4
jmp 0x1800f55e1
mov dword [rdx], eax
mov edx, ecx
mov rcx, qword [rsp + 0xc0]
mov r8d, eax
add rdx, rdi
call fcn.1800ae650
mov eax, dword [rsp + 0x30]
sub r12d, r14d
lea ecx, [rax + r12 - 1]
mov rax, qword [rsp + 0xd0]
xor ebx, ebx
mov dword [rax], 1
mov dword [rsp + 0x30], ecx
jmp 0x1800f55e1
mov ebx, 0x7d5
mov rcx, rsi
call fcn.180078fc0
mov rcx, r13
call fcn.180078fc0
mov rcx, rdi
call fcn.180078fc0
mov eax, ebx
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x60]
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rcx, rdi
call fcn.180078fc0
test r13, r13
je 0x1800f5643
mov rcx, r13
call fcn.180078fc0
test rsi, rsi
je 0x1800f5650
mov rcx, rsi
call fcn.180078fc0
mov eax, reloc.WSOCK32.dll_ioctlsocket
jmp 0x1800f55fb
mov eax, 0x7e2
jmp 0x1800f560a