Function at 0x140150b50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2b0
mov r15, rcx
lea r11, [rsp + 0x36]
xor r13d, r13d
lea rcx, [rsp + 0x30]
lea rbx, [rsp + 0x3e]
sub rcx, rdx
lea rdi, [rsp + 0x46]
sub r11, rdx
lea rsi, [rsp + 0x4e]
sub rbx, rdx
lea rbp, [rsp + 0x56]
sub rdi, rdx
lea r14, [rsp + 0x5e]
sub rsi, rdx
lea r12, [rsp + 0x66]
sub rbp, rdx
sub r14, rdx
lea rax, [rdx + 2]
sub r12, rdx
mov r10d, r13d
add rcx, 0xfffffffffffffffe
mov r9, rdx
mov r13, rcx
nop
lea ecx, [r10*8]
movsxd rdx, ecx
movzx ecx, byte [rax - 1]
movzx r8d, byte [rdx + r9]
movzx edx, byte [rax + 6]
shl rdx, 8
shl r8, 8
or r8, rcx
movzx ecx, byte [rax]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax + 1]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax + 2]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax + 3]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax + 4]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax + 5]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax + 7]
or rdx, rcx
mov qword [rax + r13], r8
movzx ecx, byte [rax + 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 9]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xa]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xb]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xc]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xd]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xf]
mov qword [rax + r11], rdx
movzx edx, byte [rax + 0xe]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x10]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x11]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x12]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x13]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x14]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x15]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x17]
mov qword [rax + rbx], rdx
movzx edx, byte [rax + 0x16]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x19]
shl rdx, 8
or rdx, rcx
shl rdx, 8
movzx ecx, byte [rax + 0x1a]
or rdx, rcx
movzx ecx, byte [rax + 0x1b]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1c]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1d]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1f]
mov qword [rax + rdi], rdx
movzx edx, byte [rax + 0x1e]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x20]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x21]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x22]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x23]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x24]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x25]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x27]
mov qword [rax + rsi], rdx
movzx edx, byte [rax + 0x26]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x28]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x29]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x2a]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x2b]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x2c]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x2d]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x2f]
mov qword [rax + rbp], rdx
movzx edx, byte [rax + 0x2e]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x30]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x31]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x32]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x33]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x34]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x35]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x37]
add r10d, 8
mov qword [rax + r14], rdx
movzx edx, byte [rax + 0x36]
lea rax, [rax + 0x40]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 7]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 6]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 3]
shl rdx, 8
or rdx, rcx
mov qword [rax + r12 - 0x40], rdx
cmp r10d, 0x10
jl 0x140150bc0
mov r14, qword [rsp + 0xa0]
lea rbp, [rsp + 0xa0]
mov r12d, 8
xor r13d, r13d
nop
mov r8, qword [rbp - 0x68]
mov rcx, r14
mov r9, qword [rbp - 0x60]
mov rsi, r8
mov rdi, qword [rbp + 8]
mov rax, r8
mov r10, qword [rbp - 0x58]
mov rdx, rdi
mov rbx, qword [rbp - 0x50]
ror rax, 1
ror rcx, 0x3d
ror rdx, 0x3d
ror rsi, 8
xor rsi, rax
mov rax, r8
shr rax, 7
xor rsi, rax
mov rax, r14
ror rax, 0x13
xor rcx, rax
mov rax, r14
shr rax, 6
xor rcx, rax
mov rax, rdi
ror rax, 0x13
add rsi, rcx
xor rdx, rax
add rsi, qword [rbp - 0x70]
add rsi, qword [rbp - 0x28]
mov rcx, r9
ror rcx, 8
mov rax, rdi
shr rax, 6
xor rdx, rax
mov qword [rbp + 0x10], rsi
mov rax, r9
ror rax, 1
xor rcx, rax
mov rax, r9
shr rax, 7
xor rcx, rax
mov rax, r10
add rdx, rcx
ror rax, 1
add rdx, qword [rbp - 0x20]
mov rcx, rsi
add r8, rdx
ror rcx, 0x3d
mov rdx, r10
mov qword [rbp + 0x18], r8
ror rdx, 8
xor rdx, rax
mov rax, r10
shr rax, 7
xor rdx, rax
mov rax, rsi
ror rax, 0x13
xor rcx, rax
mov rax, rsi
shr rax, 6
xor rcx, rax
mov rax, rbx
add rdx, rcx
ror rax, 1
add rdx, qword [rbp - 0x18]
mov rcx, r8
add r9, rdx
ror rcx, 0x3d
mov rdx, rbx
mov qword [rbp + 0x20], r9
ror rdx, 8
xor rdx, rax
mov rax, rbx
shr rax, 7
xor rdx, rax
mov rax, r8
ror rax, 0x13
xor rcx, rax
shr r8, 6
xor rcx, r8
add rdx, rcx
add rdx, qword [rbp - 0x10]
mov rcx, r9
mov r11, qword [rbp - 0x48]
add r10, rdx
mov r8, qword [rbp - 0x40]
mov rdx, r11
ror rdx, 8
mov rax, r11
ror rax, 1
xor rdx, rax
ror rcx, 0x3d
mov qword [rbp + 0x28], r10
mov rax, r11
shr rax, 7
xor rdx, rax
mov rax, r9
ror rax, 0x13
xor rcx, rax
shr r9, 6
xor r9, rcx
mov rax, r8
ror rax, 1
add r9, rdx
add r9, qword [rbp - 8]
mov rcx, r10
ror rcx, 0x3d
add r9, rbx
mov rdx, r8
mov qword [rbp + 0x30], r9
ror rdx, 8
xor rdx, rax
mov rax, r8
shr rax, 7
xor rdx, rax
mov rax, r10
ror rax, 0x13
xor rcx, rax
shr r10, 6
xor r10, rcx
lea rax, [r14 + rdx]
mov r14, r9
add r10, rax
ror r14, 0x3d
add r10, r11
mov r11, qword [rbp - 0x38]
mov rdx, r11
mov qword [rbp + 0x38], r10
ror rdx, 8
mov rax, r11
ror rax, 1
xor rdx, rax
mov rax, r11
shr rax, 7
xor rdx, rax
mov rax, r9
ror rax, 0x13
xor r14, rax
shr r9, 6
xor r14, r9
lea rax, [r8 + rdx]
mov r8, qword [rbp - 0x30]
add r14, rax
mov rdx, r10
ror rdx, 0x3d
mov rax, r10
ror rax, 0x13
mov rcx, r8
xor rdx, rax
ror rcx, 8
shr r10, 6
mov rax, r8
ror rax, 1
xor rdx, r10
xor rcx, rax
shr r8, 7
xor rcx, r8
add r14, rdi
mov qword [rbp + 0x40], r14
lea rax, [rsi + rdx]
add rcx, rax
add rcx, r11
mov qword [rbp + 0x48], rcx
lea rbp, [rbp + 0x40]
sub r12, 1
jne 0x140150ea0
mov rax, qword [r15 + 0x18]
lea r12, [0x140346b30]
mov r8, qword [r15 + 0x10]
mov r11, rax
mov qword [rsp + 0x300], rax
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x308], rax
mov r10, rax
mov rax, qword [r15 + 0x28]
mov qword [rsp], rax
mov r9, rax
mov rax, qword [r15 + 0x30]
mov qword [rsp + 8], rax
mov rbx, rax
mov rax, qword [r15 + 0x38]
mov qword [rsp + 0x10], rax
mov rbp, rax
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0x18], rax
mov rsi, rax
mov rax, qword [r15 + 0x48]
mov qword [rsp + 0x20], rax
mov rdi, rax
nop dword [rax]
movsxd rax, r13d
mov rdx, rbx
ror rdx, 0x29
inc r13d
lea rcx, [rax*8]
mov rax, rbx
ror rax, 0x12
xor rdx, rax
mov rax, rbx
ror rax, 0xe
xor rdx, rax
mov rax, rbp
xor rax, rsi
and rax, rbx
xor rax, rsi
add rdx, rax
mov rax, r8
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx + 0x30]
mov rcx, r8
ror rax, 0x22
add rdx, rdi
ror rcx, 0x27
xor rcx, rax
mov rax, r8
ror rax, 0x1c
xor rcx, rax
lea rdi, [r9 + rdx]
mov r9, r11
mov rax, r11
and rax, r8
or r9, r8
and r9, r10
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
mov rdx, rdi
ror rdx, 0x29
movsxd rax, r13d
inc r13d
lea rcx, [rax*8]
mov rax, rdi
ror rax, 0x12
xor rdx, rax
mov rax, rdi
ror rax, 0xe
xor rdx, rax
mov rax, rbp
xor rax, rbx
and rax, rdi
xor rax, rbp
add rdx, rax
mov rax, r9
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx + 0x30]
mov rcx, r9
ror rax, 0x22
add rdx, rsi
ror rcx, 0x27
xor rcx, rax
mov rax, r9
ror rax, 0x1c
lea rsi, [r10 + rdx]
xor rcx, rax
mov r10, r9
mov rax, r9
and rax, r8
or r10, r8
and r10, r11
or r10, rax
lea rax, [rdx + rcx]
add r10, rax
mov rdx, rsi
movsxd rax, r13d
ror rdx, 0x29
lea rcx, [rax*8]
mov rax, rsi
ror rax, 0x12
xor rdx, rax
mov rax, rsi
ror rax, 0xe
xor rdx, rax
inc r13d
mov rax, rdi
xor rax, rbx
and rax, rsi
xor rax, rbx
add rdx, rax
mov rax, r10
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx + 0x30]
mov rcx, r10
ror rax, 0x22
add rdx, rbp
ror rcx, 0x27
xor rcx, rax
mov rax, r10
ror rax, 0x1c
xor rcx, rax
lea rbp, [r11 + rdx]
mov r11, r10
mov rax, r10
and rax, r9
or r11, r9
and r11, r8
or r11, rax
lea rax, [rdx + rcx]
add r11, rax
mov rdx, rbp
ror rdx, 0x29
movsxd rax, r13d
inc r13d
lea rcx, [rax*8]
mov rax, rbp
ror rax, 0x12
xor rdx, rax
mov rax, rbp
ror rax, 0xe
xor rdx, rax
mov rax, rsi
xor rax, rdi
and rax, rbp
xor rax, rdi
add rdx, rax
mov rax, r11
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx + 0x30]
mov rcx, r11
ror rax, 0x22
add rdx, rbx
ror rcx, 0x27
mov rbx, r11
xor rcx, rax
or rbx, r10
and rbx, r9
mov rax, r11
ror rax, 0x1c
lea r14, [r8 + rdx]
xor rcx, rax
mov r8, r14
ror r8, 0x29
mov rax, r11
and rax, r10
or rbx, rax
lea rax, [rdx + rcx]
add rbx, rax
movsxd rax, r13d
lea rcx, [rax*8]
mov rax, r14
ror rax, 0x12
xor r8, rax
mov rax, r14
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, rsi
and rax, r14
xor rax, rsi
add r8, rax
add r8, qword [rcx + r12]
add r8, qword [rsp + rcx + 0x30]
add r8, rdi
lea rdi, [r9 + r8]
inc r13d
mov rdx, rbx
mov rax, rbx
ror rax, 0x22
mov r9, rbx
ror rdx, 0x27
or r9, r11
xor rdx, rax
and r9, r10
mov rax, rbx
ror rax, 0x1c
xor rdx, rax
mov rax, rbx
and rax, r11
or r9, rax
lea rax, [r8 + rdx]
mov r8, rdi
add r9, rax
ror r8, 0x29
movsxd rax, r13d
mov rdx, r9
ror rdx, 0x27
inc r13d
lea rcx, [rax*8]
mov rax, rdi
ror rax, 0x12
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, r14
xor rax, rbp
and rax, rdi
xor rax, rbp
add r8, rax
mov rax, r9
add r8, qword [rcx + r12]
add r8, qword [rsp + rcx + 0x30]
ror rax, 0x22
add r8, rsi
xor rdx, rax
mov rax, r9
ror rax, 0x1c
xor rdx, rax
mov rax, rbx
lea rsi, [r10 + r8]
and rax, r9
mov r10, rbx
or r10, r9
and r10, r11
or r10, rax
lea rax, [r8 + rdx]
add r10, rax
mov r8, rsi
ror r8, 0x29
mov rdx, r10
movsxd rax, r13d
ror rdx, 0x27
lea rcx, [rax*8]
mov rax, rsi
ror rax, 0x12
xor r8, rax
mov rax, rsi
ror rax, 0xe
xor r8, rax
mov rax, rdi
xor rax, r14
and rax, rsi
xor rax, r14
add r8, rax
mov rax, r10
add r8, qword [rcx + r12]
add r8, qword [rsp + rcx + 0x30]
ror rax, 0x22
add r8, rbp
xor rdx, rax
mov rax, r10
ror rax, 0x1c
xor rdx, rax
lea rbp, [r11 + r8]
inc r13d
mov r11, r10
or r11, r9
mov rax, r10
and rax, r9
and r11, rbx
or r11, rax
lea rax, [r8 + rdx]
add r11, rax
mov r8, rbp
ror r8, 0x29
mov rdx, r11
movsxd rax, r13d
inc r13d
ror rdx, 0x27
lea rcx, [rax*8]
mov rax, rbp
ror rax, 0x12
xor r8, rax
mov rax, rbp
ror rax, 0xe
xor r8, rax
mov rax, rdi
xor rax, rsi
and rax, rbp
xor rax, rdi
add r8, rax
mov rax, r11
add r8, qword [rcx + r12]
add r8, qword [rsp + rcx + 0x30]
mov rcx, r11
ror rax, 0x22
add r8, r14
xor rdx, rax
or rcx, r10
add rbx, r8
and rcx, r9
mov rax, r11
ror rax, 0x1c
xor rdx, rax
mov rax, r11
and rax, r10
add r8, rdx
or rcx, rax
add r8, rcx
cmp r13d, 0x50
jl 0x140151140
add qword [r15 + 0x10], r8
mov rax, qword [rsp + 0x300]
add rax, r11
mov qword [r15 + 0x18], rax
mov rax, qword [rsp + 0x308]
add rax, r10
mov qword [r15 + 0x20], rax
mov rax, qword [rsp]
add rax, r9
mov qword [r15 + 0x28], rax
mov rax, qword [rsp + 8]
add rax, rbx
mov rbx, qword [rsp + 0x2f0]
mov qword [r15 + 0x30], rax
mov rax, qword [rsp + 0x10]
add rax, rbp
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x18]
add rax, rsi
mov qword [r15 + 0x40], rax
mov rax, qword [rsp + 0x20]
add rax, rdi
mov qword [r15 + 0x48], rax
add rsp, 0x2b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret