Function at 0x140267ae0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rax, qword [rsp + 0xe0]
mov esi, dword [rax]
mov ebx, dword [rax + 4]
mov eax, dword [rsp + 0xe8]
mov r12, r9
mov rdi, rcx
mov rbp, rdx
mov r11d, r8d
lea r9d, [r8 - 8]
bswap esi
bswap ebx
test eax, eax
je 0x140267ce0
test r9d, r9d
js 0x140268090
mov r14d, r9d
mov dword [rsp + 0x5c], r9d
mov r13, rdx
shr r14d, 3
mov qword [rsp + 0xc8], rdx
lea eax, [r14 + 1]
mov dword [rsp + 0x58], r14d
lea r8, [rax*8]
mov dword [rsp + 0xd0], r11d
lea rax, [rcx + r8]
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0xd8], r12
nop dword [rax]
mov edx, dword [rdi]
mov eax, dword [rdi + 4]
add r13, 8
add rdi, 8
mov rcx, qword [rsp + 0x28]
bswap edx
xor edx, esi
bswap eax
xor eax, ebx
mov dword [rsp + 0x68], edx
mov rdx, qword [rsp + 0xd8]
mov dword [rsp + 0x6c], eax
call fcn.140267410
mov ebx, dword [rsp + 0x6c]
mov esi, dword [rsp + 0x68]
mov ebp, ebx
movzx eax, bl
mov r11d, ebx
mov r10d, ebx
shr ebp, 8
shl rax, 8
mov r9d, esi
mov r8d, esi
mov r14d, ebp
movzx ebp, bpl
shr r11d, 0x10
mov ecx, esi
or rax, rbp
movzx edx, r11b
movzx r11d, r11b
shr r10d, 0x18
shl rax, 8
mov byte [rsp + 0x44], r10b
movzx r10d, r10b
shr ecx, 0x18
or rax, r11
movzx r11d, sil
shr r9d, 8
mov r12d, ecx
shl rax, 8
mov byte [rsp + 0x38], r9b
movzx r9d, r9b
movzx ecx, cl
or rax, r10
shr r8d, 0x10
mov byte [rsp + 0x40], sil
mov r15d, ebx
shl rax, 8
mov byte [rsp + 0x34], r8b
movzx r8d, r8b
or rax, r11
shl rax, 8
or rax, r9
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
mov qword [r13 - 8], rax
mov rax, qword [rsp + 0x48]
cmp rdi, rax
jne 0x140267b80
mov edi, r14d
mov r14d, dword [rsp + 0x58]
mov r13d, r12d
mov r8, qword [rsp + 0x50]
mov r11d, dword [rsp + 0xd0]
mov r9d, dword [rsp + 0x5c]
mov eax, r14d
mov rbp, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd8]
neg eax
shl eax, 3
lea ecx, [r11 + rax - 0x10]
cmp ecx, 0xfffffff8
je 0x140267e58
add rbp, r8
lea r11d, [rax + r9]
mov rdi, qword [rsp + 0x48]
movsxd rax, r11d
add rdi, rax
movzx r8d, byte [rdi - 1]
mov rax, rdi
cmp r11d, 7
ja case.0x140267cd7.0
lea rcx, [0x140451f98]
mov edx, r11d
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
cmp r8d, 7
jle 0x140268020
mov r15d, r9d
mov dword [rsp + 0x40], r9d
mov r14, rcx
shr r15d, 3
mov qword [rsp + 0xc0], rcx
lea eax, [r15 + 1]
mov dword [rsp + 0x34], r15d
lea rdx, [rax*8]
lea rax, [rsp + 0x68]
mov dword [rsp + 0xd0], r8d
mov qword [rsp + 0x28], rax
lea r13, [rbp + rdx]
mov qword [rsp + 0x38], rdx
nop
mov r15d, ebx
mov rcx, qword [rsp + 0x28]
mov ebx, dword [r14 + 4]
mov edi, esi
mov esi, dword [r14]
mov rdx, r12
add rbp, 8
add r14, 8
bswap ebx
mov dword [rsp + 0x6c], ebx
bswap esi
mov dword [rsp + 0x68], esi
call fcn.140267760
mov eax, dword [rsp + 0x6c]
xor edi, dword [rsp + 0x68]
mov r9d, edi
movzx edx, dil
mov r8d, edi
mov ecx, edi
shr r9d, 8
xor eax, r15d
shr r8d, 0x10
mov r15d, eax
mov r10d, eax
mov r11d, eax
movzx eax, al
shr r15d, 8
shl rax, 8
movzx r9d, r9b
movzx r8d, r8b
shr r11d, 0x10
movzx r15d, r15b
shr r10d, 0x18
or rax, r15
movzx r11d, r11b
movzx r10d, r10b
shr ecx, 0x18
shl rax, 8
movzx ecx, cl
or rax, r11
shl rax, 8
or rax, r10
shl rax, 8
or rax, rdx
shl rax, 8
or rax, r9
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
mov qword [rbp - 8], rax
cmp rbp, r13
jne 0x140267d30
mov r15d, dword [rsp + 0x34]
mov r11d, dword [rsp + 0xd0]
mov rdx, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x40]
neg r15d
mov rdi, qword [rsp + 0xc0]
shl r15d, 3
lea eax, [r11 + r15 - 0x10]
cmp eax, 0xfffffff8
jne 0x1402680f0
mov eax, esi
mov byte [rsp + 0x40], sil
mov r15d, ebx
shr eax, 0x18
mov r13d, eax
mov eax, esi
shr eax, 0x10
mov byte [rsp + 0x34], al
mov eax, esi
movzx eax, ah
mov dword [rsp + 0x38], eax
mov eax, ebx
shr eax, 0x18
mov dword [rsp + 0x44], eax
mov eax, ebx
shr eax, 0x10
movzx edx, al
movzx eax, bh
mov edi, eax
movzx eax, r15b
movzx r15d, dil
mov rdi, qword [rsp + 0xe0]
shl rax, 8
or rax, r15
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x44]
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x40]
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x38]
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x34]
shl rax, 8
or rax, rdx
movzx edx, r13b
shl rax, 8
or rax, rdx
mov qword [rdi], rax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r8d, r8d
movzx edx, byte [rax - 1]
sub rax, 1
shl edx, 0x10
or edx, r8d
lea rcx, [rax - 1]
movzx eax, byte [rax - 1]
shl eax, 0x18
or eax, edx
xor ebx, eax
movzx r8d, byte [rcx - 1]
lea rax, [rcx - 1]
movzx ecx, byte [rax - 1]
lea rdx, [rax - 1]
shl ecx, 8
or ecx, r8d
lea rax, [rdx - 1]
movzx edx, byte [rdx - 1]
shl edx, 0x10
or edx, ecx
movzx eax, byte [rax - 1]
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x6c], ebx
shl eax, 0x18
or eax, edx
mov rdx, r12
xor eax, esi
mov dword [rsp + 0x68], eax
call fcn.140267410
mov eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x68]
mov r11d, eax
mov r9d, eax
mov r10d, eax
mov r15d, eax
shr r11d, 8
movzx eax, al
shr r10d, 0x10
mov esi, ecx
mov edi, r11d
shl rax, 8
movzx r11d, r11b
movzx edx, r10b
or rax, r11
movzx r10d, r10b
shr r9d, 0x18
mov ebx, ecx
shl rax, 8
mov byte [rsp + 0x44], r9b
movzx r9d, r9b
mov r8d, ecx
mov byte [rsp + 0x40], cl
or rax, r10
movzx ecx, cl
shr r8d, 8
shl rax, 8
mov byte [rsp + 0x38], r8b
shr ebx, 0x10
or rax, r9
mov byte [rsp + 0x34], bl
shr esi, 0x18
shl rax, 8
mov r13d, esi
or rax, rcx
movzx ecx, r8b
shl rax, 8
mov r8, rax
movzx eax, bl
or r8, rcx
mov rbx, r8
shl rbx, 8
or rbx, rax
movzx eax, sil
mov rsi, rbx
shl rsi, 8
or rsi, rax
mov qword [rbp], rsi
jmp 0x140267e58
xor edx, edx
jmp 0x140267ed9
mov rcx, rdi
jmp 0x140267ee8
xor r8d, r8d
jmp 0x140267ef1
mov rdx, rdi
xor ecx, ecx
jmp 0x140267eff
lea rax, [rsp + 0x68]
mov r14d, esi
mov r13, rdx
mov ebp, ebx
mov qword [rsp + 0x28], rax
mov esi, dword [rdi]
mov ebx, dword [rdi + 4]
mov rdx, r12
mov dword [rsp + 0xd0], r11d
mov rcx, qword [rsp + 0x28]
bswap esi
bswap ebx
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x6c], ebx
call fcn.140267760
xor r14d, dword [rsp + 0x68]
xor ebp, dword [rsp + 0x6c]
movsxd rax, dword [rsp + 0xd0]
mov r11, rax
add rax, r13
cmp r11d, 7
ja case.0x140268086.0
lea rcx, [0x140451fb8]
mov r11d, r11d
movsxd rdx, dword [rcx + r11*4]
add rdx, rcx
jmp rdx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x28], rax
jmp 0x140267ca9
mov ecx, ebp
sub rax, 1
mov byte [rax], ch
mov edx, ebp
sub rax, 1
shr edx, 0x10
mov byte [rax], dl
shr ebp, 0x18
lea rdx, [rax - 1]
mov byte [rax - 1], bpl
mov byte [rdx - 1], r14b
lea rax, [rdx - 1]
mov ecx, r14d
lea rdx, [rax - 1]
mov byte [rax - 1], ch
mov ecx, r14d
lea rax, [rdx - 1]
shr ecx, 0x10
mov byte [rdx - 1], cl
shr r14d, 0x18
mov byte [rax - 1], r14b
jmp 0x140267e20
add rdi, rdx
lea r11d, [r15 + r9]
mov r14d, esi
mov ebp, ebx
jmp 0x140268032
sub rax, 1
shl r8d, 8
jmp 0x140267ecb
mov rdx, rax
jmp 0x1402680c2
mov rdx, rax
jmp 0x1402680d4
xor edx, edx
jmp 0x140267f0c