Function at 0x140097aa0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r13
sub rsp, 0x48
mov rax, qword [rcx + 0x10]
mov r13, r9
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
cmp qword [rcx + 8], rax
jne 0x140097ac9
call fcn.140041540
mov ecx, reloc.WS2_32.dll_recv
mov qword [rsp + 0x78], rbp
call fcn.1400506a0
test al, al
je 0x140097b12
cmp r13, 8
jb 0x140097b12
mov rbp, r13
shr rbp, 3
imul rax, rbp, 0xfffffffffffffff8
add r13, rax
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.1400b2500
add rdi, 0x100
add rbx, 0x100
sub rbp, 1
jne 0x140097af0
call fcn.1400769d0
test al, al
je 0x140097b4c
cmp r13, 4
jb 0x140097b4c
mov rbp, r13
shr rbp, 2
imul rax, rbp, 0xfffffffffffffffc
add r13, rax
nop
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.1400b09f0
sub rdi, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
sub rbp, 1
jne 0x140097b30
test r13, r13
je 0x140097f53
mov qword [rsp + 0x40], r12
lea r9, [rbx + 8]
lea rax, [rdi + 8]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
sub rbx, rdi
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x88], rax
nop dword [rax]
mov r10d, dword [rax - 8]
mov r11d, dword [rax - 4]
mov edi, dword [rax]
mov esi, dword [rax + 4]
mov ebp, dword [rax + 8]
mov r14d, dword [rax + 0xc]
mov r15d, dword [rax + 0x10]
mov r12d, dword [rax + 0x14]
mov eax, 8
mov rcx, qword [rsp + 0x70]
bswap r10d
bswap r11d
bswap edi
mov r9, qword [rcx + 8]
add r9, 8
bswap esi
bswap ebp
bswap r14d
bswap r15d
bswap r12d
nop dword [rax]
nop word [rax + rax]
mov r8d, ebp
mov ecx, ebp
rol ecx, 7
mov edx, ebp
ror r8d, 0xb
not edx
xor r8d, ecx
and edx, r15d
mov ecx, ebp
ror ecx, 6
xor r8d, ecx
mov ecx, r14d
and ecx, ebp
xor edx, ecx
mov ecx, r10d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 - 8]
mov edx, r11d
add r12d, r8d
or edx, r10d
and edx, edi
add esi, r12d
mov r8d, r10d
ror r8d, 0xd
xor r8d, ecx
mov ecx, r10d
ror ecx, 2
xor r8d, ecx
mov ecx, r11d
and ecx, r10d
or edx, ecx
mov ecx, esi
rol ecx, 7
add r12d, edx
add r12d, r8d
mov edx, esi
not edx
mov r8d, esi
ror r8d, 0xb
and edx, r14d
xor r8d, ecx
mov ecx, esi
ror ecx, 6
xor r8d, ecx
mov ecx, ebp
and ecx, esi
xor edx, ecx
mov ecx, r12d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 - 4]
mov edx, r12d
add r15d, r8d
or edx, r10d
add edi, r15d
and edx, r11d
mov r8d, r12d
ror r8d, 0xd
xor r8d, ecx
mov ecx, r12d
ror ecx, 2
xor r8d, ecx
mov ecx, r12d
and ecx, r10d
or edx, ecx
mov ecx, edi
add r15d, edx
rol ecx, 7
add r15d, r8d
mov edx, edi
mov r8d, edi
not edx
ror r8d, 0xb
and edx, ebp
xor r8d, ecx
mov ecx, edi
ror ecx, 6
xor r8d, ecx
mov ecx, esi
and ecx, edi
xor edx, ecx
mov ecx, r15d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9]
mov edx, r12d
add r14d, r8d
or edx, r15d
and edx, r10d
add r11d, r14d
mov r8d, r15d
ror r8d, 0xd
xor r8d, ecx
mov ecx, r15d
ror ecx, 2
xor r8d, ecx
mov ecx, r12d
and ecx, r15d
or edx, ecx
mov ecx, r11d
rol ecx, 7
add r14d, edx
add r14d, r8d
mov edx, r11d
not edx
mov r8d, r11d
ror r8d, 0xb
and edx, esi
xor r8d, ecx
mov ecx, r11d
ror ecx, 6
xor r8d, ecx
mov ecx, edi
and ecx, r11d
xor edx, ecx
mov ecx, r14d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 + 4]
mov edx, r15d
add ebp, r8d
or edx, r14d
add r10d, ebp
and edx, r12d
mov r8d, r14d
ror r8d, 0xd
xor r8d, ecx
mov ecx, r14d
ror ecx, 2
xor r8d, ecx
mov ecx, r15d
and ecx, r14d
or edx, ecx
mov ecx, r10d
rol ecx, 7
add ebp, edx
add ebp, r8d
mov edx, r10d
not edx
mov r8d, r10d
ror r8d, 0xb
and edx, edi
xor r8d, ecx
mov ecx, r10d
ror ecx, 6
xor r8d, ecx
mov ecx, r11d
and ecx, r10d
xor edx, ecx
mov ecx, ebp
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 + 8]
add esi, r8d
mov r8d, ebp
ror r8d, 0xd
add r12d, esi
xor r8d, ecx
mov ecx, ebp
ror ecx, 2
xor r8d, ecx
mov edx, r14d
mov ecx, r14d
and ecx, ebp
or edx, ebp
and edx, r15d
or edx, ecx
mov ecx, r12d
rol ecx, 7
add esi, edx
add esi, r8d
mov edx, r12d
not edx
mov r8d, r12d
ror r8d, 0xb
and edx, r11d
xor r8d, ecx
mov ecx, r12d
ror ecx, 6
xor r8d, ecx
mov ecx, r12d
and ecx, r10d
xor edx, ecx
mov ecx, esi
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 + 0xc]
mov edx, ebp
add edi, r8d
or edx, esi
and edx, r14d
add r15d, edi
mov r8d, esi
ror r8d, 0xd
xor r8d, ecx
mov ecx, esi
ror ecx, 2
xor r8d, ecx
mov ecx, ebp
and ecx, esi
or edx, ecx
mov ecx, r15d
rol ecx, 7
add edi, edx
add edi, r8d
mov edx, r15d
not edx
mov r8d, r15d
ror r8d, 0xb
and edx, r10d
xor r8d, ecx
mov ecx, r15d
ror ecx, 6
xor r8d, ecx
mov ecx, r12d
and ecx, r15d
xor edx, ecx
mov ecx, edi
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 + 0x10]
mov edx, esi
add r11d, r8d
or edx, edi
add r14d, r11d
and edx, ebp
mov r8d, edi
ror r8d, 0xd
xor r8d, ecx
mov ecx, edi
ror ecx, 2
xor r8d, ecx
mov ecx, esi
and ecx, edi
or edx, ecx
mov ecx, r14d
add r11d, edx
rol ecx, 7
add r11d, r8d
mov r8d, r14d
ror r8d, 0xb
xor r8d, ecx
mov ecx, r14d
lea r9, [r9 + 0x20]
ror ecx, 6
mov edx, r14d
xor r8d, ecx
not edx
and edx, r12d
mov ecx, r15d
and ecx, r14d
xor edx, ecx
mov ecx, r11d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 - 0xc]
mov edx, edi
add r10d, r8d
or edx, r11d
add ebp, r10d
and edx, esi
mov r8d, r11d
ror r8d, 0xd
xor r8d, ecx
mov ecx, r11d
ror ecx, 2
xor r8d, ecx
mov ecx, edi
and ecx, r11d
or edx, ecx
add r10d, edx
add r10d, r8d
sub rax, 1
jne 0x140097bd0
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x88]
bswap r10d
bswap r11d
bswap edi
bswap esi
bswap ebp
bswap r14d
bswap r15d
bswap r12d
mov dword [rbx + rax - 8], r10d
add rax, 0x20
mov dword [r9 - 4], r11d
mov dword [r9], edi
mov dword [r9 + 4], esi
mov dword [r9 + 8], ebp
mov dword [r9 + 0xc], r14d
mov dword [r9 + 0x10], r15d
mov dword [r9 + 0x14], r12d
add r9, 0x20
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x20], r9
sub r13, 1
jne 0x140097b80
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x78]
add rsp, 0x48
pop r13
pop rdi
pop rsi
pop rbx
ret