Function at 0x1400df040
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
xchg rcx, r10
mov qword [rsp + 8], r10
xchg rcx, r10
nop
push 0x273419e5
mov qword [rsp], rbp
nop
push r12
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
mov qword [rsp - 8], r13
sub rsp, 8
push r12
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
neg rsp
sub rsp, 0xfffffffffffffd50
neg rsp
mov rax, qword [rcx + 0x10]
xchg r8, r8
lea rsi, [rsp + 0x38]
xchg r13, r10
mov r10, qword [rcx + 8]
xchg r10, r13
lea rbp, [rsp + 0x40]
mov dword [rsp - 0x40], ebx
mov qword [rsp + 0x300], rax
lea r8, [rsp + 0x36]
xchg r14, rax
mov r14, qword [rcx + 0x18]
xchg r14, rax
lea r9, [rsp + 0x3e]
xchg rcx, rax
mov qword [rsp + 0x308], rcx
xchg rcx, rax
lea r10, [rsp + 0x46]
xchg r12, r12
xchg rsp, rax
mov rsp, qword [rcx + 0x20]
xchg rsp, rax
lea r11, [rsp + 0x4e]
xchg r10, rax
mov qword [rsp], r10
xchg r10, rax
lea rbx, [rsp + 0x56]
mov dword [rsp - 0x28], ebp
xchg rbp, rax
mov rbp, qword [rcx + 0x28]
xchg rbp, rax
lea r14, [rsp + 0x30]
mov dword [rsp - 0x34], 0x1c3d35f4
mov qword [rsp + 8], rax
sub rsi, rdx
mov rax, qword [rcx + 0x30]
mov dword [rsp - 0x20], 0x6e17bb05
sub rbp, rdx
mov qword [rsp + 0x10], rax
sub r8, rdx
mov dword [rsp - 0x40], 0x368d2152
mov rax, qword [rcx + 0x38]
sub r9, rdx
mov qword [rsp + 0x18], rax
mov dword [rsp - 0x44], ebp
sub r10, rdx
xchg r10, rax
mov r10, qword [rcx + 0x40]
xchg r10, rax
sub r11, rdx
sub rbx, rdx
xchg r14, rax
mov qword [rsp + 0x20], r14
xchg r14, rax
lea rax, [rdx + 0x12]
sub r14, rdx
mov dword [rsp - 0x28], edx
mov edi, 0x61094661
xor edi, 0x73510b47
add edi, 0x2bb73e16
xor edi, 0x3e0f8b3e
nop dword [rax]
movzx ecx, byte [rax - 0x11]
mov dword [rsp - 0x20], 0x641ef243
movzx edx, byte [rax - 0x12]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x10]
xchg r10, r10
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xf]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xe]
shl rdx, 2
shl rdx, 2
shl rdx, 1
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xd]
mov dword [rsp - 0x1c], 0x4221ca33
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xc]
mov dword [rsp - 0x24], 0x434b1df2
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xb]
mov r11, r11
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x28], ebp
movzx ecx, byte [rax - 9]
xchg rdx, rsi
mov qword [rax + r14 - 0x12], rsi
xchg rsi, rdx
movzx edx, byte [rax - 0xa]
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 8]
xchg r11, r11
shl rdx, 4
shl rdx, 2
shl rdx, 2
or rdx, rcx
xchg rdx, rdx
movzx ecx, byte [rax - 7]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 6]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 5]
mov dword [rsp - 0x34], 0x4006f344
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 4]
xchg rdx, rdx
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 3]
xchg rbp, rbp
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov r9, r9
movzx ecx, byte [rax - 1]
mov qword [rax + rsi - 0x12], rdx
movzx edx, byte [rax - 2]
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 2
shl rdx, 1
shl rdx, 2
or rdx, rcx
xchg rcx, rcx
movzx ecx, byte [rax]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 1]
xchg rdx, rdx
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 2]
mov dword [rsp - 0x20], 0x6979e5af
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 3]
xchg r13, r13
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x24], 0x1d131a3e
movzx ecx, byte [rax + 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 5]
xchg r8, r8
shl rdx, 1
shl rdx, 3
shl rdx, 1
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x34], esp
movzx ecx, byte [rax + 7]
mov qword [rax + rbp - 0x12], rdx
movzx edx, byte [rax + 6]
xchg rcx, rcx
shl rdx, 2
shl rdx, 1
shl rdx, 5
or rdx, rcx
xchg r12, r12
movzx ecx, byte [rax + 8]
shl rdx, 1
shl rdx, 4
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov rbx, rbx
movzx ecx, byte [rax + 9]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xa]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xb]
mov dword [rsp - 0x28], edx
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xc]
mov dword [rsp - 0x34], 0x42036122
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xd]
xchg r10, r10
shl rdx, 5
shl rdx, 3
or rdx, rcx
xchg r15, r15
movzx ecx, byte [rax + 0xf]
mov qword [rax + r8], rdx
movzx edx, byte [rax + 0xe]
mov dword [rsp - 0x1c], 0x3b9456f4
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x44], 0x77f41b0f
movzx ecx, byte [rax + 0x10]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg rcx, rcx
movzx ecx, byte [rax + 0x11]
shl rdx, 2
shl rdx, 1
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x14], 0x4693f1d5
movzx ecx, byte [rax + 0x12]
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x13]
xchg rsi, rsi
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x14]
mov dword [rsp - 0x28], 0x1ccd7ff1
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x15]
shl rdx, 1
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x17]
xchg rsp, rsp
xchg rdx, r8
mov qword [rax + r9], r8
xchg r8, rdx
movzx edx, byte [rax + 0x16]
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x18]
mov dword [rsp - 0x24], edi
shl rdx, 2
shl rdx, 2
shl rdx, 1
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x19]
mov dword [rsp - 0x38], 0x73dbe727
shl rdx, 1
shl rdx, 3
shl rdx, 1
shl rdx, 3
or rdx, rcx
mov dword [rsp - 0x34], 0x2c64ef93
movzx ecx, byte [rax + 0x1a]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r8, r8
movzx ecx, byte [rax + 0x1b]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x1c]
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
xchg rbp, rbp
movzx ecx, byte [rax + 0x1d]
shl rdx, 2
shl rdx, 2
shl rdx, 3
shl rdx, 1
or rdx, rcx
mov rbx, rbx
movzx ecx, byte [rax + 0x1f]
mov qword [rax + r10], rdx
movzx edx, byte [rax + 0x1e]
mov dword [rsp - 0x2c], 0x8fd322b
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x20]
mov dword [rsp - 0x34], edi
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg r11, r11
movzx ecx, byte [rax + 0x21]
shl rdx, 7
shl rdx, 1
or rdx, rcx
xchg r13, r13
movzx ecx, byte [rax + 0x22]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x23]
xchg rdi, rdi
shl rdx, 2
shl rdx, 1
shl rdx, 2
shl rdx, 3
or rdx, rcx
xchg rsi, rsi
movzx ecx, byte [rax + 0x24]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x20], ecx
movzx ecx, byte [rax + 0x25]
shl rdx, 8
or rdx, rcx
mov dword [rsp - 0x24], ebx
xchg r12, rdx
mov qword [rax + r11], r12
xchg r12, rdx
movzx edx, byte [rax + 0x26]
mov dword [rsp - 0x34], ebx
movzx ecx, byte [rax + 0x27]
lea rax, [rax + 0x40]
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x10], edx
movzx ecx, byte [rax - 0x18]
shl rdx, 8
or rdx, rcx
mov r10, r10
movzx ecx, byte [rax - 0x17]
shl rdx, 2
shl rdx, 2
shl rdx, 3
shl rdx, 1
or rdx, rcx
xchg r11, r11
movzx ecx, byte [rax - 0x16]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov rdi, rdi
movzx ecx, byte [rax - 0x15]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x14]
mov rbx, rbx
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x13]
shl rdx, 4
shl rdx, 4
or rdx, rcx
mov dword [rsp - 0x1c], edi
mov qword [rax + rbx - 0x40], rdx
sub rdi, 1
jne 0x1400df191
mov r14, qword [rsp + 0xa0]
mov dword [rsp - 0x3c], esi
lea rbp, [rsp + 0xa0]
lea r12d, [rdi + 8]
nop dword [rax]
mov dword [rsp - 0x3c], edi
mov r8, qword [rbp - 0x68]
xchg r14, rsi
mov r14, rsi
xchg rsi, r14
xchg rcx, r9
mov rcx, qword [rbp - 0x60]
xchg r9, rcx
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
xchg rsp, rdi
mov rsp, qword [rbp + 8]
xchg rsp, rdi
xchg rbx, r14
mov rax, rbx
xchg r14, rbx
mov r10, qword [rbp - 0x58]
mov rdx, rdi
mov r12, r12
mov rbx, qword [rbp - 0x50]
ror rax, 0xb
ror rax, 4
ror rax, 2
ror rax, 1
ror rax, 1
ror rcx, 2
ror rcx, 4
ror rcx, 1
ror rcx, 1
ror rdx, 0x26
ror rdx, 0x10
ror rdx, 4
ror rdx, 1
ror rdx, 1
ror rdx, 1
ror rsi, 0x36
ror rsi, 1
ror rsi, 4
ror rsi, 1
ror rsi, 1
xor rsi, rax
mov dword [rsp - 0x30], edx
xchg r14, rdi
mov rax, rdi
xchg rdi, r14
shr rax, 3
shr rax, 1
shr rax, 2
xor rsi, rax
xchg r8, rax
mov r8, rax
xchg r8, rax
ror rax, 1
xor rcx, rax
xchg r14, r14
xchg r8, rax
mov r8, rax
xchg r8, rax
shr rax, 4
shr rax, 3
xor rcx, rax
mov dword [rsp - 0x2c], ebx
xchg r10, rax
mov r10, rdi
xchg r10, rax
ror rax, 0xd
ror rax, 2
ror rax, 4
add rsi, rcx
xor rdx, rax
mov dword [rsp - 0x14], 0x6c89e5f0
add rsi, qword [rbp - 0x70]
add rsi, qword [rbp - 0x28]
xchg r15, rcx
mov r15, r9
xchg rcx, r15
ror rcx, 3
ror rcx, 1
ror rcx, 1
ror rcx, 1
ror rcx, 1
ror rcx, 1
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
shr rax, 5
shr rax, 1
xor rdx, rax
xchg r9, r9
mov qword [rbp + 0x10], rsi
xchg r10, rax
mov r10, r9
xchg r10, rax
ror rax, 1
xor rcx, rax
mov rdx, rdx
xchg r9, rbp
mov rax, rbp
xchg r9, rbp
shr rax, 3
shr rax, 2
shr rax, 1
shr rax, 1
xor rcx, rax
xchg r10, r10
mov rax, rsi
add rdx, rcx
ror rax, 0x13
add rdx, qword [rbp - 0x20]
mov dword [rsp - 0x18], 0x51066483
xchg rcx, r10
mov r10, rcx
xchg r10, rcx
add r8, rdx
mov dword [rsp - 0x38], 0x4008c5e7
ror rcx, 7
ror rcx, 1
xchg rsi, rbp
mov rdx, rbp
xchg rbp, rsi
xchg rcx, r8
mov qword [rbp + 0x18], rcx
xchg r8, rcx
ror rdx, 6
ror rdx, 0x1c
ror rdx, 0x1b
xor rdx, rax
mov rax, rsi
mov rdx, rdx
shr rax, 1
shr rax, 5
xor rdx, rax
xchg r14, r10
mov rax, r14
xchg r10, r14
ror rax, 1
xor rcx, rax
xchg rbx, rax
mov rbx, r10
xchg rbx, rax
shr rax, 4
shr rax, 1
shr rax, 1
shr rax, 1
xor rcx, rax
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
add rdx, rcx
mov r13, r13
ror rax, 1
add rdx, qword [rbp - 0x18]
mov rcx, r8
add r9, rdx
mov rsp, rsp
ror rcx, 0x2f
ror rcx, 0xc
ror rcx, 1
ror rcx, 1
xchg r13, rbx
mov rdx, r13
xchg rbx, r13
mov qword [rbp + 0x20], r9
mov dword [rsp - 0x38], ecx
ror rdx, 1
ror rdx, 3
ror rdx, 2
ror rdx, 1
ror rdx, 1
xor rdx, rax
xchg r11, r11
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
shr rax, 5
shr rax, 1
shr rax, 1
xor rdx, rax
mov rax, r8
xchg rbx, rbx
ror rax, 3
ror rax, 0xe
ror rax, 1
ror rax, 1
xor rcx, rax
shr r8, 5
shr r8, 1
xor rcx, r8
add rdx, rcx
add rdx, qword [rbp - 0x10]
xchg r9, r9
mov rcx, r9
mov r11, qword [rbp - 0x48]
add r10, rdx
xchg r11, r8
mov r11, qword [rbp - 0x40]
xchg r8, r11
xchg r13, rdx
mov r13, r11
xchg rdx, r13
ror rdx, 8
mov rax, r11
xchg r8, r8
ror rax, 1
xor rdx, rax
ror rcx, 0x3d
mov qword [rbp + 0x28], r10
mov dword [rsp - 0x44], edi
xchg rcx, rax
mov rcx, r11
xchg rcx, rax
shr rax, 4
shr rax, 1
shr rax, 2
xor rdx, rax
xchg r11, r11
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 0xa
ror rax, 9
xor rcx, rax
shr r9, 3
shr r9, 2
shr r9, 1
xor r9, rcx
xchg rdi, r8
mov rax, rdi
xchg r8, rdi
ror rax, 1
add r9, rdx
mov r12, r12
add r9, qword [rbp - 8]
xchg rcx, r15
mov r15, r10
xchg r15, rcx
ror rcx, 0x3d
add r9, rbx
mov dword [rsp - 0x30], edi
mov rdx, r8
mov qword [rbp + 0x30], r9
ror rdx, 3
ror rdx, 4
ror rdx, 1
xor rdx, rax
mov dword [rsp - 0xc], 0x7b73c3da
xchg r8, r13
mov rax, r13
xchg r13, r8
shr rax, 1
shr rax, 4
shr rax, 2
xor rdx, rax
mov dword [rsp - 0xc], esi
xchg r9, r10
mov rax, r9
xchg r10, r9
ror rax, 8
ror rax, 5
ror rax, 4
ror rax, 1
ror rax, 1
xor rcx, rax
mov r11, r11
shr r10, 1
shr r10, 1
shr r10, 1
shr r10, 2
shr r10, 1
xor r10, rcx
lea rax, [r14 + rdx]
mov dword [rsp - 0x3c], 0x39b949b
xchg r8, r9
mov r14, r8
xchg r8, r9
add r10, rax
mov rbp, rbp
ror r14, 2
ror r14, 3
ror r14, 0x2f
ror r14, 3
ror r14, 3
ror r14, 1
ror r14, 1
ror r14, 1
add r10, r11
xchg r11, r8
mov r8, qword [rbp - 0x38]
xchg r11, r8
xchg r10, r11
mov rdx, r10
xchg r10, r11
xchg r13, r10
mov qword [rbp + 0x38], r13
xchg r13, r10
ror rdx, 7
ror rdx, 1
xchg r14, r11
mov rax, r14
xchg r14, r11
ror rax, 1
xor rdx, rax
xchg r15, r15
xchg rbp, rax
mov rbp, r11
xchg rbp, rax
shr rax, 3
shr rax, 4
xor rdx, rax
xchg rsi, rsi
mov rax, r9
ror rax, 1
ror rax, 0xf
ror rax, 1
ror rax, 1
ror rax, 1
xor r14, rax
shr r9, 4
shr r9, 1
shr r9, 1
xor r14, r9
mov r12, r12
lea rax, [r8 + rdx]
xchg r8, r13
mov r13, qword [rbp - 0x30]
xchg r13, r8
add r14, rax
mov rdx, r10
ror rdx, 0x18
ror rdx, 0x1b
ror rdx, 1
ror rdx, 7
ror rdx, 1
ror rdx, 1
xchg rcx, rax
mov rcx, r10
xchg rcx, rax
ror rax, 2
ror rax, 0xf
ror rax, 1
ror rax, 1
mov rcx, r8
xor rdx, rax
mov r8, r8
ror rcx, 7
ror rcx, 1
shr r10, 5
shr r10, 1
xchg r8, rax
mov r8, rax
xchg r8, rax
ror rax, 1
xor rdx, r10
xchg r12, r12
xor rcx, rax
shr r8, 2
shr r8, 5
xor rcx, r8
add r14, rdi
xchg rsi, r14
mov qword [rbp + 0x40], rsi
xchg r14, rsi
lea rax, [rsi + rdx]
add rcx, rax
xchg rdi, rdi
add rcx, r11
xchg r13, rcx
mov qword [rbp + 0x48], r13
xchg rcx, r13
lea rbp, [rbp + 0x40]
sub r12, 1
jne 0x1400df6f1
mov dword [rsp - 0x40], edx
xchg r11, rbx
mov rbx, qword [rsp + 0x300]
xchg r11, rbx
lea r15, [0x140002620]
mov r10, qword [rsp + 0x308]
mov dword [rsp - 0x34], ecx
xchg rsi, r13
mov r8, rsi
xchg r13, rsi
mov r9, qword [rsp]
xchg rcx, rcx
mov rbx, qword [rsp + 8]
xchg r13, rbp
mov r13, qword [rsp + 0x10]
xchg r13, rbp
xchg rsi, r8
mov r8, qword [rsp + 0x18]
xchg rsi, r8
xchg rdi, r11
mov r11, qword [rsp + 0x20]
xchg rdi, r11
nop dword [rax + rax]
mov dword [rsp - 0xc], 0x10f7d905
mov rdx, rbx
xchg rbp, rbx
mov rax, rbp
xchg rbp, rbx
ror rax, 0xc
ror rax, 5
ror rax, 1
xchg r9, rcx
mov r9, r8
xchg r9, rcx
ror rdx, 0x1d
ror rdx, 5
ror rdx, 6
ror rdx, 1
xor rdx, rax
xchg r12, r12
ror rcx, 0x27
xchg rbp, rax
mov rbp, rbx
xchg rbp, rax
ror rax, 2
ror rax, 0xc
xor rdx, rax
xchg r10, rax
mov r10, rbp
xchg r10, rax
xor rax, rsi
and rax, rbx
mov dword [rsp - 0x40], 0x6b20dce
xor rax, rsi
add rdx, rax
xchg rbx, rax
mov rbx, r8
xchg rbx, rax
add rdx, qword [r12 + r15]
add rdx, qword [rsp + r12 + 0x30]
xchg r15, r15
ror rax, 0x18
ror rax, 6
ror rax, 2
ror rax, 1
ror rax, 1
add rdx, rdi
xor rcx, rax
xchg rsi, r8
mov rax, rsi
xchg r8, rsi
ror rax, 0xe
ror rax, 0xa
ror rax, 2
ror rax, 1
ror rax, 1
xor rcx, rax
xchg r9, r9
xchg rbx, rax
mov rbx, r11
xchg rbx, rax
and rax, r8
xchg r10, r10
lea rdi, [r9 + rdx]
xchg r11, rbp
mov r9, rbp
xchg r11, rbp
or r9, r8
and r9, r10
mov rsp, rsp
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
xchg rdx, rdi
mov rdi, rdx
xchg rdi, rdx
ror rdx, 0x27
ror rdx, 1
ror rdx, 1
xchg r8, rax
mov r8, rdi
xchg r8, rax
ror rax, 6
ror rax, 5
ror rax, 2
ror rax, 5
xchg r10, rcx
mov r10, r9
xchg r10, rcx
xor rdx, rax
ror rcx, 0x20
ror rcx, 3
ror rcx, 2
ror rcx, 1
ror rcx, 1
xchg r10, rdi
mov rax, r10
xchg r10, rdi
ror rax, 2
ror rax, 0xa
ror rax, 1
ror rax, 1
xor rdx, rax
xchg r8, rax
mov r8, rbp
xchg r8, rax
xor rax, rbx
mov dword [rsp - 0x3c], 0x183401b6
and rax, rdi
xor rax, rbp
add rdx, rax
xchg r9, r9
mov rax, r9
add rdx, qword [r12 + r15 + 8]
add rdx, qword [rsp + r12 + 0x38]
ror rax, 0x22
mov dword [rsp - 0x18], edx
add rdx, rsi
xor rcx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 0xd
ror rax, 4
ror rax, 4
ror rax, 4
ror rax, 1
ror rax, 1
ror rax, 1
xor rcx, rax
mov dword [rsp - 0x2c], 0x5b376db8
xchg r9, rax
mov r9, rax
xchg r9, rax
lea rsi, [r10 + rdx]
and rax, r8
xchg r8, r9
mov r10, r8
xchg r9, r8
or r10, r8
and r10, r11
mov dword [rsp - 0x40], 0xa50754f
or r10, rax
lea rax, [rdx + rcx]
add r10, rax
mov rdx, rsi
xchg rbp, rbp
ror rdx, 0xf
ror rdx, 0xd
ror rdx, 9
ror rdx, 2
ror rdx, 1
ror rdx, 1
mov rax, rsi
xchg rcx, rcx
ror rax, 1
ror rax, 4
ror rax, 1
ror rax, 3
ror rax, 9
xor rdx, rax
mov rax, rsi
ror rax, 1
ror rax, 5
ror rax, 2
ror rax, 5
ror rax, 1
xor rdx, rax
mov rsi, rsi
mov rax, rdi
xor rax, rbx
and rax, rsi
mov dword [rsp - 0x40], 0x3d11aa3a
xor rax, rbx
add rdx, rax
add rdx, qword [r12 + r15 + 0x10]
mov r14, r14
add rdx, qword [rsp + r12 + 0x40]
add rdx, rbp
xchg r15, rcx
mov r15, r10
xchg r15, rcx
ror rcx, 0x16
ror rcx, 2
ror rcx, 5
ror rcx, 7
ror rcx, 1
ror rcx, 1
ror rcx, 1
xchg rbx, rax
mov rbx, r10
xchg rbx, rax
ror rax, 9
ror rax, 0x12
ror rax, 5
ror rax, 1
ror rax, 1
xor rcx, rax
mov r8, r8
mov rax, r10
ror rax, 0xa
ror rax, 0x11
ror rax, 1
lea rbp, [r11 + rdx]
mov rbx, rbx
xor rcx, rax
mov r11, r10
or r11, r9
xchg r9, r9
xchg r10, rax
mov r10, rax
xchg r10, rax
and rax, r9
mov dword [rsp - 0x40], 0x441ea598
and r11, r8
or r11, rax
lea rax, [rdx + rcx]
mov dword [rsp - 0x38], 0x64de0d68
xchg rsp, rdx
mov rsp, rbp
xchg rdx, rsp
add r11, rax
ror rdx, 0xf
ror rdx, 0x15
ror rdx, 4
ror rdx, 1
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
mov rcx, r11
xchg rcx, rcx
ror rax, 0xa
ror rax, 5
ror rax, 1
ror rax, 1
ror rax, 1
xor rdx, rax
ror rcx, 0xd
ror rcx, 0x10
ror rcx, 7
ror rcx, 1
ror rcx, 1
ror rcx, 1
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
ror rax, 5
ror rax, 3
ror rax, 4
ror rax, 1
ror rax, 1
xor rdx, rax
xchg rsi, rsi
mov rax, rsi
xor rax, rdi
and rax, rbp
xchg r14, r14
xor rax, rdi
add rdx, rax
xchg r13, rax
mov r13, r11
xchg r13, rax
add rdx, qword [r12 + r15 + 0x18]
add rdx, qword [rsp + r12 + 0x48]
mov dword [rsp - 0x14], edi
ror rax, 0x18
ror rax, 1
ror rax, 4
ror rax, 1
ror rax, 3
ror rax, 1
add rdx, rbx
mov r13, r13
xor rcx, rax
xchg rbx, rsp
mov rsp, r11
xchg rbx, rsp
or rbx, r10
mov dword [rsp - 0x10], 0x3831a43e
xchg rdi, rax
mov rdi, r11
xchg rdi, rax
ror rax, 0x19
ror rax, 2
ror rax, 1
and rbx, r9
mov r9, r9
xor rcx, rax
lea r14, [r8 + rdx]
xchg r12, rax
mov r12, r11
xchg r12, rax
xchg r10, r8
mov r10, r14
xchg r8, r10
and rax, r10
ror r8, 0x21
ror r8, 7
ror r8, 1
or rbx, rax
mov r14, r14
lea rax, [rdx + rcx]
add rbx, rax
xchg r14, r12
mov rax, r12
xchg r14, r12
ror rax, 2
ror rax, 0xf
ror rax, 1
mov rdx, rbx
xchg r12, r12
xor r8, rax
ror rdx, 0x17
ror rdx, 1
ror rdx, 0xd
ror rdx, 1
ror rdx, 1
xchg r14, r12
mov rax, r12
xchg r12, r14
ror rax, 0xa
ror rax, 3
ror rax, 1
xor r8, rax
mov rax, rbp
mov dword [rsp - 0x3c], 0x53ddc350
xor rax, rsi
and rax, r14
xor rax, rsi
mov dword [rsp - 0x10], ecx
add r8, rax
xchg rsi, rax
mov rsi, rbx
xchg rsi, rax
add r8, qword [r12 + r15 + 0x20]
mov dword [rsp - 0x44], ebx
add r8, qword [rsp + r12 + 0x50]
ror rax, 0x17
ror rax, 9
ror rax, 1
ror rax, 1
add r8, rdi
xor rdx, rax
mov rax, rbx
mov dword [rsp - 0x30], 0x544100d1
ror rax, 0x14
ror rax, 2
ror rax, 5
ror rax, 1
xor rdx, rax
mov rax, r11
mov dword [rsp - 0x40], 0x76a560eb
lea rdi, [r9 + r8]
mov r9, r11
or r9, rbx
mov rbx, rbx
and r9, r10
and rax, rbx
or r9, rax
xchg rbp, rbp
lea rax, [r8 + rdx]
add r9, rax
xchg rdi, r8
mov rdi, r8
xchg rdi, r8
ror r8, 0xc
ror r8, 0x10
ror r8, 0xa
ror r8, 2
ror r8, 1
mov rax, rdi
ror rax, 4
ror rax, 8
ror rax, 5
ror rax, 1
xchg r11, rdx
mov r11, r9
xchg r11, rdx
xor r8, rax
mov r11, r11
ror rdx, 0x1b
ror rdx, 4
ror rdx, 4
ror rdx, 1
ror rdx, 1
ror rdx, 1
ror rdx, 1
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
ror rax, 7
ror rax, 1
ror rax, 1
ror rax, 5
xor r8, rax
xchg r10, rbp
mov rax, r10
xchg r10, rbp
xor rax, r14
mov dword [rsp - 0x20], 0x5ece6f1b
and rax, rdi
xor rax, rbp
add r8, rax
xchg r14, r14
mov rax, r9
add r8, qword [r12 + r15 + 0x28]
add r8, qword [rsp + r12 + 0x58]
mov rcx, rcx
ror rax, 0x1b
ror rax, 6
ror rax, 1
add r8, rsi
xor rdx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 5
ror rax, 7
ror rax, 0xd
ror rax, 2
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x40], edi
xchg r12, r9
mov rax, r12
xchg r9, r12
and rax, rbx
mov dword [rsp - 0x18], ecx
lea rsi, [r10 + r8]
xchg rdx, r10
mov rdx, r9
xchg rdx, r10
or r10, rbx
mov dword [rsp - 0xc], ecx
and r10, r11
or r10, rax
lea rax, [r8 + rdx]
xchg r14, r14
add r10, rax
xchg rcx, r8
mov rcx, rsi
xchg rcx, r8
ror r8, 0x25
ror r8, 1
ror r8, 1
ror r8, 1
ror r8, 1
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
ror rax, 2
ror rax, 5
ror rax, 2
ror rax, 1
ror rax, 1
ror rax, 3
ror rax, 2
ror rax, 1
ror rax, 1
xchg rsi, rdx
mov rsi, r10
xchg rsi, rdx
xor r8, rax
ror rdx, 0x16
ror rdx, 0xf
ror rdx, 1
ror rdx, 1
xchg rbp, rax
mov rbp, rsi
xchg rbp, rax
ror rax, 0xe
xor r8, rax
mov r9, r9
xchg rdi, r10
mov rax, r10
xchg r10, rdi
xor rax, r14
and rax, rsi
xor rax, r14
mov r8, r8
add r8, rax
xchg r10, r9
mov rax, r9
xchg r9, r10
add r8, qword [r12 + r15 + 0x30]
mov dword [rsp - 0x14], ecx
add r8, qword [rsp + r12 + 0x60]
ror rax, 0xe
ror rax, 0xb
ror rax, 3
ror rax, 4
ror rax, 1
ror rax, 1
add r8, rbp
xor rdx, rax
mov rsi, rsi
xchg rcx, rax
mov rcx, r10
xchg rcx, rax
ror rax, 0x1b
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x10], 0xfff0fe1
xchg r10, rsi
mov rax, rsi
xchg rsi, r10
lea rbp, [r11 + r8]
mov r10, r10
and rax, r9
xchg r15, r10
mov r11, r15
xchg r10, r15
or r11, r9
mov dword [rsp - 0x24], ebx
and r11, rbx
or r11, rax
lea rax, [r8 + rdx]
add r11, rax
mov dword [rsp - 0x18], 0x4f4aad6c
mov r8, rbp
ror r8, 9
ror r8, 7
ror r8, 0xa
ror r8, 4
ror r8, 8
ror r8, 2
ror r8, 1
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
ror rax, 0x12
xor r8, rax
mov r8, r8
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
ror rax, 6
ror rax, 2
ror rax, 2
ror rax, 3
ror rax, 1
xor r8, rax
mov dword [rsp - 0xc], 0x31104b9d
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
xor rax, rdi
and rax, rbp
xor rax, rdi
mov dword [rsp - 0x24], 0xc5403b8
add r8, rax
mov rdx, r11
add r8, qword [r12 + r15 + 0x38]
xchg r14, rax
mov r14, r11
xchg r14, rax
add r8, qword [rsp + r12 + 0x68]
xchg r14, rcx
mov r14, r11
xchg rcx, r14
ror rax, 0xf
ror rax, 6
ror rax, 5
ror rax, 3
ror rax, 1
ror rax, 2
ror rax, 1
ror rax, 1
add r8, r14
ror rdx, 0xf
ror rdx, 0xd
ror rdx, 4
ror rdx, 4
ror rdx, 1
ror rdx, 1
ror rdx, 1
or rcx, r10
xor rdx, rax
add rbx, r8
xchg r11, r11
and rcx, r9
xchg r8, rax
mov r8, r11
xchg r8, rax
ror rax, 0x12
ror rax, 5
ror rax, 2
ror rax, 2
ror rax, 1
nop
add r12, 0x20d5f02d
sub r12, 0x20d5efed
xor rdx, rax
mov rax, r11
xchg r15, r15
and rax, r10
add r8, rdx
or rcx, rax
mov r10, r10
add r8, rcx
cmp r12, 0x280
jl 0x1400dfc21
mov r13, r13
mov r15, qword [rsp + 0x2f0]
lea rax, [r8 + r13]
xchg r14, rax
mov qword [r15 + 8], r14
xchg r14, rax
add qword [r15 + 0x10], r11
add qword [r15 + 0x18], r10
xchg r15, r15
add qword [r15 + 0x20], r9
add qword [r15 + 0x28], rbx
add qword [r15 + 0x30], rbp
add qword [r15 + 0x38], rsi
mov r8, r8
add qword [r15 + 0x40], rdi
xchg r14, rbx
mov r14, qword [rsp + 0x2f8]
xchg r14, rbx
xor eax, eax
neg rsp
add rsp, 0xfffffffffffffd50
neg rsp
pop r15
nop
add rsp, 8
mov r14, qword [rsp - 8]
pop r13
mov dword [rsp - 0x3c], esi
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rdi, qword [rsp - 8]
pop rsi
nop
mov rbp, qword [rsp]
add rsp, 8
ret