Function at 0x1400975d0
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 0x1400975f9
call fcn.140041540
mov ecx, reloc.WS2_32.dll_recv
mov qword [rsp + 0x78], rbp
call fcn.1400506a0
test al, al
je 0x140097642
cmp r13, 8
jb 0x140097642
mov rbp, r13
shr rbp, 3
imul rax, rbp, 0xfffffffffffffff8
add r13, rax
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.1400b15b0
add rdi, 0x100
add rbx, 0x100
sub rbp, 1
jne 0x140097620
call fcn.1400769d0
test al, al
je 0x14009767c
cmp r13, 4
jb 0x14009767c
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.1400afe50
sub rdi, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
sub rbp, 1
jne 0x140097660
test r13, r13
je 0x140097a86
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, 0xf8
bswap esi
bswap ebp
bswap r14d
bswap r15d
bswap r12d
nop word [rax + rax]
mov r8d, r11d
mov ecx, r11d
rol ecx, 0xa
mov edx, edi
ror r8d, 0xd
or edx, r11d
xor r8d, ecx
and edx, esi
mov ecx, r11d
ror ecx, 2
xor r8d, ecx
mov ecx, edi
and ecx, r11d
or edx, ecx
mov ecx, r14d
add r8d, edx
rol ecx, 7
sub r10d, r8d
mov edx, r14d
not edx
sub ebp, r10d
and edx, r12d
mov r8d, r14d
ror r8d, 0xb
xor r8d, ecx
mov ecx, r14d
ror ecx, 6
xor r8d, ecx
mov ecx, r15d
and ecx, r14d
xor edx, ecx
mov ecx, edi
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 + 4]
mov edx, esi
sub r10d, r8d
or edx, edi
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, r15d
add r8d, edx
rol ecx, 7
sub r11d, r8d
mov edx, r15d
not edx
sub r14d, r11d
and edx, r10d
mov r8d, r15d
ror r8d, 0xb
xor r8d, ecx
mov ecx, r15d
ror ecx, 6
xor r8d, ecx
mov ecx, r12d
and ecx, r15d
xor edx, ecx
mov ecx, esi
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9]
mov edx, ebp
sub r11d, r8d
or edx, esi
mov r8d, esi
and edx, r14d
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, r12d
add r8d, edx
rol ecx, 7
sub edi, r8d
mov edx, r12d
not edx
sub r15d, edi
and edx, r11d
mov r8d, r12d
ror r8d, 0xb
xor r8d, ecx
mov ecx, r12d
ror ecx, 6
xor r8d, ecx
mov ecx, r12d
and ecx, r10d
xor edx, ecx
mov ecx, ebp
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 - 4]
mov edx, r14d
sub edi, r8d
or edx, ebp
and edx, r15d
mov r8d, ebp
ror r8d, 0xd
xor r8d, ecx
mov ecx, ebp
ror ecx, 2
xor r8d, ecx
mov ecx, r14d
and ecx, ebp
or edx, ecx
mov ecx, r10d
add r8d, edx
rol ecx, 7
sub esi, r8d
mov edx, r10d
not edx
sub r12d, esi
and edx, edi
mov r8d, r10d
ror r8d, 0xb
xor r8d, ecx
mov ecx, r10d
ror ecx, 6
xor r8d, ecx
mov ecx, r11d
and ecx, r10d
xor edx, ecx
mov ecx, r14d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 - 8]
mov edx, r15d
sub esi, r8d
or edx, r14d
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, r11d
add r8d, edx
rol ecx, 7
sub ebp, r8d
mov edx, r11d
mov r8d, r11d
sub r10d, ebp
ror r8d, 0xb
xor r8d, ecx
mov ecx, r11d
ror ecx, 6
xor r8d, ecx
not edx
mov ecx, edi
and ecx, r11d
and edx, esi
xor edx, ecx
mov ecx, r15d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 - 0xc]
mov edx, r12d
sub ebp, r8d
or edx, r15d
and edx, r10d
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, edi
add r8d, edx
rol ecx, 7
sub r14d, r8d
mov edx, edi
not edx
sub r11d, r14d
and edx, ebp
mov r8d, edi
ror r8d, 0xb
xor r8d, ecx
mov ecx, edi
ror ecx, 6
xor r8d, ecx
mov ecx, esi
and ecx, edi
xor edx, ecx
mov ecx, r12d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 - 0x10]
mov edx, r12d
sub r14d, r8d
or edx, r10d
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, esi
add r8d, edx
rol ecx, 7
sub r15d, r8d
mov edx, esi
not edx
sub edi, r15d
and edx, r14d
mov r8d, esi
ror r8d, 0xb
xor r8d, ecx
mov ecx, esi
ror ecx, 6
xor r8d, ecx
mov ecx, ebp
and ecx, esi
xor edx, ecx
mov ecx, r10d
add r8d, edx
rol ecx, 0xa
add r8d, dword [r9 - 0x14]
sub r15d, r8d
mov r8d, r10d
ror r8d, 0xd
xor r8d, ecx
mov ecx, r10d
lea r9, [r9 - 0x20]
ror ecx, 2
mov edx, r11d
xor r8d, ecx
or edx, r10d
and edx, edi
mov ecx, r11d
and ecx, r10d
or edx, ecx
mov ecx, ebp
add r8d, edx
rol ecx, 7
sub r12d, r8d
mov edx, ebp
not edx
sub esi, r12d
and edx, r15d
mov r8d, ebp
ror r8d, 0xb
xor r8d, ecx
mov ecx, ebp
ror ecx, 6
xor r8d, ecx
mov ecx, r14d
and ecx, ebp
xor edx, ecx
add r8d, edx
add r8d, dword [r9 + 8]
sub r12d, r8d
sub rax, 1
jne 0x140097700
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 0x1400976b0
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