Function at 0x140003c30
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
sub rsp, 0x280
lea r11, [rsp + 6]
xor r10d, r10d
lea rbx, [rsp + 0xe]
sub r11, rdx
lea rdi, [rsp + 0x16]
sub rbx, rdx
lea rsi, [rsp + 0x1e]
sub rdi, rdx
lea r15, [rsp + 0x26]
sub rsi, rdx
lea r12, [rsp + 0x2e]
sub r15, rdx
lea rbp, [rsp + 0x36]
sub r12, rdx
sub rbp, rdx
lea r13, [rsp]
sub r13, rdx
lea rax, [rdx + 2]
mov r9, rdx
mov r14, rcx
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 [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 [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 [r15 + 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 0x140003ca0
mov r15, qword [rsp + 0x70]
lea r10, [rsp + 0x70]
mov r12d, 8
nop word [rax + rax]
mov r8, qword [r10 - 0x68]
lea rbp, [r10]
mov rdi, qword [rbp + 8]
mov rsi, r8
mov r9, qword [rbp - 0x58]
mov rax, r8
mov rbx, qword [rbp - 0x50]
mov rcx, r15
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, r15
ror rax, 0x13
xor rcx, rax
mov rax, r15
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 rax, rdi
shr rax, 6
xor rdx, rax
mov qword [r10 + 0x10], rsi
mov r10, qword [r10 - 0x60]
mov rcx, r10
mov rax, r10
ror rax, 1
ror rcx, 8
xor rcx, rax
mov rax, r10
shr rax, 7
xor rcx, rax
mov rax, rsi
add rdx, rcx
ror rax, 0x13
add rdx, qword [rbp - 0x20]
mov rcx, r9
add r8, rdx
ror rcx, 8
mov r11, r8
mov qword [rbp + 0x18], r8
ror r11, 0x3d
mov rdx, rsi
ror rdx, 0x3d
xor rdx, rax
mov rax, rsi
shr rax, 6
xor rdx, rax
mov rax, r9
ror rax, 1
xor rcx, rax
mov rax, r9
shr rax, 7
xor rcx, rax
mov rax, r8
ror rax, 0x13
add rdx, rcx
add rdx, qword [rbp - 0x18]
xor r11, rax
shr r8, 6
add r10, rdx
mov rax, rbx
mov qword [rbp + 0x20], r10
ror rax, 1
mov rcx, rbx
ror rcx, 8
xor r11, r8
xor rcx, rax
mov rax, rbx
shr rax, 7
xor rcx, rax
mov r8, qword [rbp - 0x40]
add r11, rcx
add r11, qword [rbp - 0x10]
mov rcx, r10
add r11, r9
ror rcx, 0x3d
mov r9, qword [rbp - 0x48]
mov rdx, r9
mov qword [rbp + 0x28], r11
ror rdx, 8
mov rax, r9
ror rax, 1
xor rdx, rax
mov rax, r9
shr rax, 7
xor rdx, rax
mov rax, r10
ror rax, 0x13
xor rcx, rax
shr r10, 6
xor r10, rcx
mov rax, r8
ror rax, 1
add r10, rdx
add r10, qword [rbp - 8]
mov rdx, r8
ror rdx, 8
add r10, rbx
xor rdx, rax
mov qword [rbp + 0x30], r10
mov rax, r8
mov rcx, r11
shr rax, 7
xor rdx, rax
ror rcx, 0x3d
add r9, rdx
mov rax, r11
ror rax, 0x13
xor rcx, rax
shr r11, 6
xor rcx, r11
mov r11, qword [rbp - 0x38]
add r9, rcx
mov rdx, r11
add r9, r15
ror rdx, 8
mov r15, r10
mov qword [rbp + 0x38], r9
ror r15, 0x3d
mov rax, r11
ror rax, 1
xor rdx, rax
mov rax, r11
shr rax, 7
xor rdx, rax
mov rax, r10
ror rax, 0x13
xor r15, rax
shr r10, 6
xor r15, r10
lea r10, [rbp + 0x40]
lea rax, [r8 + rdx]
mov r8, qword [rbp - 0x30]
add r15, rax
mov rdx, r9
ror rdx, 0x3d
mov rax, r9
ror rax, 0x13
mov rcx, r8
xor rdx, rax
shr r9, 6
mov rax, r8
ror rcx, 8
ror rax, 1
xor rdx, r9
xor rcx, rax
shr r8, 7
add r15, rdi
xor rcx, r8
mov qword [r10], r15
lea rax, [rsi + rdx]
add rcx, rax
add rcx, r11
mov qword [rbp + 0x48], rcx
sub r12, 1
jne 0x140003f80
mov r13, qword [r14 + 0x18]
lea r12, [0x14004f910]
mov r8, qword [r14 + 0x10]
mov r9, r13
mov r10, qword [r14 + 0x20]
xor r15d, r15d
mov r11, qword [r14 + 0x28]
mov rbx, qword [r14 + 0x30]
mov rdi, qword [r14 + 0x38]
mov rsi, qword [r14 + 0x40]
mov rbp, qword [r14 + 0x48]
nop word [rax + rax]
movsxd rax, r15d
mov rdx, rbx
ror rdx, 0x29
inc r15d
lea rcx, [rax*8]
mov rax, rbx
ror rax, 0x12
xor rdx, rax
mov rax, rbx
ror rax, 0xe
xor rdx, rax
mov rax, rsi
xor rax, rdi
and rax, rbx
xor rax, rsi
add rdx, rax
mov rax, r8
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r8
ror rax, 0x22
add rdx, rbp
add r11, rdx
ror rcx, 0x27
xor rcx, rax
mov rbp, r9
or rbp, r8
mov rax, r8
ror rax, 0x1c
and rbp, r10
xor rcx, rax
mov rax, r9
and rax, r8
or rbp, rax
lea rax, [rdx + rcx]
mov rdx, r11
add rbp, rax
ror rdx, 0x29
movsxd rax, r15d
inc r15d
lea rcx, [rax*8]
mov rax, r11
ror rax, 0x12
xor rdx, rax
mov rax, r11
ror rax, 0xe
xor rdx, rax
mov rax, rdi
xor rax, rbx
and rax, r11
xor rax, rdi
add rdx, rax
mov rax, rbp
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, rbp
ror rax, 0x22
add rdx, rsi
add r10, rdx
ror rcx, 0x27
xor rcx, rax
mov rsi, rbp
or rsi, r8
mov rax, rbp
ror rax, 0x1c
and rsi, r9
xor rcx, rax
mov rax, rbp
and rax, r8
or rsi, rax
lea rax, [rdx + rcx]
mov rdx, r10
add rsi, rax
ror rdx, 0x29
movsxd rax, r15d
lea rcx, [rax*8]
mov rax, r10
ror rax, 0x12
xor rdx, rax
mov rax, r10
ror rax, 0xe
xor rdx, rax
inc r15d
mov rax, rbx
xor rax, r11
and rax, r10
xor rax, rbx
add rdx, rax
mov rax, rsi
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, rsi
ror rax, 0x22
add rdx, rdi
add r9, rdx
ror rcx, 0x27
xor rcx, rax
mov rdi, rbp
or rdi, rsi
mov rax, rsi
ror rax, 0x1c
and rdi, r8
xor rcx, rax
mov rax, rbp
and rax, rsi
or rdi, rax
lea rax, [rdx + rcx]
mov rdx, r9
add rdi, rax
ror rdx, 0x29
movsxd rax, r15d
inc r15d
lea rcx, [rax*8]
mov rax, r9
ror rax, 0x12
xor rdx, rax
mov rax, r9
ror rax, 0xe
xor rdx, rax
mov rax, r11
xor rax, r10
and rax, r9
xor rax, r11
add rdx, rax
mov rax, rdi
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, rdi
ror rax, 0x22
add rdx, rbx
add r8, rdx
ror rcx, 0x27
xor rcx, rax
mov rbx, rsi
or rbx, rdi
mov rax, rdi
ror rax, 0x1c
and rbx, rbp
xor rcx, rax
mov rax, rsi
and rax, rdi
or rbx, rax
lea rax, [rdx + rcx]
mov rdx, r8
add rbx, rax
ror rdx, 0x29
movsxd rax, r15d
lea rcx, [rax*8]
mov rax, r8
ror rax, 0x12
xor rdx, rax
mov rax, r8
ror rax, 0xe
xor rdx, rax
mov rax, r10
xor rax, r9
and rax, r8
xor rax, r10
add rdx, rax
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
add rdx, r11
add rbp, rdx
inc r15d
mov r11, rdi
mov rcx, rbx
ror rcx, 0x27
or r11, rbx
and r11, rsi
mov rax, rbx
ror rax, 0x22
xor rcx, rax
mov rax, rbx
ror rax, 0x1c
xor rcx, rax
mov rax, rdi
and rax, rbx
or r11, rax
lea rax, [rdx + rcx]
mov rdx, rbp
add r11, rax
ror rdx, 0x29
movsxd rax, r15d
inc r15d
lea rcx, [rax*8]
mov rax, rbp
ror rax, 0x12
xor rdx, rax
mov rax, rbp
ror rax, 0xe
xor rdx, rax
mov rax, r9
xor rax, r8
and rax, rbp
xor rax, r9
add rdx, rax
mov rax, r11
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r11
ror rax, 0x22
add rdx, r10
add rsi, rdx
ror rcx, 0x27
xor rcx, rax
mov r10, rbx
or r10, r11
mov rax, r11
ror rax, 0x1c
and r10, rdi
xor rcx, rax
mov rax, rbx
and rax, r11
or r10, rax
lea rax, [rdx + rcx]
mov rdx, rsi
add r10, rax
ror rdx, 0x29
movsxd rax, r15d
lea rcx, [rax*8]
mov rax, rsi
ror rax, 0x12
xor rdx, rax
mov rax, rsi
ror rax, 0xe
xor rdx, rax
mov rax, rbp
xor rax, r8
and rax, rsi
xor rax, r8
add rdx, rax
mov rax, r10
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r10
ror rax, 0x22
add rdx, r9
ror rcx, 0x27
add rdi, rdx
xor rcx, rax
mov rax, r10
ror rax, 0x1c
xor rcx, rax
inc r15d
mov r9, r11
or r9, r10
mov rax, r11
and rax, r10
and r9, rbx
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
mov rdx, rdi
ror rdx, 0x29
movsxd rax, r15d
inc r15d
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, rsi
and rax, rdi
xor rax, rbp
add rdx, rax
mov rax, r9
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r9
add rdx, r8
ror rax, 0x22
ror rcx, 0x27
mov r8, r10
xor rcx, rax
or r8, r9
and r8, r11
mov rax, r9
ror rax, 0x1c
add rbx, rdx
xor rcx, rax
mov rax, r10
and rax, r9
or r8, rax
lea rax, [rdx + rcx]
add r8, rax
cmp r15d, 0x50
jl 0x1400041f0
add qword [r14 + 0x28], r11
lea rax, [r9 + r13]
add qword [r14 + 0x30], rbx
lea r11, [rsp + 0x280]
add qword [r14 + 0x40], rsi
add qword [r14 + 0x10], r8
add qword [r14 + 0x20], r10
add qword [r14 + 0x38], rdi
add qword [r14 + 0x48], rbp
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov qword [r14 + 0x18], rax
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret