Function at 0x1400c6d30
Capabilities:
Encode data using xor

Disassembly:
xchg r8, rbx
mov qword [rsp + 0x10], r8
xchg rbx, r8
xchg rcx, r11
mov qword [rsp + 8], r11
xchg rcx, r11
push rbp
push rsi
mov dword [rsp - 0x1c], 0x26fd9610
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push rdi
mov qword [rsp], r12
push r10
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r15
add rsp, 0xfffffffffffffd50
mov dword [rsp - 0x38], esp
mov rax, qword [rcx + 0x10]
lea rsi, [rsp + 0x38]
mov r13, qword [rcx + 8]
mov dword [rsp - 0x34], 0x17e8a34f
lea rbp, [rsp + 0x40]
xchg rsi, rax
mov qword [rsp + 0x300], rsi
xchg rsi, rax
lea r8, [rsp + 0x36]
mov rbx, rbx
xchg r14, rax
mov r14, qword [rcx + 0x18]
xchg r14, rax
lea r9, [rsp + 0x3e]
mov rdi, rdi
mov qword [rsp + 0x308], rax
lea r10, [rsp + 0x46]
xchg r15, rax
mov r15, qword [rcx + 0x20]
xchg r15, rax
lea r11, [rsp + 0x4e]
mov qword [rsp], rax
xchg rbx, rbx
lea rbx, [rsp + 0x56]
xchg r15, rax
mov r15, qword [rcx + 0x28]
xchg r15, rax
lea r14, [rsp + 0x30]
mov dword [rsp - 0x2c], 0x506c9730
xchg rbx, rax
mov qword [rsp + 8], rbx
xchg rbx, rax
sub rsi, rdx
xchg r9, rax
mov r9, qword [rcx + 0x30]
xchg r9, rax
sub rbp, rdx
mov qword [rsp + 0x10], rax
mov rdi, rdi
sub r8, rdx
mov rax, qword [rcx + 0x38]
sub r9, rdx
xchg rdi, rax
mov qword [rsp + 0x18], rdi
xchg rdi, rax
sub r10, rdx
mov dword [rsp - 0x28], esi
xchg r8, rax
mov r8, qword [rcx + 0x40]
xchg r8, rax
sub r11, rdx
mov rbx, rbx
sub rbx, rdx
xchg r13, rax
mov qword [rsp + 0x20], r13
xchg r13, rax
lea rax, [rdx + 0x12]
sub r14, rdx
mov r14, r14
mov edi, 0x7cd4b586
sub edi, 0x59073109
sub edi, 0x6e9536c
xor edi, 0x2c2abbd5
xor edi, 0x30ce8ac6
nop dword [rax]
mov dword [rsp - 0x2c], 0x2f811509
movzx ecx, byte [rax - 0x11]
movzx edx, byte [rax - 0x12]
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
mov r8, r8
movzx ecx, byte [rax - 0x10]
shl rdx, 4
shl rdx, 1
shl rdx, 1
shl rdx, 2
or rdx, rcx
mov dword [rsp - 0x40], 0x2c41f0de
movzx ecx, byte [rax - 0xf]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xe]
mov r14, r14
shl rdx, 2
shl rdx, 1
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x10], ecx
movzx ecx, byte [rax - 0xd]
shl rdx, 4
shl rdx, 4
or rdx, rcx
mov dword [rsp - 0x3c], 0x2c789587
movzx ecx, byte [rax - 0xc]
shl rdx, 8
or rdx, rcx
mov dword [rsp - 0xc], esi
movzx ecx, byte [rax - 0xb]
shl rdx, 3
shl rdx, 1
shl rdx, 4
or rdx, rcx
mov dword [rsp - 0x10], 0x3ba9ac2b
movzx ecx, byte [rax - 9]
xchg rdx, r9
mov qword [rax + r14 - 0x12], r9
xchg rdx, r9
movzx edx, byte [rax - 0xa]
shl rdx, 3
shl rdx, 2
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 8]
xchg rsi, rsi
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x3c], ecx
movzx ecx, byte [rax - 7]
shl rdx, 2
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 2
or rdx, rcx
mov dword [rsp - 0x40], 0x7ed0d070
movzx ecx, byte [rax - 6]
shl rdx, 8
or rdx, rcx
mov dword [rsp - 0x18], esi
movzx ecx, byte [rax - 5]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 4]
shl rdx, 8
mov rsp, rsp
or rdx, rcx
movzx ecx, byte [rax - 3]
shl rdx, 6
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax - 1]
mov qword [rax + rsi - 0x12], rdx
mov dword [rsp - 0x38], ebp
movzx edx, byte [rax - 2]
shl rdx, 2
shl rdx, 1
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov rcx, rcx
movzx ecx, byte [rax]
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 1]
mov rbp, rbp
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
xchg r15, r15
movzx ecx, byte [rax + 2]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x20], ebx
movzx ecx, byte [rax + 3]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 4]
shl rdx, 1
shl rdx, 5
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg r12, r12
movzx ecx, byte [rax + 5]
shl rdx, 2
shl rdx, 2
shl rdx, 2
shl rdx, 2
or rdx, rcx
mov dword [rsp - 0x28], 0x7b86ef7d
movzx ecx, byte [rax + 7]
mov qword [rax + rbp - 0x12], rdx
movzx edx, byte [rax + 6]
shl rdx, 1
shl rdx, 2
shl rdx, 1
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 8]
shl rdx, 8
mov dword [rsp - 0x34], 0x677cd807
or rdx, rcx
movzx ecx, byte [rax + 9]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov r12, r12
movzx ecx, byte [rax + 0xa]
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xb]
xchg r10, r10
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg rdi, rdi
movzx ecx, byte [rax + 0xc]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x24], 0x31dbe60
movzx ecx, byte [rax + 0xd]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xf]
mov qword [rax + r8], rdx
mov dword [rsp - 0x28], edi
movzx edx, byte [rax + 0xe]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x10]
mov r14, r14
shl rdx, 1
shl rdx, 5
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x11]
mov dword [rsp - 0x30], 0x19b41206
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0xc], 0x4e794b32
movzx ecx, byte [rax + 0x12]
shl rdx, 5
shl rdx, 3
or rdx, rcx
mov r13, r13
movzx ecx, byte [rax + 0x13]
shl rdx, 8
or rdx, rcx
mov dword [rsp - 0x1c], ebp
movzx ecx, byte [rax + 0x14]
shl rdx, 6
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax + 0x15]
shl rdx, 1
shl rdx, 2
shl rdx, 5
or rdx, rcx
mov dword [rsp - 0x40], ebp
movzx ecx, byte [rax + 0x17]
mov qword [rax + r9], rdx
movzx edx, byte [rax + 0x16]
xchg rbp, rbp
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
mov rsi, rsi
movzx ecx, byte [rax + 0x18]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x19]
mov rbp, rbp
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x3c], 0x6b1c5988
movzx ecx, byte [rax + 0x1a]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1b]
xchg r9, r9
shl rdx, 6
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax + 0x1c]
xchg r13, r13
shl rdx, 4
shl rdx, 1
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x1d]
mov dword [rsp - 0x20], edx
shl rdx, 3
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x1f]
xchg rdi, rdx
mov qword [rax + r10], rdi
xchg rdx, rdi
movzx edx, byte [rax + 0x1e]
mov r14, r14
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x14], 0x4a8198e8
movzx ecx, byte [rax + 0x20]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x21]
mov r11, r11
shl rdx, 3
shl rdx, 2
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x22]
mov dword [rsp - 0x18], ebp
shl rdx, 1
shl rdx, 4
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x23]
shl rdx, 1
shl rdx, 1
shl rdx, 2
shl rdx, 2
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax + 0x24]
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov rbx, rbx
movzx ecx, byte [rax + 0x25]
shl rdx, 2
shl rdx, 4
shl rdx, 2
or rdx, rcx
xchg rbx, rdx
mov qword [rax + r11], rbx
xchg rbx, rdx
movzx edx, byte [rax + 0x26]
mov dword [rsp - 0x24], 0x6f280b47
movzx ecx, byte [rax + 0x27]
lea rax, [rax + 0x40]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r13, r13
movzx ecx, byte [rax - 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x17]
xchg rsp, rsp
shl rdx, 2
shl rdx, 1
shl rdx, 2
shl rdx, 3
or rdx, rcx
mov rbp, rbp
movzx ecx, byte [rax - 0x16]
shl rdx, 1
shl rdx, 4
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x30], edi
movzx ecx, byte [rax - 0x15]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x14]
mov dword [rsp - 0x34], 0x4df4964
shl rdx, 4
shl rdx, 4
or rdx, rcx
movzx ecx, byte [rax - 0x13]
mov rbp, rbp
shl rdx, 5
shl rdx, 3
or rdx, rcx
mov qword [rax + rbx - 0x40], rdx
xchg r13, r13
sub rdi, 1
jne 0x1400c6e81
mov r14, qword [rsp + 0xa0]
mov dword [rsp - 0x40], 0x552e2bd3
lea rbp, [rsp + 0xa0]
lea r12d, [rdi + 8]
nop dword [rax]
xchg rdi, rdi
xchg r8, r15
mov r15, qword [rbp - 0x68]
xchg r8, r15
xchg r14, rcx
mov rsi, rcx
xchg r14, rcx
xchg r9, r8
mov r8, qword [rbp - 0x60]
xchg r9, r8
mov rcx, r8
mov rdi, qword [rbp + 8]
mov dword [rsp - 0xc], esi
mov rax, r14
mov r10, qword [rbp - 0x58]
xchg r12, rdx
mov r12, rdi
xchg rdx, r12
xchg r11, rbx
mov r11, qword [rbp - 0x50]
xchg r11, rbx
ror rax, 0x13
ror rcx, 5
ror rcx, 3
ror rdx, 0x24
ror rdx, 0xe
ror rdx, 7
ror rdx, 2
ror rdx, 1
ror rdx, 1
ror rsi, 4
ror rsi, 0x13
ror rsi, 6
ror rsi, 0x1b
ror rsi, 1
ror rsi, 2
ror rsi, 1
ror rsi, 1
xor rsi, rax
mov dword [rsp - 0x44], edi
xchg r11, r14
mov rax, r11
xchg r14, r11
shr rax, 1
shr rax, 5
xor rsi, rax
mov dword [rsp - 0x34], ecx
mov rax, r8
ror rax, 1
xor rcx, rax
mov rax, r8
mov dword [rsp - 0x34], ecx
shr rax, 4
shr rax, 3
xor rcx, rax
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
ror rax, 0xa
ror rax, 6
ror rax, 2
ror rax, 1
add rsi, rcx
xor rdx, rax
mov rcx, rcx
add rsi, qword [rbp - 0x70]
add rsi, qword [rbp - 0x28]
xchg rcx, r10
mov r10, r9
xchg r10, rcx
ror rcx, 4
ror rcx, 3
ror rcx, 1
xchg rdi, r13
mov rax, r13
xchg rdi, r13
shr rax, 6
xchg rdx, rdx
xor rdx, rax
xchg rsi, r15
mov qword [rbp + 0x10], r15
xchg r15, rsi
xchg r9, r12
mov rax, r12
xchg r9, r12
ror rax, 1
xor rcx, rax
xchg r12, rax
mov r12, r9
xchg r12, rax
shr rax, 4
shr rax, 2
shr rax, 1
xor rcx, rax
mov dword [rsp - 0x2c], ecx
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
add rdx, rcx
ror rax, 7
ror rax, 9
ror rax, 1
ror rax, 1
ror rax, 1
add rdx, qword [rbp - 0x20]
mov dword [rsp - 0x10], ecx
xchg r10, rcx
mov r10, rcx
xchg r10, rcx
add r8, rdx
xchg rbx, rbx
ror rcx, 4
ror rcx, 2
ror rcx, 1
ror rcx, 1
xchg rsi, rdx
mov rsi, rdx
xchg rdx, rsi
mov qword [rbp + 0x18], r8
ror rdx, 0x18
ror rdx, 0xa
ror rdx, 0x18
ror rdx, 2
ror rdx, 1
xor rdx, rax
mov rax, rsi
shr rax, 5
shr rax, 1
xor rdx, rax
mov dword [rsp - 0x34], ebx
mov rax, r10
ror rax, 1
xor rcx, rax
xchg r10, rax
mov r10, rax
xchg r10, rax
shr rax, 1
shr rax, 3
shr rax, 3
xor rcx, rax
mov r13, r13
xchg r9, rbx
mov rax, r9
xchg rbx, r9
add rdx, rcx
xchg r10, r10
ror rax, 1
add rdx, qword [rbp - 0x18]
xchg rbx, rcx
mov rbx, r8
xchg rcx, rbx
add r9, rdx
mov dword [rsp - 0x28], 0x69320938
ror rcx, 0x12
ror rcx, 0x2a
ror rcx, 1
xchg r14, rdx
mov r14, rbx
xchg rdx, r14
xchg r9, rdx
mov qword [rbp + 0x20], rdx
xchg rdx, r9
ror rdx, 3
ror rdx, 4
ror rdx, 1
xor rdx, rax
xchg r8, rax
mov r8, rbx
xchg r8, rax
shr rax, 4
shr rax, 1
shr rax, 1
shr rax, 1
xor rdx, rax
mov dword [rsp - 0x18], edx
mov rax, r8
ror rax, 3
ror rax, 5
ror rax, 0xa
ror rax, 1
xor rcx, rax
shr r8, 1
shr r8, 3
shr r8, 1
shr r8, 1
xor rcx, r8
mov dword [rsp - 0x44], 0x1a72d345
add rdx, rcx
add rdx, qword [rbp - 0x10]
mov rcx, r9
xchg r14, r11
mov r14, qword [rbp - 0x48]
xchg r14, r11
add r10, rdx
mov dword [rsp - 0x18], 0x71a4282d
mov r8, qword [rbp - 0x40]
mov rdx, r11
ror rdx, 2
ror rdx, 1
ror rdx, 4
ror rdx, 1
xchg rcx, rax
mov rcx, r11
xchg rcx, rax
ror rax, 1
xor rdx, rax
ror rcx, 5
ror rcx, 0x2f
ror rcx, 6
ror rcx, 2
ror rcx, 1
mov qword [rbp + 0x28], r10
xchg rsi, rax
mov rsi, r11
xchg rsi, rax
shr rax, 4
shr rax, 2
shr rax, 1
xor rdx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 0x13
xor rcx, rax
xchg r14, r14
shr r9, 2
shr r9, 2
shr r9, 1
shr r9, 1
xor r9, rcx
xchg r9, rax
mov r9, r8
xchg r9, rax
ror rax, 1
mov dword [rsp - 0x44], edi
add r9, rdx
add r9, qword [rbp - 8]
mov rcx, r10
ror rcx, 0x12
ror rcx, 0x1b
ror rcx, 0xc
ror rcx, 1
ror rcx, 2
ror rcx, 1
add r9, rbx
xchg r8, r14
mov rdx, r14
xchg r8, r14
xchg rsp, r9
mov qword [rbp + 0x30], rsp
xchg rsp, r9
ror rdx, 7
ror rdx, 1
xor rdx, rax
mov rax, r8
mov dword [rsp - 0x34], 0x2a377e28
shr rax, 1
shr rax, 3
shr rax, 1
shr rax, 1
shr rax, 1
xor rdx, rax
mov dword [rsp - 0xc], edi
xchg r8, rax
mov r8, r10
xchg r8, rax
ror rax, 5
ror rax, 8
ror rax, 3
ror rax, 2
ror rax, 1
xor rcx, rax
mov r14, r14
shr r10, 6
xor r10, rcx
lea rax, [r14 + rdx]
xchg rsi, rsi
xchg r9, r14
mov r9, r14
xchg r14, r9
add r10, rax
mov r13, r13
ror r14, 0x17
ror r14, 0x15
ror r14, 0xf
ror r14, 1
ror r14, 1
add r10, r11
mov dword [rsp - 0x10], edi
mov r11, qword [rbp - 0x38]
mov rdx, r11
mov qword [rbp + 0x38], r10
ror rdx, 2
ror rdx, 5
ror rdx, 1
xchg rsp, rax
mov rsp, r11
xchg rsp, rax
ror rax, 1
xor rdx, rax
mov r14, r14
xchg r12, rax
mov r12, r11
xchg r12, rax
shr rax, 7
xor rdx, rax
xchg rbp, rax
mov rbp, r9
xchg rbp, rax
ror rax, 5
ror rax, 6
ror rax, 2
ror rax, 2
ror rax, 3
ror rax, 1
xor r14, rax
shr r9, 2
shr r9, 4
xor r14, r9
lea rax, [r8 + rdx]
mov dword [rsp - 0x1c], esp
mov r8, qword [rbp - 0x30]
add r14, rax
xchg rbp, r10
mov rdx, rbp
xchg r10, rbp
ror rdx, 0x3a
ror rdx, 1
ror rdx, 1
ror rdx, 1
xchg r13, r10
mov rax, r13
xchg r10, r13
ror rax, 0x13
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
xor rdx, rax
ror rcx, 2
ror rcx, 6
shr r10, 1
shr r10, 4
shr r10, 1
xchg rsp, r8
mov rax, rsp
xchg r8, rsp
ror rax, 1
xchg r8, r8
xor rdx, r10
xor rcx, rax
shr r8, 2
shr r8, 1
shr r8, 1
shr r8, 2
shr r8, 1
xor rcx, r8
xchg r10, r10
add r14, rdi
mov qword [rbp + 0x40], r14
lea rax, [rsi + rdx]
add rcx, rax
mov rcx, rcx
add rcx, r11
mov qword [rbp + 0x48], rcx
lea rbp, [rbp + 0x40]
mov dword [rsp - 0x2c], 0x1294262
sub r12, 1
jne 0x1400c73d2
xchg r9, r11
mov r9, qword [rsp + 0x300]
xchg r11, r9
lea r15, [0x14000c350]
mov r10, qword [rsp + 0x308]
mov r8, r13
mov dword [rsp - 0x38], 0x1db90b81
mov r9, qword [rsp]
xchg rbx, rsi
mov rsi, qword [rsp + 8]
xchg rbx, rsi
xchg rbp, r10
mov r10, qword [rsp + 0x10]
xchg rbp, r10
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax + rax]
mov rsp, rsp
xchg rdx, r14
mov r14, rbx
xchg rdx, r14
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
ror rax, 0x10
ror rax, 1
ror rax, 1
xchg r13, rcx
mov r13, r8
xchg r13, rcx
ror rdx, 0x14
ror rdx, 0xc
ror rdx, 1
ror rdx, 3
ror rdx, 3
ror rdx, 1
ror rdx, 1
xor rdx, rax
xchg rbx, rbx
ror rcx, 8
ror rcx, 0x1e
ror rcx, 1
xchg r8, rax
mov r8, rbx
xchg r8, rax
ror rax, 5
ror rax, 3
ror rax, 3
ror rax, 2
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x2c], ebx
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
xor rax, rsi
mov rdi, rdi
and rax, rbx
xor rax, rsi
add rdx, rax
xchg r8, r9
mov rax, r9
xchg r8, r9
add rdx, qword [r12 + r15]
add rdx, qword [rsp + r12 + 0x30]
mov dword [rsp - 0x38], ebx
ror rax, 0x15
ror rax, 8
ror rax, 4
ror rax, 1
add rdx, rdi
mov dword [rsp - 0x44], 0x7bbe372f
xor rcx, rax
xchg r8, rax
mov r8, rax
xchg r8, rax
ror rax, 0x14
ror rax, 5
ror rax, 2
ror rax, 1
xor rcx, rax
mov rsp, rsp
xchg r11, rax
mov r11, rax
xchg r11, rax
and rax, r8
mov r10, r10
lea rdi, [r9 + rdx]
xchg rcx, r11
mov r9, rcx
xchg rcx, r11
or r9, r8
and r9, r10
or r9, rax
mov r14, r14
lea rax, [rdx + rcx]
add r9, rax
xchg rdi, rdx
mov rdi, rdx
xchg rdi, rdx
ror rdx, 0x12
ror rdx, 0xa
ror rdx, 5
ror rdx, 3
ror rdx, 2
ror rdx, 2
ror rdx, 1
mov rax, rdi
xchg r14, r14
ror rax, 7
ror rax, 4
ror rax, 4
ror rax, 1
ror rax, 1
ror rax, 1
mov rcx, r9
mov r8, r8
xor rdx, rax
ror rcx, 0xd
ror rcx, 6
ror rcx, 4
ror rcx, 7
ror rcx, 1
ror rcx, 1
ror rcx, 5
ror rcx, 1
ror rcx, 1
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
ror rax, 4
ror rax, 6
ror rax, 3
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x10], 0x6509dd66
xchg rbp, r10
mov rax, r10
xchg rbp, r10
xor rax, rbx
xchg r15, r15
and rax, rdi
xor rax, rbp
add rdx, rax
mov dword [rsp - 0xc], 0xe1c09c5
xchg r9, rax
mov r9, rax
xchg r9, rax
add rdx, qword [r12 + r15 + 8]
add rdx, qword [rsp + r12 + 0x38]
ror rax, 0x14
ror rax, 9
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
add rdx, rsi
xor rcx, rax
mov dword [rsp - 0x18], 0x540655fb
mov rax, r9
ror rax, 0x16
ror rax, 4
ror rax, 1
ror rax, 1
xor rcx, rax
mov dword [rsp - 0x34], esi
xchg r9, rax
mov r9, rax
xchg r9, rax
lea rsi, [r10 + rdx]
and rax, r8
xchg r9, r10
mov r9, r10
xchg r10, r9
or r10, r8
and r10, r11
or r10, rax
mov rsi, rsi
lea rax, [rdx + rcx]
add r10, rax
xchg r14, rdx
mov r14, rsi
xchg rdx, r14
ror rdx, 0xf
ror rdx, 9
ror rdx, 3
ror rdx, 0xc
ror rdx, 1
ror rdx, 1
xchg rsp, rax
mov rsp, rsi
xchg rsp, rax
ror rax, 0x11
ror rax, 1
xor rdx, rax
xchg rsp, rsi
mov rax, rsp
xchg rsi, rsp
ror rax, 0xd
ror rax, 1
xor rdx, rax
mov rax, rdi
mov dword [rsp - 0x24], 0x2dbf82e9
xor rax, rbx
and rax, rsi
xor rax, rbx
add rdx, rax
mov rsi, rsi
add rdx, qword [r12 + r15 + 0x10]
add rdx, qword [rsp + r12 + 0x40]
add rdx, rbp
mov dword [rsp - 0x14], 0x19f06172
mov rcx, r10
ror rcx, 0x1f
ror rcx, 4
ror rcx, 2
ror rcx, 1
ror rcx, 1
mov rax, r10
ror rax, 0xb
ror rax, 0x10
ror rax, 2
ror rax, 2
ror rax, 1
ror rax, 1
ror rax, 1
xor rcx, rax
xchg rdi, rax
mov rdi, r10
xchg rdi, rax
ror rax, 0x11
ror rax, 2
ror rax, 8
ror rax, 1
lea rbp, [r11 + rdx]
xor rcx, rax
mov dword [rsp - 0x34], ebp
xchg rbx, r11
mov rbx, r10
xchg r11, rbx
or r11, r9
mov dword [rsp - 0x44], ebp
xchg rdx, rax
mov rdx, r10
xchg rdx, rax
and rax, r9
xchg rsi, rsi
and r11, r8
or r11, rax
lea rax, [rdx + rcx]
mov dword [rsp - 0x18], 0x2c979b58
xchg rbp, r15
mov rdx, r15
xchg r15, rbp
add r11, rax
ror rdx, 0x13
ror rdx, 0xe
ror rdx, 1
ror rdx, 4
ror rdx, 2
ror rdx, 1
xchg r9, rax
mov r9, rbp
xchg r9, rax
mov rcx, r11
ror rax, 0x10
ror rax, 2
xor rdx, rax
ror rcx, 0x10
ror rcx, 0xb
ror rcx, 3
ror rcx, 8
ror rcx, 1
xchg rbx, rax
mov rbx, rbp
xchg rbx, rax
ror rax, 7
ror rax, 3
ror rax, 3
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x18], esi
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
xor rax, rdi
mov dword [rsp - 0x18], esi
and rax, rbp
xor rax, rdi
add rdx, rax
xchg r13, rax
mov r13, r11
xchg r13, rax
add rdx, qword [r12 + r15 + 0x18]
mov dword [rsp - 0xc], 0x19f16a77
add rdx, qword [rsp + r12 + 0x48]
ror rax, 0xd
ror rax, 0x14
ror rax, 1
add rdx, rbx
mov r8, r8
xor rcx, rax
xchg r11, rbx
mov r11, rbx
xchg rbx, r11
or rbx, r10
xchg r11, rax
mov r11, rax
xchg r11, rax
ror rax, 8
ror rax, 0x14
and rbx, r9
xor rcx, rax
xchg rbx, rbx
lea r14, [r8 + rdx]
mov rax, r11
xchg r8, r14
mov r14, r8
xchg r8, r14
and rax, r10
xchg r14, r14
ror r8, 0x14
ror r8, 0x15
or rbx, rax
lea rax, [rdx + rcx]
xchg r10, r10
add rbx, rax
mov rax, r14
ror rax, 9
ror rax, 3
ror rax, 3
ror rax, 3
xchg rdx, r12
mov r12, rbx
xchg rdx, r12
xor r8, rax
mov dword [rsp - 0x2c], 0x69ea7b6f
ror rdx, 0x1b
ror rdx, 4
ror rdx, 8
xchg r14, r11
mov rax, r11
xchg r11, r14
ror rax, 8
ror rax, 4
ror rax, 1
ror rax, 1
xor r8, rax
mov dword [rsp - 0x3c], esp
xchg r9, rax
mov r9, rbp
xchg r9, rax
xor rax, rsi
mov dword [rsp - 0x24], 0x75f10f79
and rax, r14
xor rax, rsi
add r8, rax
mov r12, r12
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
add r8, qword [r12 + r15 + 0x20]
mov rsp, rsp
add r8, qword [rsp + r12 + 0x50]
ror rax, 4
ror rax, 6
ror rax, 9
ror rax, 0xd
ror rax, 1
ror rax, 1
add r8, rdi
mov dword [rsp - 0x1c], esi
xor rdx, rax
xchg r13, rax
mov r13, rbx
xchg r13, rax
ror rax, 0x14
ror rax, 1
ror rax, 6
ror rax, 1
xor rdx, rax
xchg r11, rax
mov r11, rax
xchg r11, rax
lea rdi, [r9 + r8]
xchg r9, r11
mov r11, r9
xchg r11, r9
or r9, rbx
xchg r12, r12
and r9, r10
and rax, rbx
or r9, rax
mov dword [rsp - 0x3c], 0x4213ea64
lea rax, [r8 + rdx]
add r9, rax
xchg rdx, rdi
mov r8, rdx
xchg rdx, rdi
ror r8, 0x14
ror r8, 7
ror r8, 4
ror r8, 6
ror r8, 1
ror r8, 1
ror r8, 1
ror r8, 1
xchg r15, rax
mov r15, rdi
xchg r15, rax
ror rax, 5
ror rax, 4
ror rax, 7
ror rax, 1
ror rax, 1
xchg r9, rdi
mov rdx, rdi
xchg rdi, r9
xor r8, rax
mov dword [rsp - 0xc], edx
ror rdx, 9
ror rdx, 6
ror rdx, 0xe
ror rdx, 0xa
xchg rbp, rax
mov rbp, rdi
xchg rbp, rax
ror rax, 3
ror rax, 5
ror rax, 5
ror rax, 1
xor r8, rax
xchg rdx, rdx
mov rax, rbp
xor rax, r14
and rax, rdi
xor rax, rbp
mov dword [rsp - 0x38], esi
add r8, rax
xchg r12, rax
mov r12, r9
xchg r12, rax
add r8, qword [r12 + r15 + 0x28]
xchg rdx, rdx
add r8, qword [rsp + r12 + 0x58]
ror rax, 0xa
ror rax, 0x14
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
add r8, rsi
xchg r11, r11
xor rdx, rax
mov rax, r9
ror rax, 0x16
ror rax, 2
ror rax, 1
ror rax, 2
ror rax, 1
xor rdx, rax
xchg r9, rbx
mov rax, rbx
xchg rbx, r9
and rax, rbx
mov dword [rsp - 0x28], esi
lea rsi, [r10 + r8]
mov r10, r9
or r10, rbx
xchg r11, r11
and r10, r11
or r10, rax
lea rax, [r8 + rdx]
mov dword [rsp - 0x24], 0x1c8b9f6d
add r10, rax
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
ror r8, 5
ror r8, 0x17
ror r8, 9
ror r8, 1
ror r8, 1
ror r8, 1
ror r8, 1
xchg rcx, rax
mov rcx, rsi
xchg rcx, rax
ror rax, 9
ror rax, 4
ror rax, 4
ror rax, 1
mov rdx, r10
xor r8, rax
ror rdx, 0x21
ror rdx, 5
ror rdx, 1
mov rax, rsi
mov dword [rsp - 0x2c], 0x225e1972
ror rax, 2
ror rax, 0xc
xor r8, rax
xchg rdi, r13
mov rax, r13
xchg rdi, r13
xor rax, r14
and rax, rsi
xor rax, r14
xchg rbp, rbp
add r8, rax
xchg r10, rax
mov r10, rax
xchg r10, rax
add r8, qword [r12 + r15 + 0x30]
add r8, qword [rsp + r12 + 0x60]
ror rax, 4
ror rax, 0x1c
ror rax, 1
ror rax, 1
add r8, rbp
xor rdx, rax
mov rbx, rbx
xchg r10, rax
mov r10, rax
xchg r10, rax
ror rax, 0x1c
xchg r8, r8
xor rdx, rax
mov rax, r10
lea rbp, [r11 + r8]
mov dword [rsp - 0x30], ecx
and rax, r9
xchg rsp, r10
mov r11, rsp
xchg rsp, r10
or r11, r9
and r11, rbx
xchg rbp, rbp
or r11, rax
lea rax, [r8 + rdx]
add r11, rax
mov r8, rbp
mov dword [rsp - 0x1c], ebp
ror r8, 0x1f
ror r8, 4
ror r8, 4
ror r8, 1
ror r8, 1
xchg rsp, rbp
mov rax, rsp
xchg rsp, rbp
ror rax, 0xf
ror rax, 2
ror rax, 1
xor r8, rax
xchg r15, rax
mov r15, rbp
xchg r15, rax
ror rax, 0xa
ror rax, 3
ror rax, 1
xor r8, rax
mov dword [rsp - 0x14], ebx
xchg r15, rax
mov r15, rsi
xchg r15, rax
xor rax, rdi
xchg rsp, rsp
and rax, rbp
xor rax, rdi
add r8, rax
mov dword [rsp - 0x3c], ecx
xchg rdx, r11
mov r11, rdx
xchg r11, rdx
add r8, qword [r12 + r15 + 0x38]
mov dword [rsp - 0x2c], 0x51c09467
xchg r11, rax
mov r11, rax
xchg r11, rax
add r8, qword [rsp + r12 + 0x68]
mov dword [rsp - 0x14], esi
xchg r11, rcx
mov r11, rcx
xchg r11, rcx
ror rax, 0x17
ror rax, 3
ror rax, 3
ror rax, 3
ror rax, 1
ror rax, 1
add r8, r14
ror rdx, 0x1b
ror rdx, 0xb
ror rdx, 1
or rcx, r10
mov r15, r15
xor rdx, rax
add rbx, r8
and rcx, r9
xchg r12, r11
mov rax, r12
xchg r12, r11
ror rax, 0x15
ror rax, 6
ror rax, 1
nop
add r12, 0x525aa514
sub r12, 0x525aa4d4
xor rdx, rax
mov rax, r11
mov rcx, rcx
and rax, r10
add r8, rdx
or rcx, rax
add r8, rcx
xchg r10, r10
cmp r12, 0x280
jl 0x1400c78f2
mov r15, qword [rsp + 0x2f0]
lea rax, [r8 + r13]
mov dword [rsp - 0x18], esi
xchg rbx, rax
mov qword [r15 + 8], rbx
xchg rbx, rax
add qword [r15 + 0x10], r11
add qword [r15 + 0x18], r10
add qword [r15 + 0x20], r9
mov rdi, rdi
add qword [r15 + 0x28], rbx
add qword [r15 + 0x30], rbp
add qword [r15 + 0x38], rsi
add qword [r15 + 0x40], rdi
mov r15, r15
mov rbx, qword [rsp + 0x2f8]
xor eax, eax
add rsp, 0x2b0
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
mov r14, qword [rsp - 8]
pop r13
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
mov rsi, qword [rsp]
add rsp, 8
pop rbp
ret