Function at 0x1400dd9e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
xchg r11, r11
push rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
push r13
mov rsi, rsi
nop
mov qword [rsp - 8], r14
sub rsp, 8
push r8
mov qword [rsp], r15
sub rsp, 0x1175c5c6
add rsp, 0x1175c316
mov rax, qword [rcx + 0x10]
mov rdx, rdx
lea rsi, [rsp + 0x38]
xchg rbp, r13
mov rbp, qword [rcx + 8]
xchg r13, rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x300], rax
xchg r13, r13
lea r8, [rsp + 0x36]
mov rax, qword [rcx + 0x18]
lea r9, [rsp + 0x3e]
xchg r15, rax
mov qword [rsp + 0x308], r15
xchg r15, rax
lea r10, [rsp + 0x46]
mov dword [rsp - 0x38], ebp
mov rax, qword [rcx + 0x20]
lea r11, [rsp + 0x4e]
mov qword [rsp], rax
lea rbx, [rsp + 0x56]
mov r13, r13
xchg r11, rax
mov r11, qword [rcx + 0x28]
xchg r11, rax
lea r14, [rsp + 0x30]
mov rbx, rbx
mov qword [rsp + 8], rax
sub rsi, rdx
mov rax, qword [rcx + 0x30]
sub rbp, rdx
mov rdx, rdx
xchg rbp, rax
mov qword [rsp + 0x10], rbp
xchg rbp, rax
sub r8, rdx
mov dword [rsp - 0x20], 0x5388c440
xchg r11, rax
mov r11, qword [rcx + 0x38]
xchg r11, rax
sub r9, rdx
mov dword [rsp - 0x10], ebx
mov qword [rsp + 0x18], rax
sub r10, rdx
xchg r11, rax
mov r11, qword [rcx + 0x40]
xchg r11, rax
sub r11, rdx
sub rbx, rdx
mov rbx, rbx
xchg r15, rax
mov qword [rsp + 0x20], r15
xchg r15, rax
lea rax, [rdx + 0x12]
xchg r14, r14
sub r14, rdx
mov edi, 0x7b04b71e
sub edi, 0x24aa74a7
add edi, 0x26b7e2d6
sub edi, 0x7d12254b
nop dword [rax]
movzx ecx, byte [rax - 0x11]
xchg rsp, rsp
movzx edx, byte [rax - 0x12]
shl rdx, 8
or rdx, rcx
mov rbp, rbp
movzx ecx, byte [rax - 0x10]
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xf]
xchg r14, r14
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xe]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x38], ebx
movzx ecx, byte [rax - 0xd]
shl rdx, 2
shl rdx, 1
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x20], ebx
movzx ecx, byte [rax - 0xc]
shl rdx, 1
shl rdx, 5
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov rdx, rdx
movzx ecx, byte [rax - 0xb]
shl rdx, 3
shl rdx, 1
shl rdx, 4
or rdx, rcx
movzx ecx, byte [rax - 9]
mov dword [rsp - 0x38], 0x41384694
xchg r12, rdx
mov qword [rax + r14 - 0x12], r12
xchg r12, rdx
movzx edx, byte [rax - 0xa]
mov dword [rsp - 0x44], 0x1c4ea164
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x28], 0x2be2ec15
movzx ecx, byte [rax - 8]
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 7]
mov dword [rsp - 0xc], ecx
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x20], ebp
movzx ecx, byte [rax - 6]
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 5]
xchg r13, r13
shl rdx, 2
shl rdx, 2
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg r10, r10
movzx ecx, byte [rax - 4]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov r11, r11
movzx ecx, byte [rax - 3]
shl rdx, 1
shl rdx, 4
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x38], 0x6c2ec962
movzx ecx, byte [rax - 1]
xchg r15, rdx
mov qword [rax + rsi - 0x12], r15
xchg rdx, r15
movzx edx, byte [rax - 2]
xchg rsi, rsi
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
xchg r9, r9
movzx ecx, byte [rax]
shl rdx, 1
shl rdx, 2
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x44], 0xf735666
movzx ecx, byte [rax + 1]
shl rdx, 8
or rdx, rcx
mov dword [rsp - 0x20], esp
movzx ecx, byte [rax + 2]
shl rdx, 4
shl rdx, 4
or rdx, rcx
mov r11, r11
movzx ecx, byte [rax + 3]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 4]
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x38], ecx
movzx ecx, byte [rax + 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 7]
xchg rbx, rbx
xchg rdi, rdx
mov qword [rax + rbp - 0x12], rdi
xchg rdi, rdx
movzx edx, byte [rax + 6]
xchg r9, r9
shl rdx, 2
shl rdx, 6
or rdx, rcx
movzx ecx, byte [rax + 8]
mov dword [rsp - 0x1c], 0x8931506
shl rdx, 1
shl rdx, 6
shl rdx, 1
or rdx, rcx
mov r10, r10
movzx ecx, byte [rax + 9]
shl rdx, 1
shl rdx, 6
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0xc], ebp
movzx ecx, byte [rax + 0xa]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xb]
xchg rdx, rdx
shl rdx, 3
shl rdx, 5
or rdx, rcx
movzx ecx, byte [rax + 0xc]
mov dword [rsp - 0x14], edx
shl rdx, 3
shl rdx, 2
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov rbp, rbp
movzx ecx, byte [rax + 0xd]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xf]
mov qword [rax + r8], rdx
mov dword [rsp - 0x44], ebp
movzx edx, byte [rax + 0xe]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x10]
mov dword [rsp - 0x1c], ebp
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov rcx, rcx
movzx ecx, byte [rax + 0x11]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r13, r13
movzx ecx, byte [rax + 0x12]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x44], edi
movzx ecx, byte [rax + 0x13]
shl rdx, 4
shl rdx, 2
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax + 0x14]
mov dword [rsp - 0x1c], 0x50b1617
shl rdx, 2
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x1c], 0x78adfc85
movzx ecx, byte [rax + 0x15]
shl rdx, 4
shl rdx, 2
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax + 0x17]
xchg r13, rdx
mov qword [rax + r9], r13
xchg r13, rdx
movzx edx, byte [rax + 0x16]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x18]
shl rdx, 1
shl rdx, 1
shl rdx, 2
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0xc], esp
movzx ecx, byte [rax + 0x19]
shl rdx, 8
or rdx, rcx
mov r12, r12
movzx ecx, byte [rax + 0x1a]
shl rdx, 2
shl rdx, 6
or rdx, rcx
mov dword [rsp - 0x1c], edi
movzx ecx, byte [rax + 0x1b]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x40], edi
movzx ecx, byte [rax + 0x1c]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x1d]
mov rdi, rdi
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg rdx, rdx
movzx ecx, byte [rax + 0x1f]
xchg rdx, r9
mov qword [rax + r10], r9
xchg rdx, r9
movzx edx, byte [rax + 0x1e]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
xchg rbp, rbp
movzx ecx, byte [rax + 0x20]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x21]
xchg r11, r11
shl rdx, 4
shl rdx, 1
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x22]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x34], 0xade7529
movzx ecx, byte [rax + 0x23]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x24]
xchg r11, r11
shl rdx, 3
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x3c], 0x2bf90a2d
movzx ecx, byte [rax + 0x25]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
xchg r9, rdx
mov qword [rax + r11], r9
xchg rdx, r9
movzx edx, byte [rax + 0x26]
mov dword [rsp - 0x20], esp
movzx ecx, byte [rax + 0x27]
lea rax, [rax + 0x40]
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 3
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x24], 0x799c0edf
movzx ecx, byte [rax - 0x18]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x17]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x16]
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x15]
shl rdx, 8
mov dword [rsp - 0x3c], edx
or rdx, rcx
movzx ecx, byte [rax - 0x14]
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
xchg rdx, rdx
movzx ecx, byte [rax - 0x13]
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r12, r12
xchg rdx, r10
mov qword [rax + rbx - 0x40], r10
xchg r10, rdx
sub rdi, 1
mov dword [rsp - 0x2c], 0x28623ff
jne 0x1400ddb0d
mov r14, qword [rsp + 0xa0]
lea rbp, [rsp + 0xa0]
xchg rdx, rdx
lea r12d, [rdi + 8]
nop dword [rax]
mov r8, qword [rbp - 0x68]
xchg rsi, r9
mov r9, r14
xchg r9, rsi
xchg r15, r9
mov r15, qword [rbp - 0x60]
xchg r15, r9
mov rcx, r8
mov rdi, qword [rbp + 8]
mov rax, r14
xchg r14, r14
xchg r9, r10
mov r9, qword [rbp - 0x58]
xchg r9, r10
xchg rdx, rdi
mov rdi, rdx
xchg rdi, rdx
mov rbx, qword [rbp - 0x50]
mov dword [rsp - 0x18], 0x1fed7b8b
ror rax, 1
ror rax, 5
ror rax, 1
ror rax, 5
ror rax, 2
ror rax, 5
ror rcx, 3
ror rcx, 5
ror rdx, 0xa
ror rdx, 0x2d
ror rdx, 1
ror rdx, 1
ror rdx, 1
ror rdx, 1
ror rdx, 1
ror rdx, 1
ror rsi, 0x25
ror rsi, 8
ror rsi, 1
ror rsi, 5
ror rsi, 2
ror rsi, 7
ror rsi, 1
xor rsi, rax
xchg r14, rsi
mov rax, rsi
xchg r14, rsi
shr rax, 5
shr rax, 1
xor rsi, rax
mov dword [rsp - 0x10], 0x627c431e
xchg r12, rax
mov r12, r8
xchg r12, rax
ror rax, 1
xchg rsi, rsi
xor rcx, rax
xchg r11, r8
mov rax, r11
xchg r11, r8
shr rax, 1
shr rax, 2
shr rax, 3
shr rax, 1
xor rcx, rax
xchg rsi, rax
mov rsi, rdi
xchg rsi, rax
ror rax, 0xc
ror rax, 1
ror rax, 4
ror rax, 1
ror rax, 1
add rsi, rcx
xor rdx, rax
mov dword [rsp - 0x20], 0x55d264b6
add rsi, qword [rbp - 0x70]
add rsi, qword [rbp - 0x28]
xchg r9, r15
mov rcx, r15
xchg r15, r9
ror rcx, 8
mov dword [rsp - 0x1c], ecx
mov rax, rdi
shr rax, 2
shr rax, 3
shr rax, 1
xor rdx, rax
xchg rsi, r15
mov qword [rbp + 0x10], r15
xchg r15, rsi
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 1
mov rcx, rcx
xor rcx, rax
xchg r8, rax
mov r8, r9
xchg r8, rax
shr rax, 2
shr rax, 2
shr rax, 1
shr rax, 1
shr rax, 1
xor rcx, rax
mov dword [rsp - 0x24], esp
xchg rcx, rsi
mov rax, rcx
xchg rcx, rsi
add rdx, rcx
mov r8, r8
ror rax, 0x10
ror rax, 2
ror rax, 1
add rdx, qword [rbp - 0x20]
xchg rcx, rcx
xchg rcx, r13
mov r13, r10
xchg rcx, r13
add r8, rdx
ror rcx, 5
ror rcx, 3
mov rdx, rsi
mov qword [rbp + 0x18], r8
xchg rcx, rcx
ror rdx, 0x1e
ror rdx, 0x15
ror rdx, 2
ror rdx, 5
ror rdx, 2
ror rdx, 1
xor rdx, rax
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
shr rax, 5
shr rax, 1
xor rdx, rax
xchg rbx, rax
mov rbx, r10
xchg rbx, rax
ror rax, 1
mov rcx, rcx
xor rcx, rax
xchg r10, r13
mov rax, r13
xchg r13, r10
shr rax, 6
shr rax, 1
xor rcx, rax
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
add rdx, rcx
mov dword [rsp - 0x44], ecx
ror rax, 1
add rdx, qword [rbp - 0x18]
xchg rsp, rcx
mov rsp, r8
xchg rsp, rcx
add r9, rdx
mov r15, r15
ror rcx, 0x22
ror rcx, 0x16
ror rcx, 4
ror rcx, 1
mov rdx, rbx
xchg rbp, rbp
xchg rsi, r9
mov qword [rbp + 0x20], rsi
xchg r9, rsi
ror rdx, 2
ror rdx, 6
xor rdx, rax
mov rbx, rbx
xchg rdx, rax
mov rdx, rbx
xchg rdx, rax
shr rax, 6
shr rax, 1
xor rdx, rax
mov rax, r8
mov rdi, rdi
ror rax, 7
ror rax, 7
ror rax, 2
ror rax, 2
ror rax, 1
xor rcx, rax
mov r14, r14
shr r8, 6
xor rcx, r8
add rdx, rcx
xchg r9, r9
add rdx, qword [rbp - 0x10]
xchg rcx, r14
mov r14, r9
xchg r14, rcx
mov r11, qword [rbp - 0x48]
add r10, rdx
xchg rbx, r8
mov rbx, qword [rbp - 0x40]
xchg rbx, r8
xchg r10, r11
mov rdx, r10
xchg r10, r11
ror rdx, 6
ror rdx, 1
ror rdx, 1
xchg r11, rax
mov r11, rax
xchg r11, rax
ror rax, 1
xchg rcx, rcx
xor rdx, rax
ror rcx, 0x3c
ror rcx, 1
xchg r10, rsp
mov qword [rbp + 0x28], rsp
xchg rsp, r10
mov rax, r11
mov rdx, rdx
shr rax, 6
shr rax, 1
xor rdx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 0x13
xor rcx, rax
shr r9, 6
mov dword [rsp - 0x20], 0x1ead28ca
xor r9, rcx
xchg r8, r10
mov rax, r10
xchg r8, r10
ror rax, 1
add r9, rdx
add r9, qword [rbp - 8]
mov dword [rsp - 0x2c], edi
xchg rbx, r10
mov rcx, rbx
xchg r10, rbx
ror rcx, 0x3d
xchg rbp, rbp
add r9, rbx
xchg rdi, r8
mov rdx, rdi
xchg r8, rdi
xchg r8, r9
mov qword [rbp + 0x30], r8
xchg r8, r9
ror rdx, 7
ror rdx, 1
xor rdx, rax
xchg r8, rax
mov r8, rax
xchg r8, rax
shr rax, 7
xor rdx, rax
xchg rdx, rdx
xchg r10, rax
mov r10, rax
xchg r10, rax
ror rax, 0x13
mov dword [rsp - 0x1c], ebx
xor rcx, rax
shr r10, 4
shr r10, 1
shr r10, 1
xor r10, rcx
xchg r15, r15
lea rax, [r14 + rdx]
xchg r14, r11
mov r11, r9
xchg r11, r14
add r10, rax
mov r11, r11
ror r14, 0xa
ror r14, 0x30
ror r14, 1
ror r14, 1
ror r14, 1
add r10, r11
mov r11, qword [rbp - 0x38]
mov rcx, rcx
xchg rcx, rdx
mov rcx, r11
xchg rdx, rcx
xchg r15, r10
mov qword [rbp + 0x38], r15
xchg r10, r15
ror rdx, 3
ror rdx, 1
ror rdx, 3
ror rdx, 1
xchg rbx, rax
mov rbx, r11
xchg rbx, rax
ror rax, 1
mov dword [rsp - 0x2c], 0x7a1ddff5
xor rdx, rax
xchg rcx, rax
mov rcx, r11
xchg rcx, rax
shr rax, 2
shr rax, 1
shr rax, 2
shr rax, 2
xor rdx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 0xb
ror rax, 2
ror rax, 4
ror rax, 1
ror rax, 1
xor r14, rax
mov r9, r9
shr r9, 5
shr r9, 1
xor r14, r9
lea rax, [r8 + rdx]
mov dword [rsp - 0x18], 0x4ed9a261
mov r8, qword [rbp - 0x30]
add r14, rax
xchg rdx, r10
mov r10, rdx
xchg rdx, r10
ror rdx, 0x2d
ror rdx, 4
ror rdx, 4
ror rdx, 6
ror rdx, 1
ror rdx, 1
mov rax, r10
mov r14, r14
ror rax, 0xd
ror rax, 5
ror rax, 1
mov rcx, r8
xor rdx, rax
ror rcx, 3
ror rcx, 1
ror rcx, 3
ror rcx, 1
shr r10, 1
shr r10, 1
shr r10, 2
shr r10, 1
shr r10, 1
xchg rdx, rax
mov rdx, r8
xchg rdx, rax
ror rax, 1
xor rdx, r10
mov rdx, rdx
xor rcx, rax
shr r8, 4
shr r8, 1
shr r8, 1
shr r8, 1
xor rcx, r8
mov dword [rsp - 0x40], 0x3168f976
add r14, rdi
mov qword [rbp + 0x40], r14
lea rax, [rsi + rdx]
add rcx, rax
mov dword [rsp - 0x3c], ecx
add rcx, r11
xchg rsi, rcx
mov qword [rbp + 0x48], rsi
xchg rcx, rsi
lea rbp, [rbp + 0x40]
sub r12, 1
xchg rdx, rdx
jne 0x1400de084
mov r11, qword [rsp + 0x300]
lea r15, [0x140002620]
xchg rdx, r10
mov rdx, qword [rsp + 0x308]
xchg r10, rdx
xchg r8, r13
mov r13, r8
xchg r13, r8
mov r9, qword [rsp]
mov rbx, qword [rsp + 8]
xchg r10, r10
xchg r12, rbp
mov r12, qword [rsp + 0x10]
xchg rbp, r12
xchg rsi, r10
mov r10, qword [rsp + 0x18]
xchg r10, rsi
xchg r14, rdi
mov r14, qword [rsp + 0x20]
xchg rdi, r14
nop dword [rax + rax]
mov r11, r11
xchg rbx, rdx
mov rbx, rdx
xchg rbx, rdx
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
ror rax, 7
ror rax, 5
ror rax, 1
ror rax, 3
ror rax, 1
ror rax, 1
xchg rcx, r13
mov r13, r8
xchg rcx, r13
ror rdx, 0x29
xor rdx, rax
ror rcx, 0x18
ror rcx, 2
ror rcx, 0xa
ror rcx, 1
ror rcx, 1
ror rcx, 1
xchg rdx, rax
mov rdx, rbx
xchg rdx, rax
ror rax, 3
ror rax, 8
ror rax, 1
ror rax, 1
ror rax, 1
xor rdx, rax
mov rax, rbp
mov dword [rsp - 0x3c], 0x265f85d0
xor rax, rsi
and rax, rbx
xor rax, rsi
add rdx, rax
mov dword [rsp - 0xc], ebx
mov rax, r8
add rdx, qword [r12 + r15]
add rdx, qword [rsp + r12 + 0x30]
xchg rcx, rcx
ror rax, 2
ror rax, 5
ror rax, 0x17
ror rax, 3
ror rax, 1
add rdx, rdi
xchg r9, r9
xor rcx, rax
mov rax, r8
ror rax, 0xa
ror rax, 0x12
xor rcx, rax
mov dword [rsp - 0x40], ebx
xchg rdx, r11
mov rax, rdx
xchg rdx, r11
and rax, r8
lea rdi, [r9 + rdx]
mov rbp, rbp
mov r9, r11
or r9, r8
and r9, r10
mov r14, r14
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
xchg r11, r11
xchg rdi, rcx
mov rdx, rcx
xchg rcx, rdi
ror rdx, 9
ror rdx, 0x1a
ror rdx, 3
ror rdx, 1
ror rdx, 1
ror rdx, 1
mov rax, rdi
ror rax, 4
ror rax, 4
ror rax, 4
ror rax, 1
ror rax, 1
ror rax, 2
ror rax, 1
ror rax, 1
mov rcx, r9
mov dword [rsp - 0x30], 0x6e0271b9
xor rdx, rax
ror rcx, 4
ror rcx, 4
ror rcx, 0xa
ror rcx, 5
ror rcx, 5
ror rcx, 7
ror rcx, 2
ror rcx, 1
ror rcx, 1
mov rax, rdi
ror rax, 1
ror rax, 3
ror rax, 9
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x1c], 0x75149534
mov rax, rbp
xor rax, rbx
and rax, rdi
xor rax, rbp
mov rsi, rsi
add rdx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
add rdx, qword [r12 + r15 + 8]
add rdx, qword [rsp + r12 + 0x38]
ror rax, 0xe
ror rax, 0x10
ror rax, 3
ror rax, 1
add rdx, rsi
mov dword [rsp - 0x14], esi
xor rcx, rax
xchg rsp, rax
mov rsp, r9
xchg rsp, rax
ror rax, 0xe
ror rax, 3
ror rax, 5
ror rax, 1
ror rax, 2
ror rax, 2
ror rax, 1
xor rcx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
lea rsi, [r10 + rdx]
and rax, r8
mov dword [rsp - 0x34], 0x5a3ead0c
mov r10, r9
or r10, r8
and r10, r11
or r10, rax
mov dword [rsp - 0x40], ecx
lea rax, [rdx + rcx]
add r10, rax
mov rdx, rsi
ror rdx, 0x1c
ror rdx, 8
ror rdx, 2
ror rdx, 1
ror rdx, 1
ror rdx, 1
mov rax, rsi
ror rax, 6
ror rax, 9
ror rax, 1
ror rax, 1
ror rax, 1
xor rdx, rax
mov rax, rsi
mov dword [rsp - 0xc], 0x1fbadeaf
ror rax, 8
ror rax, 1
ror rax, 4
ror rax, 1
xor rdx, rax
xchg r10, r10
mov rax, rdi
xor rax, rbx
and rax, rsi
xor rax, rbx
mov rdi, rdi
add rdx, rax
add rdx, qword [r12 + r15 + 0x10]
add rdx, qword [rsp + r12 + 0x40]
xchg r15, r15
add rdx, rbp
xchg r10, rcx
mov r10, rcx
xchg rcx, r10
ror rcx, 0xc
ror rcx, 0x19
ror rcx, 1
ror rcx, 1
mov rax, r10
ror rax, 0x18
ror rax, 6
ror rax, 2
ror rax, 1
ror rax, 1
xor rcx, rax
mov dword [rsp - 0x18], 0x4685c417
xchg rdx, r10
mov rax, rdx
xchg r10, rdx
ror rax, 0x14
ror rax, 4
ror rax, 1
ror rax, 2
ror rax, 1
lea rbp, [r11 + rdx]
xor rcx, rax
mov dword [rsp - 0x1c], esp
xchg r11, r12
mov r12, r10
xchg r12, r11
or r11, r9
xchg rcx, rax
mov rcx, r10
xchg rcx, rax
and rax, r9
and r11, r8
or r11, rax
mov r8, r8
lea rax, [rdx + rcx]
mov rdx, rbp
add r11, rax
mov dword [rsp - 0x1c], 0x4e1deb83
ror rdx, 0x18
ror rdx, 6
ror rdx, 4
ror rdx, 5
ror rdx, 1
ror rdx, 1
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
mov rcx, r11
mov dword [rsp - 0x20], edi
ror rax, 2
ror rax, 0x10
xor rdx, rax
ror rcx, 0xe
ror rcx, 0x15
ror rcx, 3
ror rcx, 1
xchg rbp, r15
mov rax, r15
xchg r15, rbp
ror rax, 0xe
mov r9, r9
xor rdx, rax
xchg rbp, rax
mov rbp, rsi
xchg rbp, rax
xor rax, rdi
and rax, rbp
mov dword [rsp - 0x28], ecx
xor rax, rdi
add rdx, rax
xchg r11, rdi
mov rax, rdi
xchg r11, rdi
add rdx, qword [r12 + r15 + 0x18]
add rdx, qword [rsp + r12 + 0x48]
mov dword [rsp - 0x44], esi
ror rax, 0x10
ror rax, 7
ror rax, 6
ror rax, 2
ror rax, 1
ror rax, 1
ror rax, 1
add rdx, rbx
xor rcx, rax
mov dword [rsp - 0x28], 0x5b3a2afc
xchg r13, r11
mov rbx, r13
xchg r13, r11
or rbx, r10
mov rdi, rdi
xchg r8, r11
mov rax, r8
xchg r11, r8
ror rax, 5
ror rax, 9
ror rax, 0xb
ror rax, 1
ror rax, 1
ror rax, 1
and rbx, r9
xor rcx, rax
mov rsi, rsi
lea r14, [r8 + rdx]
xchg r9, rax
mov r9, r11
xchg r9, rax
xchg r8, r11
mov r11, r14
xchg r11, r8
and rax, r10
xchg rsi, rsi
ror r8, 0x19
ror r8, 1
ror r8, 0xa
ror r8, 4
ror r8, 1
or rbx, rax
mov r15, r15
lea rax, [rdx + rcx]
add rbx, rax
xchg r14, rax
mov r14, rax
xchg r14, rax
ror rax, 8
ror rax, 5
ror rax, 4
ror rax, 1
xchg rbx, rdx
mov rbx, rdx
xchg rdx, rbx
xor r8, rax
ror rdx, 0xc
ror rdx, 0x10
ror rdx, 1
ror rdx, 4
ror rdx, 2
ror rdx, 2
ror rdx, 1
ror rdx, 1
mov rax, r14
ror rax, 0xa
ror rax, 3
ror rax, 1
xor r8, rax
mov dword [rsp - 0xc], 0x1d8306c1
xchg r8, rax
mov r8, rbp
xchg r8, rax
xor rax, rsi
xchg rcx, rcx
and rax, r14
xor rax, rsi
add r8, rax
xchg r13, rax
mov r13, rbx
xchg r13, rax
add r8, qword [r12 + r15 + 0x20]
mov dword [rsp - 0x40], esi
add r8, qword [rsp + r12 + 0x50]
ror rax, 0x1f
ror rax, 2
ror rax, 1
add r8, rdi
mov rbx, rbx
xor rdx, rax
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
ror rax, 8
ror rax, 4
ror rax, 0x10
xor rdx, rax
mov rax, r11
mov dword [rsp - 0x30], edi
lea rdi, [r9 + r8]
mov r9, r11
or r9, rbx
and r9, r10
mov dword [rsp - 0x34], esi
and rax, rbx
or r9, rax
lea rax, [r8 + rdx]
add r9, rax
mov rsp, rsp
xchg r10, r8
mov r10, rdi
xchg r8, r10
ror r8, 0x1f
ror r8, 2
ror r8, 7
ror r8, 1
mov rax, rdi
xchg r8, r8
ror rax, 3
ror rax, 0xe
ror rax, 1
xchg rdx, r9
mov r9, rdx
xchg rdx, r9
xor r8, rax
mov dword [rsp - 0x20], 0x498795a7
ror rdx, 8
ror rdx, 0xe
ror rdx, 0xb
ror rdx, 5
ror rdx, 1
mov rax, rdi
ror rax, 0xb
ror rax, 1
ror rax, 1
ror rax, 1
xor r8, rax
xchg rsi, rsi
mov rax, rbp
xor rax, r14
and rax, rdi
xor rax, rbp
mov dword [rsp - 0x24], edx
add r8, rax
xchg r10, rax
mov r10, r9
xchg r10, rax
add r8, qword [r12 + r15 + 0x28]
add r8, qword [rsp + r12 + 0x58]
mov dword [rsp - 0x10], 0x34380e89
ror rax, 2
ror rax, 0x16
ror rax, 1
ror rax, 5
ror rax, 3
ror rax, 1
add r8, rsi
mov r9, r9
xor rdx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 0xe
ror rax, 8
ror rax, 1
ror rax, 2
ror rax, 2
ror rax, 1
xor rdx, rax
mov rax, r9
and rax, rbx
mov dword [rsp - 0x44], 0x67d9f5bc
lea rsi, [r10 + r8]
xchg r10, rcx
mov rcx, r9
xchg rcx, r10
or r10, rbx
and r10, r11
or r10, rax
mov dword [rsp - 0x1c], 0x35921104
lea rax, [r8 + rdx]
add r10, rax
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
ror r8, 9
ror r8, 8
ror r8, 0x13
ror r8, 4
ror r8, 1
xchg rsi, r10
mov rax, r10
xchg rsi, r10
ror rax, 0xa
ror rax, 8
xchg r10, rdx
mov r10, rdx
xchg rdx, r10
xor r8, rax
ror rdx, 8
ror rdx, 0xd
ror rdx, 0x11
ror rdx, 1
mov rax, rsi
mov r10, r10
ror rax, 9
ror rax, 5
xor r8, rax
xchg rdi, rdi
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
xor rax, r14
and rax, rsi
xor rax, r14
xchg r14, r14
add r8, rax
xchg rdi, rax
mov rdi, r10
xchg rdi, rax
add r8, qword [r12 + r15 + 0x30]
add r8, qword [rsp + r12 + 0x60]
mov dword [rsp - 0x20], 0x35a6ef8b
ror rax, 0xb
ror rax, 9
ror rax, 7
ror rax, 1
ror rax, 3
ror rax, 2
ror rax, 1
add r8, rbp
xor rdx, rax
mov dword [rsp - 0x2c], 0x67057701
xchg r10, r9
mov rax, r9
xchg r10, r9
ror rax, 0x14
ror rax, 7
ror rax, 1
xor rdx, rax
mov rax, r10
mov dword [rsp - 0x2c], 0x42cc3b00
lea rbp, [r11 + r8]
and rax, r9
xchg r10, r12
mov r11, r12
xchg r12, r10
or r11, r9
and r11, rbx
mov r12, r12
or r11, rax
lea rax, [r8 + rdx]
add r11, rax
mov dword [rsp - 0x2c], ebx
mov r8, rbp
ror r8, 0xd
ror r8, 6
ror r8, 0xc
ror r8, 4
ror r8, 4
ror r8, 1
ror r8, 1
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
ror rax, 2
ror rax, 4
ror rax, 6
ror rax, 4
ror rax, 1
ror rax, 1
xor r8, rax
mov rsi, rsi
xchg rdi, rbp
mov rax, rdi
xchg rdi, rbp
ror rax, 9
ror rax, 2
ror rax, 1
ror rax, 1
ror rax, 1
xor r8, rax
xchg rsi, rsp
mov rax, rsp
xchg rsi, rsp
xor rax, rdi
mov dword [rsp - 0x30], ebp
and rax, rbp
xor rax, rdi
add r8, rax
mov rdi, rdi
xchg rdx, r14
mov r14, r11
xchg rdx, r14
add r8, qword [r12 + r15 + 0x38]
xchg r11, r11
mov rax, r11
add r8, qword [rsp + r12 + 0x68]
xchg rcx, r15
mov r15, r11
xchg r15, rcx
ror rax, 4
ror rax, 8
ror rax, 2
ror rax, 0xc
ror rax, 6
ror rax, 1
ror rax, 1
add r8, r14
xchg r11, r11
ror rdx, 1
ror rdx, 4
ror rdx, 9
ror rdx, 0xb
ror rdx, 7
ror rdx, 6
ror rdx, 1
or rcx, r10
mov rdx, rdx
xor rdx, rax
add rbx, r8
and rcx, r9
mov dword [rsp - 0x1c], ebp
xchg rsp, rax
mov rsp, r11
xchg rsp, rax
ror rax, 2
ror rax, 7
ror rax, 6
ror rax, 0xc
ror rax, 1
neg r12
add r12, 0xffffffffffffffc0
neg r12
xor rdx, rax
mov dword [rsp - 0x34], esp
xchg r11, rdi
mov rax, rdi
xchg r11, rdi
and rax, r10
add r8, rdx
mov dword [rsp - 0x2c], esp
or rcx, rax
add r8, rcx
cmp r12, 0x280
mov dword [rsp - 0x44], ebp
jl 0x1400de5c1
mov r15, qword [rsp + 0x2f0]
lea rax, [r8 + r13]
mov dword [rsp - 0x20], 0x7a9a0692
mov qword [r15 + 8], rax
add qword [r15 + 0x10], r11
add qword [r15 + 0x18], r10
add qword [r15 + 0x20], r9
mov dword [rsp - 0x24], edx
add qword [r15 + 0x28], rbx
add qword [r15 + 0x30], rbp
add qword [r15 + 0x38], rsi
mov rdi, rdi
add qword [r15 + 0x40], rdi
xchg rbx, r13
mov r13, qword [rsp + 0x2f8]
xchg r13, rbx
xor eax, eax
add rsp, 0x2b0
xchg r13, r13
nop
mov r15, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r14, qword [rsp - 8]
pop r13
pop r12
mov r8, r8
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
mov rsi, qword [rsp - 8]
pop rbp
mov rdx, rdx
ret