Function at 0x140074880
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
lea r11, [rsp + 0x36]
xor r10d, r10d
lea rbx, [rsp + 0x3e]
sub r11, rdx
lea rdi, [rsp + 0x46]
sub rbx, rdx
lea rsi, [rsp + 0x4e]
sub rdi, rdx
lea r14, [rsp + 0x56]
sub rsi, rdx
lea r12, [rsp + 0x5e]
sub r14, rdx
lea rbp, [rsp + 0x66]
sub r12, rdx
sub rbp, rdx
lea r13, [rsp + 0x30]
sub r13, rdx
lea rax, [rdx + 2]
mov r9, rdx
mov r15, rcx
nop dword [rax]
nop dword [rax + rax]
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 - 2], 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 [r11 + rax], 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 [rbx + rax], 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 [rdi + rax], 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 [rsi + rax], 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 [r14 + rax], 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 [r12 + rax], 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 + rbp - 0x40], rdx
cmp r10d, 0x10
jl 0x1400748f0
mov r14, qword [rsp + 0xa0]
lea r10, [rsp + 0xa0]
mov r12d, 8
nop dword [rax]
mov r8, qword [r10 - 0x68]
lea rbp, [r10]
mov r9, qword [r10 - 0x60]
mov rsi, r8
mov rdi, qword [r10 + 8]
mov rax, r8
mov rbx, qword [rbp - 0x50]
mov rcx, r14
ror rax, 1
mov rdx, rdi
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
add rsi, qword [r10 - 0x70]
xor rdx, rax
add rsi, qword [r10 - 0x28]
mov rcx, r9
ror rcx, 8
mov rax, rdi
shr rax, 6
xor rdx, rax
mov qword [r10 + 0x10], rsi
mov rax, r9
ror rax, 1
xor rcx, rax
mov rax, r9
shr rax, 7
xor rcx, rax
add rdx, rcx
mov rcx, rsi
add rdx, qword [r10 - 0x20]
add r8, rdx
ror rcx, 0x3d
mov qword [r10 + 0x18], r8
mov r10, qword [r10 - 0x58]
mov rdx, r10
mov rax, r10
ror rax, 1
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, r8
add rdx, rcx
ror rax, 0x13
add rdx, qword [rbp - 0x18]
mov rcx, rbx
add r9, rdx
ror rcx, 8
mov rdx, r8
mov qword [rbp + 0x20], r9
ror rdx, 0x3d
xor rdx, rax
shr r8, 6
mov rax, rbx
xor r8, rdx
ror rax, 1
xor rcx, rax
mov rax, rbx
shr rax, 7
xor rcx, rax
mov r11, qword [rbp - 0x48]
add r8, rcx
add r8, qword [rbp - 0x10]
mov rdx, r9
ror rdx, 0x3d
mov rax, r9
ror rax, 0x13
add r8, r10
xor rdx, rax
mov r10, qword [rbp - 0x40]
shr r9, 6
mov rax, r11
ror rax, 1
xor rdx, r9
mov qword [rbp + 0x28], r8
mov rcx, r11
ror rcx, 8
mov r9, r10
xor rcx, rax
ror r9, 8
mov rax, r11
shr rax, 7
xor rcx, rax
mov rax, r8
ror rax, 0x13
add rdx, rcx
add rdx, qword [rbp - 8]
add rbx, rdx
mov rdx, r8
ror rdx, 0x3d
xor rdx, rax
shr r8, 6
xor rdx, r8
mov qword [rbp + 0x30], rbx
mov r8, qword [rbp - 0x30]
mov rax, r10
ror rax, 1
mov rcx, r8
xor r9, rax
ror rcx, 8
mov rax, r10
shr rax, 7
xor r9, rax
lea rax, [r11 + rdx]
mov r11, qword [rbp - 0x38]
add r9, rax
add r9, r14
mov rdx, r11
ror rdx, 8
mov r14, rbx
ror r14, 0x3d
mov rax, r11
ror rax, 1
xor rdx, rax
mov qword [rbp + 0x38], r9
mov rax, r11
shr rax, 7
xor rdx, rax
mov rax, rbx
ror rax, 0x13
xor r14, rax
shr rbx, 6
xor r14, rbx
lea rax, [r10 + rdx]
mov rdx, r9
add r14, rax
ror rdx, 0x3d
mov rax, r9
lea r10, [rbp + 0x40]
ror rax, 0x13
add r14, rdi
xor rdx, rax
shr r9, 6
mov rax, r8
mov qword [r10], r14
ror rax, 1
xor rdx, r9
xor rcx, rax
shr r8, 7
xor rcx, r8
lea rax, [rsi + rdx]
add rcx, rax
add rcx, r11
mov qword [rbp + 0x48], rcx
sub r12, 1
jne 0x140074bd0
mov rax, qword [r15 + 0x18]
lea r13, [0x1400b8580]
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
movsxd rax, r12d
mov rdx, rbx
ror rdx, 0x29
inc r12d
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 + r13]
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, r12d
inc r12d
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 + r13]
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, r12d
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 r12d
mov rax, rdi
xor rax, rbx
and rax, rsi
xor rax, rbx
add rdx, rax
mov rax, r10
add rdx, qword [rcx + r13]
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, r12d
inc r12d
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 + r13]
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, r12d
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 + r13]
add r8, qword [rsp + rcx + 0x30]
add r8, rdi
lea rdi, [r9 + r8]
inc r12d
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, r12d
mov rdx, r9
ror rdx, 0x27
inc r12d
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 + r13]
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, r12d
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 + r13]
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 r12d
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, r12d
inc r12d
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 + r13]
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 r12d, 0x50
jl 0x140074e70
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