Function at 0x1800f4b30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x198
mov qword [rax - 8], rbx
movsxd rbx, dword [rsp + 0x1c8]
mov qword [rax - 0x20], rdi
mov ecx, ebx
mov edi, r8d
call fcn.1800b0d20
test eax, eax
jne 0x1800f4e86
test edi, edi
je 0x1800f4b82
mov ecx, dword [rsp + 0x1c0]
call fcn.1800cbe60
test eax, eax
jne 0x1800f4e86
mov qword [rsp + 0x188], rbp
mov qword [rsp + 0x180], rsi
lea rax, [0x180000000]
mov esi, 0
mov rbp, rbx
imul rbp, rbp, 0x78
mov ecx, dword [rax + rbp + 0x22d53c]
mov eax, dword [rsp + 0x1d0]
test al, 7
mov dword [rsp + 0x30], ecx
setne sil
shr eax, 3
add esi, eax
cmp edi, esi
ja 0x1800f4ed4
lea eax, [rcx + rdi + 2]
cmp esi, eax
jb 0x1800f4ed4
mov qword [rsp + 0x170], r12
mov qword [rsp + 0x168], r13
mov ecx, esi
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x158], r15
call fcn.180079290
mov ecx, esi
mov r13, rax
call fcn.180079290
mov ecx, esi
mov r15, rax
call fcn.180079290
mov ecx, esi
mov r12, rax
call fcn.180079290
test r13, r13
mov r14, rax
je 0x1800f4ea6
test r15, r15
je 0x1800f4e9e
test r12, r12
je 0x1800f4e9e
test rax, rax
je 0x1800f4e9e
test edi, edi
je 0x1800f4c7c
movsxd rax, dword [rsp + 0x1c0]
mov r8, qword [rsp + 0x1b8]
lea rbx, [0x180000000]
lea r9, [rax + rax*8]
mov edx, edi
mov rcx, r12
call qword [rbx + r9*8 + 0x237788]
cmp eax, edi
je 0x1800f4c83
mov ebx, 0x7d7
jmp 0x1800f4e34
lea rbx, [0x180000000]
lea rcx, [rsp + 0x40]
call qword [rbx + rbp + 0x22d588]
test eax, eax
mov ebx, eax
jne 0x1800f4e34
lea edx, [rax + 8]
mov rcx, r13
call fcn.1800af3a0
lea rax, [0x180000000]
lea r8d, [rbx + 8]
lea rcx, [rsp + 0x40]
mov rdx, r13
call qword [rax + rbp + 0x22d590]
test eax, eax
mov ebx, eax
jne 0x1800f4e34
mov r8d, dword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1a0]
lea rax, [0x180000000]
lea rcx, [rsp + 0x40]
call qword [rax + rbp + 0x22d590]
test eax, eax
mov ebx, eax
jne 0x1800f4e34
lea rax, [0x180000000]
lea rcx, [rsp + 0x40]
mov r8d, edi
mov rdx, r12
call qword [rax + rbp + 0x22d590]
test eax, eax
mov ebx, eax
jne 0x1800f4e34
lea rax, [0x180000000]
lea rcx, [rsp + 0x40]
mov rdx, r14
call qword [rax + rbp + 0x22d598]
test eax, eax
mov ebx, eax
jne 0x1800f4e34
mov ebp, dword [rsp + 0x30]
mov ebx, esi
xor edx, edx
sub ebx, ebp
mov rcx, r13
mov r8d, ebx
sub r8d, edi
add r8d, 0xfffffffe
call fcn.1800a0240
mov eax, ebp
mov r8, rdi
neg eax
mov dword [rsp + 0x34], eax
sub eax, edi
lea edx, [rax + rsi - 2]
lea ecx, [rdx + 1]
mov byte [rdx + r13], 1
mov rdx, r12
add rcx, r13
call fcn.1800ae650
mov ecx, dword [rsp + 0x1c8]
lea edi, [rbx - 1]
mov r9, r15
mov r8d, ebp
mov rdx, r14
mov dword [rsp + 0x20], edi
call fcn.1800e8b10
test eax, eax
mov ebx, eax
jne 0x1800f4e34
test edi, edi
je 0x1800f4dc0
mov r8, r15
mov rcx, r13
mov edx, edi
sub r8, r13
nop
movzx eax, byte [r8 + rcx]
inc rcx
xor byte [rcx - 1], al
dec rdx
jne 0x1800f4db0
mov rbp, qword [rsp + 0x1e0]
cmp dword [rbp], esi
jae 0x1800f4dd7
mov dword [rbp], esi
mov ebx, 0x7d4
jmp 0x1800f4e34
mov r8d, edi
mov rdi, qword [rsp + 0x1d8]
mov rdx, r13
mov rcx, rdi
call fcn.1800ae650
mov r11d, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x30]
lea ebx, [r11 + rsi - 1]
mov rdx, r14
mov ecx, ebx
add rcx, rdi
call fcn.1800ae650
mov eax, dword [rsp + 0x30]
lea ecx, [rsi*8]
sub ecx, dword [rsp + 0x1d0]
lea r11d, [rbx + rax]
mov eax, 0xff
inc ecx
mov byte [r11 + rdi], 0xbc
sar eax, cl
and byte [rdi], al
mov dword [rbp], esi
xor ebx, ebx
mov rcx, r14
call fcn.180078fc0
mov rcx, r12
call fcn.180078fc0
mov rcx, r15
call fcn.180078fc0
mov rcx, r13
call fcn.180078fc0
mov eax, ebx
mov r14, qword [rsp + 0x160]
mov r13, qword [rsp + 0x168]
mov r12, qword [rsp + 0x170]
mov r15, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x190]
add rsp, 0x198
ret
mov rcx, r13
call fcn.180078fc0
test r15, r15
je 0x1800f4eb3
mov rcx, r15
call fcn.180078fc0
test r12, r12
je 0x1800f4ec0
mov rcx, r12
call fcn.180078fc0
test r14, r14
je 0x1800f4ecd
mov rcx, r14
call fcn.180078fc0
mov eax, reloc.WSOCK32.dll_ioctlsocket
jmp 0x1800f4e56
mov eax, 0x7e2
jmp 0x1800f4e76