Function at 0x1400a4100
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.140103e70
sub rsp, rax
mov r11, r8
mov r8, rcx
test rcx, rcx
je 0x1400a470e
test r11, r11
je 0x1400a470e
cmp edx, 0x80
je 0x1400a4147
cmp edx, 0xc0
je 0x1400a4147
cmp edx, 0x100
je 0x1400a4147
mov eax, 0xfffffffe
add rsp, 8
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp], rdi
cmp edx, 0x80
jne 0x1400a4165
mov dword [r11 + 0xf0], 0xa
jmp 0x1400a417f
mov eax, recv
mov ecx, recv
cmp edx, 0xc0
cmove eax, ecx
mov dword [r11 + 0xf0], eax
mov eax, dword [r8]
lea r9, [r11 + 4]
mov edi, eax
ror edi, 8
and edi, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or edi, eax
mov dword [r11], edi
mov ecx, dword [r8 + 4]
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
mov dword [r9], eax
mov ecx, dword [r8 + 8]
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
mov dword [r11 + 8], eax
mov eax, dword [r8 + 0xc]
mov ebx, eax
ror ebx, 8
and ebx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ebx, eax
mov dword [r11 + 0xc], ebx
cmp edx, 0x80
jne 0x1400a4347
lea r10, [0x140000000]
mov eax, ebx
shr rax, 0x10
movzx ecx, al
mov eax, ebx
mov r8d, dword [r10 + rcx*4 + 0x13c8c0]
shr rax, 8
movzx ecx, al
btc r8d, 0x18
mov eax, dword [r10 + rcx*4 + 0x13ccc0]
and r8d, 0xff000000
and eax, 0xff0000
xor r8d, eax
mov eax, ebx
shr rax, 0x18
movzx eax, byte [r10 + rax*4 + 0x13c4c0]
xor r8d, eax
movzx eax, bl
mov ecx, dword [r10 + rax*4 + 0x13c0c0]
mov eax, dword [r9]
and ecx, 0xff00
xor r8d, ecx
mov ecx, dword [r11 + 8]
xor r8d, edi
xor eax, r8d
mov dword [r11 + 0x10], r8d
xor ecx, eax
mov dword [r11 + 0x14], eax
mov dword [r11 + 0x18], ecx
xor ecx, ebx
lea rbx, [0x14013e1e8]
mov dword [r11 + 0x1c], ecx
lea r11, [0x14013e1c4]
nop word [rax + rax]
mov edx, dword [r9 + 0x18]
add r9, 0x10
add r11, 4
mov rax, rdx
shr rax, 8
movzx ecx, al
mov rax, rdx
mov r8d, dword [r10 + rcx*4 + 0x13ccc0]
shr rax, 0x10
movzx ecx, al
and r8d, 0xff0000
mov eax, dword [r10 + rcx*4 + 0x13c8c0]
and eax, 0xff000000
xor r8d, eax
mov rax, rdx
shr rax, 0x18
movzx eax, byte [r10 + rax*4 + 0x13c4c0]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r10 + rax*4 + 0x13c0c0]
and ecx, 0xff00
xor r8d, ecx
xor r8d, dword [r9 - 4]
xor r8d, dword [r11 - 4]
mov dword [r9 + 0xc], r8d
mov eax, dword [r9]
xor eax, r8d
mov dword [r9 + 0x10], eax
mov ecx, dword [r9 + 4]
xor ecx, eax
mov dword [r9 + 0x14], ecx
xor ecx, dword [r9 + 8]
mov dword [r9 + 0x18], ecx
cmp r11, rbx
jne 0x1400a42a0
mov rbx, qword [rsp + 0x10]
mov rdi, qword [rsp]
xor eax, eax
add rsp, 8
ret
mov eax, dword [r8 + 0x10]
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [r11 + 0x10], ecx
mov eax, dword [r8 + 0x14]
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [r11 + 0x14], ecx
cmp edx, 0xc0
jne 0x1400a44f0
mov edx, ecx
mov eax, ecx
lea r10, [0x140000000]
shr rax, 0x10
lea rbx, [0x14013e1e0]
movzx ecx, al
mov rax, rdx
mov r8d, dword [r10 + rcx*4 + 0x13c8c0]
shr rax, 8
movzx ecx, al
btc r8d, 0x18
mov eax, dword [r10 + rcx*4 + 0x13ccc0]
and r8d, 0xff000000
and eax, 0xff0000
xor r8d, eax
mov rax, rdx
shr rax, 0x18
movzx eax, byte [r10 + rax*4 + 0x13c4c0]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r10 + rax*4 + 0x13c0c0]
mov eax, dword [r9]
lea r9, [r11 + 0x28]
and ecx, 0xff00
xor r8d, ecx
mov ecx, dword [r11 + 8]
xor r8d, edi
xor eax, r8d
mov dword [r11 + 0x18], r8d
mov dword [r11 + 0x1c], eax
xor ecx, eax
mov eax, dword [r11 + 0xc]
xor eax, ecx
mov dword [r11 + 0x20], ecx
mov dword [r11 + 0x24], eax
lea r11, [0x14013e1c4]
nop dword [rax + rax]
mov ecx, dword [r9 - 0x18]
mov eax, dword [r9 - 0x14]
add r9, 0x18
xor ecx, dword [r9 - 0x1c]
add r11, 4
xor eax, ecx
mov dword [r9 - 0x18], ecx
mov dword [r9 - 0x14], eax
mov edx, dword [r9 - 0x14]
mov rax, rdx
shr rax, 8
movzx ecx, al
mov rax, rdx
mov r8d, dword [r10 + rcx*4 + 0x13ccc0]
shr rax, 0x10
movzx ecx, al
and r8d, 0xff0000
mov eax, dword [r10 + rcx*4 + 0x13c8c0]
and eax, 0xff000000
xor r8d, eax
mov rax, rdx
shr rax, 0x18
movzx eax, byte [r10 + rax*4 + 0x13c4c0]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r10 + rax*4 + 0x13c0c0]
and ecx, 0xff00
xor r8d, ecx
xor r8d, dword [r9 - 0x28]
xor r8d, dword [r11 - 4]
mov dword [r9 - 0x10], r8d
mov eax, dword [r9 - 0x24]
xor eax, r8d
mov dword [r9 - 0xc], eax
mov ecx, dword [r9 - 0x20]
xor ecx, eax
mov dword [r9 - 8], ecx
mov eax, dword [r9 - 0x1c]
xor eax, ecx
mov dword [r9 - 4], eax
cmp r11, rbx
jne 0x1400a4430
mov rbx, qword [rsp + 0x10]
mov rdi, qword [rsp]
xor eax, eax
add rsp, 8
ret
mov eax, dword [r8 + 0x18]
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [r11 + 0x18], ecx
mov eax, dword [r8 + 0x1c]
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [r11 + 0x1c], ecx
cmp edx, 0x100
jne 0x1400a46fe
mov edx, ecx
mov eax, ecx
lea r10, [0x140000000]
shr rax, 0x10
lea rbx, [0x14013e1dc]
movzx ecx, al
mov rax, rdx
mov r8d, dword [r10 + rcx*4 + 0x13c8c0]
shr rax, 8
movzx ecx, al
btc r8d, 0x18
mov eax, dword [r10 + rcx*4 + 0x13ccc0]
and r8d, 0xff000000
and eax, 0xff0000
xor r8d, eax
mov rax, rdx
shr rax, 0x18
movzx eax, byte [r10 + rax*4 + 0x13c4c0]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r10 + rax*4 + 0x13c0c0]
mov eax, dword [r9]
lea r9, [r11 + 0x30]
and ecx, 0xff00
xor r8d, ecx
mov ecx, dword [r11 + 8]
xor r8d, edi
xor eax, r8d
mov dword [r11 + 0x20], r8d
mov dword [r11 + 0x24], eax
xor ecx, eax
mov eax, dword [r11 + 0xc]
xor eax, ecx
mov dword [r11 + 0x28], ecx
mov dword [r11 + 0x2c], eax
lea r11, [0x14013e1c4]
nop word [rax + rax]
mov edx, dword [r9 - 4]
add r9, 0x20
add r11, 4
mov rax, rdx
shr rax, 0x10
movzx ecx, al
mov rax, rdx
mov r8d, dword [r10 + rcx*4 + 0x13ccc0]
shr rax, 8
movzx ecx, al
and r8d, 0xff0000
mov eax, dword [r10 + rcx*4 + 0x13c0c0]
mov ecx, dword [r9 - 0x38]
and eax, 0xff00
xor r8d, eax
mov rax, rdx
shr rax, 0x18
mov eax, dword [r10 + rax*4 + 0x13c8c0]
and eax, 0xff000000
xor r8d, eax
movzx eax, dl
movzx eax, byte [r10 + rax*4 + 0x13c4c0]
xor r8d, eax
mov eax, dword [r9 - 0x3c]
xor r8d, dword [r9 - 0x40]
xor eax, r8d
mov dword [r9 - 0x20], r8d
mov dword [r9 - 0x1c], eax
xor ecx, eax
mov eax, dword [r9 - 0x34]
xor eax, ecx
mov dword [r9 - 0x18], ecx
mov dword [r9 - 0x14], eax
mov edx, dword [r9 - 0x14]
mov rax, rdx
shr rax, 8
movzx ecx, al
mov rax, rdx
mov r8d, dword [r10 + rcx*4 + 0x13ccc0]
shr rax, 0x10
movzx ecx, al
and r8d, 0xff0000
mov eax, dword [r10 + rcx*4 + 0x13c8c0]
and eax, 0xff000000
xor r8d, eax
mov rax, rdx
shr rax, 0x18
movzx eax, byte [r10 + rax*4 + 0x13c4c0]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r10 + rax*4 + 0x13c0c0]
and ecx, 0xff00
xor r8d, ecx
xor r8d, dword [r9 - 0x30]
xor r8d, dword [r11 - 4]
mov dword [r9 - 0x10], r8d
mov eax, dword [r9 - 0x2c]
xor eax, r8d
mov dword [r9 - 0xc], eax
mov ecx, dword [r9 - 0x28]
xor ecx, eax
mov dword [r9 - 8], ecx
mov eax, dword [r9 - 0x24]
xor eax, ecx
mov dword [r9 - 4], eax
cmp r11, rbx
jne 0x1400a45e0
mov rbx, qword [rsp + 0x10]
mov rdi, qword [rsp]
xor eax, eax
add rsp, 8
ret
or eax, 0xffffffff
add rsp, 8
ret