Function at 0x180097480
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2d0
mov rax, qword [0x1800f3188]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov rax, qword [rcx + 0x10]
lea rsi, [rsp + 0x48]
mov r13, qword [rcx + 8]
lea rbp, [rsp + 0x50]
mov qword [rsp], rax
lea r8, [rsp + 0x46]
mov rax, qword [rcx + 0x18]
lea r9, [rsp + 0x4e]
mov qword [rsp + 8], rax
lea r10, [rsp + 0x56]
mov rax, qword [rcx + 0x20]
lea r11, [rsp + 0x5e]
mov qword [rsp + 0x10], rax
lea rbx, [rsp + 0x66]
mov rax, qword [rcx + 0x28]
lea r14, [rsp + 0x40]
mov qword [rsp + 0x18], rax
sub rsi, rdx
mov rax, qword [rcx + 0x30]
sub rbp, rdx
mov qword [rsp + 0x20], rax
sub r8, rdx
mov rax, qword [rcx + 0x38]
sub r9, rdx
mov qword [rsp + 0x28], rax
sub r10, rdx
mov rax, qword [rcx + 0x40]
sub r11, rdx
sub rbx, rdx
mov qword [rsp + 0x30], rax
lea rax, [rdx + 0x12]
mov qword [rsp + 0x38], rcx
sub r14, rdx
mov edi, 2
movzx ecx, byte [rax - 0x11]
movzx edx, byte [rax - 0x12]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x10]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xf]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xe]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xd]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xc]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xb]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 9]
mov qword [rax + r14 - 0x12], rdx
movzx edx, byte [rax - 0xa]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 7]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 6]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 3]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 1]
mov qword [rax + rsi - 0x12], rdx
movzx edx, byte [rax - 2]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 1]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 2]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 3]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 7]
mov qword [rax + rbp - 0x12], rdx
movzx edx, byte [rax + 6]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 9]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xa]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xb]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xc]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xd]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xf]
mov qword [rax + r8], rdx
movzx edx, byte [rax + 0xe]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x10]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x11]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x12]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x13]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x14]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x15]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x17]
mov qword [rax + r9], rdx
movzx edx, byte [rax + 0x16]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x19]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1a]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1b]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1c]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1d]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1f]
mov qword [rax + r10], rdx
movzx edx, byte [rax + 0x1e]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x20]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x21]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x22]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x23]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x24]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x25]
shl rdx, 8
or rdx, rcx
mov qword [rax + r11], rdx
movzx edx, byte [rax + 0x26]
movzx ecx, byte [rax + 0x27]
lea rax, [rax + 0x40]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x17]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x16]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x15]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x14]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x13]
shl rdx, 8
or rdx, rcx
mov qword [rax + rbx - 0x40], rdx
sub rdi, 1
jne 0x180097541
mov r9, qword [rsp + 0xb0]
lea rdi, [rsp + 0xb0]
mov esi, reloc.WS2_32.dll_recv
nop
mov r10, qword [rdi - 0x68]
lea rdi, [rdi + 0x20]
mov rdx, r9
mov rax, r9
rol rax, 3
mov rcx, r10
ror rcx, 8
ror rdx, 0x13
xor rdx, rax
shr r9, 6
xor r9, rdx
mov rax, r10
ror rax, 1
xor rcx, rax
mov rax, r10
shr rax, 7
xor rcx, rax
add r9, rcx
add r9, qword [rdi - 0x90]
add r9, qword [rdi - 0x48]
mov qword [rdi - 0x10], r9
mov r11, qword [rdi - 0x80]
mov rdx, qword [rdi - 0x18]
mov r8, r11
mov rcx, rdx
ror r8, 8
ror rcx, 0x13
mov rax, r11
ror rax, 1
xor r8, rax
mov rax, r11
shr rax, 7
xor r8, rax
mov rax, rdx
rol rax, 3
xor rcx, rax
shr rdx, 6
xor rcx, rdx
add r8, rcx
mov rcx, r9
add r8, qword [rdi - 0x40]
ror rcx, 0x13
add r10, r8
mov qword [rdi - 8], r10
mov rbx, qword [rdi - 0x78]
mov rdx, rbx
mov rax, rbx
ror rax, 1
ror rdx, 8
xor rdx, rax
mov rax, rbx
shr rax, 7
xor rdx, rax
mov rax, r9
rol rax, 3
xor rcx, rax
shr r9, 6
xor r9, rcx
add r9, rdx
add r9, qword [rdi - 0x38]
add r9, r11
mov qword [rdi], r9
mov rcx, qword [rdi - 0x70]
mov rdx, rcx
mov rax, rcx
shr rcx, 7
ror rdx, 8
ror rax, 1
xor rdx, rax
mov rax, r10
xor rdx, rcx
rol rax, 3
mov rcx, r10
shr r10, 6
ror rcx, 0x13
xor rcx, rax
xor rcx, r10
add rdx, rcx
add rdx, qword [rdi - 0x30]
add rdx, rbx
mov qword [rdi + 8], rdx
sub rsi, 1
jne 0x180097810
mov r11, qword [rsp]
lea r15, [0x1800cb650]
mov r10, qword [rsp + 8]
xor r12d, r12d
mov r9, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
nop
mov r8, rbx
mov rax, rbx
ror rax, 0x12
mov rdx, r13
rol r8, 0x17
xor r8, rax
rol rdx, 0x1e
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, rsi
and rax, rbx
xor rax, rsi
add r8, rax
mov rax, r13
add r8, qword [r12 + r15]
add r8, qword [rsp + r12 + 0x40]
ror rax, 0x1c
add r8, rdi
xor rdx, rax
mov rax, r13
rol rax, 0x19
xor rdx, rax
mov rax, r11
and rax, r13
lea rdi, [r9 + r8]
mov r9, r11
or r9, r13
and r9, r10
or r9, rax
lea rax, [r8 + rdx]
add r9, rax
mov r8, rdi
rol r8, 0x17
mov rax, rdi
ror rax, 0x12
mov rdx, r9
xor r8, rax
rol rdx, 0x1e
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, rbx
and rax, rdi
xor rax, rbp
add r8, rax
mov rax, r9
add r8, qword [r12 + r15 + 8]
add r8, qword [rsp + r12 + 0x48]
ror rax, 0x1c
add r8, rsi
xor rdx, rax
mov rax, r9
rol rax, 0x19
xor rdx, rax
mov rax, r9
lea rsi, [r10 + r8]
and rax, r13
mov r10, r9
or r10, r13
and r10, r11
or r10, rax
lea rax, [r8 + rdx]
add r10, rax
mov r8, rsi
rol r8, 0x17
mov rax, rsi
ror rax, 0x12
xor r8, rax
mov rax, rsi
ror rax, 0xe
xor r8, rax
mov rax, rdi
xor rax, rbx
and rax, rsi
xor rax, rbx
add r8, rax
add r8, qword [r12 + r15 + 0x10]
add r8, qword [rsp + r12 + 0x50]
add r8, rbp
mov rdx, r10
ror rdx, 0x1c
mov rax, r10
rol rax, 0x19
xor rdx, rax
mov rax, r10
rol rax, 0x1e
lea rbp, [r11 + r8]
xor rdx, rax
mov r11, r10
or r11, r9
mov rax, r10
and rax, r9
and r11, r13
or r11, rax
lea rax, [r8 + rdx]
mov r8, rbp
add r11, rax
rol r8, 0x17
mov rax, rbp
mov rdx, r11
ror rax, 0x12
xor r8, rax
rol rdx, 0x1e
mov rax, rbp
ror rax, 0xe
xor r8, rax
mov rax, rsi
xor rax, rdi
and rax, rbp
xor rax, rdi
add r8, rax
mov rax, r11
add r8, qword [r12 + r15 + 0x18]
add r8, qword [rsp + r12 + 0x58]
ror rax, 0x1c
add r8, rbx
xor rdx, rax
mov rbx, r11
or rbx, r10
mov rax, r11
rol rax, 0x19
and rbx, r9
xor rdx, rax
lea r14, [r8 + r13]
mov rax, r11
and rax, r10
or rbx, rax
lea rax, [r8 + rdx]
mov r8, r14
add rbx, rax
rol r8, 0x17
mov rax, r14
mov rdx, rbx
ror rax, 0x12
xor r8, rax
rol rdx, 0x1e
mov rax, r14
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, rsi
and rax, r14
xor rax, rsi
add r8, rax
mov rax, rbx
add r8, qword [r12 + r15 + 0x20]
add r8, qword [rsp + r12 + 0x60]
ror rax, 0x1c
add r8, rdi
xor rdx, rax
mov rax, rbx
rol rax, 0x19
xor rdx, rax
mov rax, rbx
lea rdi, [r9 + r8]
mov r9, rbx
or r9, r11
and r9, r10
and rax, r11
or r9, rax
lea rax, [r8 + rdx]
add r9, rax
mov r8, rdi
rol r8, 0x17
mov rax, rdi
ror rax, 0x12
mov rdx, r9
xor r8, rax
rol rdx, 0x1e
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, r14
xor rax, rbp
and rax, rdi
xor rax, rbp
add r8, rax
mov rax, r9
add r8, qword [r12 + r15 + 0x28]
add r8, qword [rsp + r12 + 0x68]
ror rax, 0x1c
add r8, rsi
xor rdx, rax
mov rax, r9
rol rax, 0x19
xor rdx, rax
mov rax, r9
and rax, rbx
lea rsi, [r10 + r8]
mov r10, r9
or r10, rbx
and r10, r11
or r10, rax
lea rax, [r8 + rdx]
add r10, rax
mov r8, rsi
rol r8, 0x17
mov rax, rsi
ror rax, 0x12
mov rdx, r10
xor r8, rax
rol rdx, 0x1e
mov rax, rsi
ror rax, 0xe
xor r8, rax
mov rax, rdi
xor rax, r14
and rax, rsi
xor rax, r14
add r8, rax
mov rax, r10
add r8, qword [r12 + r15 + 0x30]
add r8, qword [rsp + r12 + 0x70]
ror rax, 0x1c
add r8, rbp
xor rdx, rax
mov rax, r10
rol rax, 0x19
xor rdx, rax
mov rax, r10
lea rbp, [r11 + r8]
and rax, r9
mov r11, r10
or r11, r9
and r11, rbx
or r11, rax
lea rax, [r8 + rdx]
add r11, rax
mov r8, rbp
rol r8, 0x17
mov rax, rbp
ror rax, 0x12
xor r8, rax
mov rax, rbp
ror rax, 0xe
xor r8, rax
mov rax, rdi
xor rax, rsi
and rax, rbp
xor rax, rdi
add r8, rax
mov rdx, r11
add r8, qword [r12 + r15 + 0x38]
mov rax, r11
add r8, qword [rsp + r12 + 0x78]
mov r13, r11
ror rax, 0x1c
or r13, r10
rol rdx, 0x1e
add r8, r14
xor rdx, rax
and r13, r9
mov rax, r11
add rbx, r8
rol rax, 0x19
add r12, 0x40
xor rdx, rax
mov rax, r11
and rax, r10
or r13, rax
lea rax, [r8 + rdx]
add r13, rax
cmp r12, 0x280
jl 0x180097960
mov r15, qword [rsp + 0x38]
add qword [r15 + 8], r13
add qword [r15 + 0x10], r11
add qword [r15 + 0x18], r10
add qword [r15 + 0x20], r9
add qword [r15 + 0x28], rbx
add qword [r15 + 0x30], rbp
add qword [r15 + 0x38], rsi
add qword [r15 + 0x40], rdi
xor eax, eax
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.1800a1bf0
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret