Function at 0x1400e18a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x260
call fcn.140103e70
sub rsp, rax
xor ebx, ebx
mov r12, r8
mov r13, rcx
lea rcx, [rsp + 0x1a0]
lea r8d, [rbx + 1]
xor r9d, r9d
mov esi, ebx
call fcn.1400fae40
mov rax, qword [0x14014f200]
lea r11, [rsp + 0xa0]
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0xe0]
mov qword [r11], rax
mov rax, qword [0x14014f208]
mov ebp, 0x1bf
mov qword [r11 + 8], rax
mov rax, qword [0x14014f210]
mov r15d, 0xff
mov qword [r11 + 0x10], rax
mov rax, qword [0x14014f218]
mov r14d, 0x1ffffffc
mov qword [r11 + 0x18], rax
mov rax, qword [0x14014f220]
mov qword [r11 + 0x20], rax
mov rax, qword [0x14014f228]
mov qword [r11 + 0x28], rax
mov rax, qword [0x14014f230]
mov qword [r11 + 0x30], rax
mov rax, qword [0x14014f238]
mov qword [r11 + 0x38], rax
mov rax, qword [0x14014f1c0]
mov qword [rcx], rax
mov rax, qword [0x14014f1c8]
mov qword [rcx + 8], rax
mov rax, qword [0x14014f1d0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14014f1d8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14014f1e0]
mov qword [rcx + 0x20], rax
mov rax, qword [0x14014f1e8]
mov qword [rcx + 0x28], rax
mov rax, qword [0x14014f1f0]
mov qword [rcx + 0x30], rax
mov rax, qword [0x14014f1f8]
mov qword [rcx + 0x38], rax
lea rcx, [rsp + 0x1a0]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx + 0x28]
mov qword [rdx + 0x28], rax
mov rax, qword [rcx + 0x30]
mov qword [rdx + 0x30], rax
mov rax, qword [rcx + 0x38]
lea rcx, [rsp + 0x60]
mov qword [rdx + 0x38], rax
mov rax, qword [0x14014f200]
mov qword [rcx], rax
mov rax, qword [0x14014f208]
mov qword [rcx + 8], rax
mov rax, qword [0x14014f210]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14014f218]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14014f220]
mov qword [rcx + 0x20], rax
mov rax, qword [0x14014f228]
mov qword [rcx + 0x28], rax
mov rax, qword [0x14014f230]
mov qword [rcx + 0x30], rax
mov rax, qword [0x14014f238]
mov qword [rcx + 0x38], rax
nop dword [rax]
mov eax, ebp
cdq
and edx, 7
add eax, edx
mov r8d, eax
and eax, 7
sar r8d, 3
sub eax, edx
movsxd rcx, r8d
mov dl, byte [rcx + r12]
test r8d, r8d
jne 0x1400e1a85
and dl, 0xfc
jmp 0x1400e1a92
movzx edx, dl
cmp ebp, 0x1bf
cmove edx, r15d
movzx ecx, al
movzx edi, dl
mov r8, rbx
shr edi, cl
and edi, 1
neg edi
xor esi, edi
nop word [rax + rax]
mov ecx, dword [rsp + r8 + 0xa0]
mov edx, dword [rsp + r8 + 0xe0]
add r8, 0x10
mov eax, ecx
xor eax, edx
and eax, esi
xor ecx, eax
xor edx, eax
mov dword [rsp + r8 + 0x90], ecx
mov ecx, dword [rsp + r8 + 0x94]
mov dword [rsp + r8 + 0xd0], edx
mov edx, dword [rsp + r8 + 0xd4]
mov eax, ecx
xor eax, edx
and eax, esi
xor ecx, eax
xor edx, eax
mov dword [rsp + r8 + 0x94], ecx
mov ecx, dword [rsp + r8 + 0x98]
mov dword [rsp + r8 + 0xd4], edx
mov edx, dword [rsp + r8 + 0xd8]
mov eax, ecx
xor eax, edx
and eax, esi
xor ecx, eax
xor edx, eax
mov dword [rsp + r8 + 0x98], ecx
mov ecx, dword [rsp + r8 + 0x9c]
mov dword [rsp + r8 + 0xd8], edx
mov edx, dword [rsp + r8 + 0xdc]
mov eax, ecx
xor eax, edx
and eax, esi
xor ecx, eax
xor edx, eax
mov dword [rsp + r8 + 0x9c], ecx
mov dword [rsp + r8 + 0xdc], edx
cmp r8, 0x40
jb 0x1400e1ab0
mov r8, rbx
nop dword [rax]
mov ecx, dword [rsp + r8 + 0x20]
mov edx, dword [rsp + r8 + 0x60]
add r8, 0x10
mov eax, ecx
xor eax, edx
and eax, esi
xor ecx, eax
xor edx, eax
mov dword [rsp + r8 + 0x10], ecx
mov ecx, dword [rsp + r8 + 0x14]
mov dword [rsp + r8 + 0x50], edx
mov edx, dword [rsp + r8 + 0x54]
mov eax, ecx
xor eax, edx
and eax, esi
xor ecx, eax
xor edx, eax
mov dword [rsp + r8 + 0x14], ecx
mov ecx, dword [rsp + r8 + 0x18]
mov dword [rsp + r8 + 0x54], edx
mov edx, dword [rsp + r8 + 0x58]
mov eax, ecx
xor eax, edx
and eax, esi
xor ecx, eax
xor edx, eax
mov dword [rsp + r8 + 0x18], ecx
mov ecx, dword [rsp + r8 + 0x1c]
mov dword [rsp + r8 + 0x58], edx
mov edx, dword [rsp + r8 + 0x5c]
mov eax, ecx
xor eax, edx
and eax, esi
xor ecx, eax
xor edx, eax
mov dword [rsp + r8 + 0x1c], ecx
mov dword [rsp + r8 + 0x5c], edx
cmp r8, 0x40
jb 0x1400e1b70
mov esi, edi
mov rcx, rbx
mov edx, 4
mov eax, dword [rsp + rcx + 0x20]
add rcx, 0x10
add eax, dword [rsp + rcx + 0x90]
mov dword [rsp + rcx + 0x150], eax
mov eax, dword [rsp + rcx + 0x14]
add eax, dword [rsp + rcx + 0x94]
mov dword [rsp + rcx + 0x154], eax
mov eax, dword [rsp + rcx + 0x18]
add eax, dword [rsp + rcx + 0x98]
mov dword [rsp + rcx + 0x158], eax
mov eax, dword [rsp + rcx + 0x1c]
add eax, dword [rsp + rcx + 0x9c]
sub rdx, 1
mov dword [rsp + rcx + 0x15c], eax
jne 0x1400e1c00
mov rcx, rbx
mov edx, 4
nop word [rax + rax]
mov eax, dword [rsp + rcx + 0xa0]
add rcx, 0x10
sub eax, dword [rsp + rcx + 0x10]
mov dword [rsp + rcx + 0x110], eax
mov eax, dword [rsp + rcx + 0x94]
sub eax, dword [rsp + rcx + 0x14]
mov dword [rsp + rcx + 0x114], eax
mov eax, dword [rsp + rcx + 0x98]
sub eax, dword [rsp + rcx + 0x18]
mov dword [rsp + rcx + 0x118], eax
mov eax, dword [rsp + rcx + 0x9c]
sub eax, dword [rsp + rcx + 0x1c]
sub rdx, 1
mov dword [rsp + rcx + 0x11c], eax
jne 0x1400e1c60
mov ecx, ebx
lea rdx, [rsp + 0x120]
nop dword [rax]
cmp ecx, 8
mov eax, 0x1ffffffe
cmove eax, r14d
inc ecx
add rdx, 4
add dword [rdx - 4], eax
cmp ecx, 0x10
jb 0x1400e1cc0
mov r10d, dword [rsp + 0x15c]
mov r9d, recv
lea r8, [rsp + 0x15c]
shr r10d, 0x1c
add dword [rsp + 0x140], r10d
nop dword [rax]
mov eax, dword [r8]
mov ecx, dword [r8 - 4]
lea r8, [r8 - 4]
shr ecx, 0x1c
and eax, 0xfffffff
add ecx, eax
add r9d, 0xffffffff
mov dword [r8 + 4], ecx
jne 0x1400e1d00
mov eax, dword [rsp + 0x120]
mov rcx, rbx
mov edx, 4
and eax, 0xfffffff
add eax, r10d
mov dword [rsp + 0x120], eax
nop dword [rax]
mov eax, dword [rsp + rcx + 0xe0]
add rcx, 0x10
sub eax, dword [rsp + rcx + 0x50]
mov dword [rsp + rcx + 0x10], eax
mov eax, dword [rsp + rcx + 0xd4]
sub eax, dword [rsp + rcx + 0x54]
mov dword [rsp + rcx + 0x14], eax
mov eax, dword [rsp + rcx + 0xd8]
sub eax, dword [rsp + rcx + 0x58]
mov dword [rsp + rcx + 0x18], eax
mov eax, dword [rsp + rcx + 0xdc]
sub eax, dword [rsp + rcx + 0x5c]
sub rdx, 1
mov dword [rsp + rcx + 0x1c], eax
jne 0x1400e1d40
mov ecx, ebx
lea rdx, [rsp + 0x20]
nop dword [rax]
cmp ecx, 8
mov eax, 0x1ffffffe
cmove eax, r14d
inc ecx
add rdx, 4
add dword [rdx - 4], eax
cmp ecx, 0x10
jb 0x1400e1d90
mov r10d, dword [rsp + 0x5c]
mov r9d, recv
lea r8, [rsp + 0x5c]
shr r10d, 0x1c
add dword [rsp + 0x40], r10d
nop word [rax + rax]
mov eax, dword [r8]
mov ecx, dword [r8 - 4]
lea r8, [r8 - 4]
shr ecx, 0x1c
and eax, 0xfffffff
add ecx, eax
add r9d, 0xffffffff
mov dword [r8 + 4], ecx
jne 0x1400e1dd0
mov eax, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x160]
and eax, 0xfffffff
lea rcx, [rsp + 0xa0]
add eax, r10d
mov dword [rsp + 0x20], eax
call fcn.1400faf60
mov r11, rbx
mov ecx, 4
mov eax, dword [rsp + r11 + 0x60]
add r11, 0x10
add eax, dword [rsp + r11 + 0xd0]
mov dword [rsp + r11 + 0x10], eax
mov eax, dword [rsp + r11 + 0x54]
add eax, dword [rsp + r11 + 0xd4]
mov dword [rsp + r11 + 0x14], eax
mov eax, dword [rsp + r11 + 0x58]
add eax, dword [rsp + r11 + 0xd8]
mov dword [rsp + r11 + 0x18], eax
mov eax, dword [rsp + r11 + 0x5c]
add eax, dword [rsp + r11 + 0xdc]
sub rcx, 1
mov dword [rsp + r11 + 0x1c], eax
jne 0x1400e1e21
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0xe0]
call fcn.1400faf60
mov r11, rbx
mov ecx, 4
nop word [rax + rax]
mov eax, dword [rsp + r11 + 0xa0]
add r11, 0x10
sub eax, dword [rsp + r11 + 0xd0]
mov dword [rsp + r11 + 0x50], eax
mov eax, dword [rsp + r11 + 0x94]
sub eax, dword [rsp + r11 + 0xd4]
mov dword [rsp + r11 + 0x54], eax
mov eax, dword [rsp + r11 + 0x98]
sub eax, dword [rsp + r11 + 0xd8]
mov dword [rsp + r11 + 0x58], eax
mov eax, dword [rsp + r11 + 0x9c]
sub eax, dword [rsp + r11 + 0xdc]
sub rcx, 1
mov dword [rsp + r11 + 0x5c], eax
jne 0x1400e1ea0
mov ecx, ebx
lea rdx, [rsp + 0x60]
nop word [rax + rax]
cmp ecx, 8
mov eax, 0x1ffffffe
cmove eax, r14d
inc ecx
add rdx, 4
add dword [rdx - 4], eax
cmp ecx, 0x10
jb 0x1400e1f10
mov r10d, dword [rsp + 0x9c]
mov r9d, recv
lea r8, [rsp + 0x9c]
shr r10d, 0x1c
add dword [rsp + 0x80], r10d
nop dword [rax]
mov eax, dword [r8]
mov ecx, dword [r8 - 4]
lea r8, [r8 - 4]
shr ecx, 0x1c
and eax, 0xfffffff
add ecx, eax
add r9d, 0xffffffff
mov dword [r8 + 4], ecx
jne 0x1400e1f50
mov eax, dword [rsp + 0x60]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
and eax, 0xfffffff
add eax, r10d
mov dword [rsp + 0x60], eax
call fcn.1400fb580
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x60]
call fcn.1400faf60
mov r11, rbx
mov ecx, 4
nop dword [rax]
mov eax, dword [rsp + r11 + 0xe0]
add r11, 0x10
add eax, dword [rsp + r11 + 0x90]
mov dword [rsp + r11 + 0x10], eax
mov eax, dword [rsp + r11 + 0x94]
add eax, dword [rsp + r11 + 0xd4]
mov dword [rsp + r11 + 0x14], eax
mov eax, dword [rsp + r11 + 0x98]
add eax, dword [rsp + r11 + 0xd8]
mov dword [rsp + r11 + 0x18], eax
mov eax, dword [rsp + r11 + 0x9c]
add eax, dword [rsp + r11 + 0xdc]
sub rcx, 1
mov dword [rsp + r11 + 0x1c], eax
jne 0x1400e1fb0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0xe0]
call fcn.1400fb580
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400fb580
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x160]
call fcn.1400fb580
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0xa0]
call fcn.1400faf60
mov r11, rbx
mov ecx, 4
nop dword [rax]
mov eax, dword [rsp + r11 + 0x20]
add r11, 0x10
sub eax, dword [rsp + r11 + 0x150]
mov dword [rsp + r11 + 0x110], eax
mov eax, dword [rsp + r11 + 0x14]
sub eax, dword [rsp + r11 + 0x154]
mov dword [rsp + r11 + 0x114], eax
mov eax, dword [rsp + r11 + 0x18]
sub eax, dword [rsp + r11 + 0x158]
mov dword [rsp + r11 + 0x118], eax
mov eax, dword [rsp + r11 + 0x1c]
sub eax, dword [rsp + r11 + 0x15c]
sub rcx, 1
mov dword [rsp + r11 + 0x11c], eax
jne 0x1400e2070
mov ecx, ebx
lea rdx, [rsp + 0x120]
nop dword [rax + rax]
cmp ecx, 8
mov eax, 0x1ffffffe
cmove eax, r14d
inc ecx
add rdx, 4
add dword [rdx - 4], eax
cmp ecx, 0x10
jb 0x1400e20e0
mov r10d, dword [rsp + 0x15c]
mov r9d, recv
lea r8, [rsp + 0x15c]
shr r10d, 0x1c
add dword [rsp + 0x140], r10d
nop dword [rax]
mov eax, dword [r8]
mov ecx, dword [r8 - 4]
lea r8, [r8 - 4]
shr ecx, 0x1c
and eax, 0xfffffff
add ecx, eax
add r9d, 0xffffffff
mov dword [r8 + 4], ecx
jne 0x1400e2120
mov eax, dword [rsp + 0x120]
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x160]
and eax, 0xfffffff
mov r8d, 0x98a9
add eax, r10d
mov dword [rsp + 0x120], eax
call fcn.1400fb3a0
mov r11, rbx
mov ecx, 4
nop dword [rax + rax]
mov eax, dword [rsp + r11 + 0x20]
add r11, 0x10
add dword [rsp + r11 + 0x150], eax
mov eax, dword [rsp + r11 + 0x14]
add dword [rsp + r11 + 0x154], eax
mov eax, dword [rsp + r11 + 0x18]
add dword [rsp + r11 + 0x158], eax
mov eax, dword [rsp + r11 + 0x1c]
add dword [rsp + r11 + 0x15c], eax
sub rcx, 1
jne 0x1400e2180
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x20]
call fcn.1400faf60
sub ebp, 1
jns 0x1400e1a60
mov r9, rbx
nop word [rax + rax]
mov ecx, dword [rsp + r9 + 0xa0]
mov r8d, dword [rsp + r9 + 0xe0]
add r9, 0x10
mov edx, ecx
xor edx, r8d
and edx, edi
mov eax, edx
xor edx, r8d
mov dword [rsp + r9 + 0xd0], edx
mov r8d, dword [rsp + r9 + 0xd4]
xor eax, ecx
mov dword [rsp + r9 + 0x90], eax
mov ecx, dword [rsp + r9 + 0x94]
mov edx, ecx
xor edx, r8d
and edx, edi
mov eax, edx
xor edx, r8d
mov dword [rsp + r9 + 0xd4], edx
mov r8d, dword [rsp + r9 + 0xd8]
xor eax, ecx
mov dword [rsp + r9 + 0x94], eax
mov ecx, dword [rsp + r9 + 0x98]
mov edx, ecx
xor edx, r8d
and edx, edi
mov eax, edx
xor edx, r8d
mov dword [rsp + r9 + 0xd8], edx
mov r8d, dword [rsp + r9 + 0xdc]
xor eax, ecx
mov dword [rsp + r9 + 0x98], eax
mov ecx, dword [rsp + r9 + 0x9c]
mov edx, ecx
xor edx, r8d
and edx, edi
mov eax, edx
xor edx, r8d
xor eax, ecx
mov dword [rsp + r9 + 0xdc], edx
mov dword [rsp + r9 + 0x9c], eax
cmp r9, 0x40
jb 0x1400e21f0
nop word [rax + rax]
mov ecx, dword [rsp + rbx + 0x20]
mov edx, dword [rsp + rbx + 0x60]
add rbx, 0x10
mov eax, ecx
xor eax, edx
and eax, edi
xor ecx, eax
xor edx, eax
mov dword [rsp + rbx + 0x10], ecx
mov ecx, dword [rsp + rbx + 0x14]
mov dword [rsp + rbx + 0x50], edx
mov edx, dword [rsp + rbx + 0x54]
mov eax, ecx
xor eax, edx
and eax, edi
xor ecx, eax
xor edx, eax
mov dword [rsp + rbx + 0x14], ecx
mov ecx, dword [rsp + rbx + 0x18]
mov dword [rsp + rbx + 0x54], edx
mov edx, dword [rsp + rbx + 0x58]
mov eax, ecx
xor eax, edx
and eax, edi
xor ecx, eax
xor edx, eax
mov dword [rsp + rbx + 0x18], ecx
mov ecx, dword [rsp + rbx + 0x1c]
mov dword [rsp + rbx + 0x58], edx
mov edx, dword [rsp + rbx + 0x5c]
mov eax, ecx
xor eax, edx
and eax, edi
xor ecx, eax
xor edx, eax
mov dword [rsp + rbx + 0x1c], ecx
mov dword [rsp + rbx + 0x5c], edx
cmp rbx, 0x40
jb 0x1400e22c0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x1e0]
call fcn.1400fb580
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x220]
call fcn.1400fa8d0
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x1e0]
call fcn.1400fb580
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x220]
call fcn.1400faf60
lea rcx, [rsp + 0x220]
lea r11, [rsp + 0x20]
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0xa0]
mov qword [r11], rax
mov rax, qword [rcx + 8]
mov qword [r11 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r11 + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r11 + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [r11 + 0x20], rax
mov rax, qword [rcx + 0x28]
mov qword [r11 + 0x28], rax
mov rax, qword [rcx + 0x30]
mov qword [r11 + 0x30], rax
mov rax, qword [rcx + 0x38]
lea rcx, [rsp + 0x1a0]
mov qword [r11 + 0x38], rax
call fcn.1400faf60
lea rdx, [rsp + 0x1a0]
mov r8d, 1
mov rcx, r13
call fcn.1400facd0
lea rdx, [0x14014f1c0]
lea rcx, [rsp + 0x1a0]
call fcn.1400fa750
lea rcx, [rsp + 0x1a0]
mov edx, 0x40
mov ebx, eax
not ebx
call fcn.140055e30
lea rcx, [rsp + 0xa0]
mov edx, 0x40
call fcn.140055e30
lea rcx, [rsp + 0x20]
mov edx, 0x40
call fcn.140055e30
lea rcx, [rsp + 0xe0]
mov edx, 0x40
call fcn.140055e30
lea rcx, [rsp + 0x60]
mov edx, 0x40
call fcn.140055e30
lea rcx, [rsp + 0x160]
mov edx, 0x40
call fcn.140055e30
lea rcx, [rsp + 0x120]
mov edx, 0x40
call fcn.140055e30
lea r11, [rsp + 0x260]
mov eax, ebx
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret