Function at 0x1400def20
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, r15
mov qword [rsp + 0x10], r15
xchg rbx, r15
mov qword [rsp + 8], rcx
mov dword [rsp - 0x44], 0x3050a61d
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
mov rsp, rsp
nop
mov qword [rsp - 8], r13
sub rsp, 8
push r14
mov rsi, rsi
nop
sub rsp, 8
mov qword [rsp], r15
add rsp, 0xfffffffffffffd50
mov r15, r15
mov rax, qword [rcx + 0x10]
lea rsi, [rsp + 0x38]
xchg r13, rdx
mov rdx, qword [rcx + 8]
xchg r13, rdx
lea rbp, [rsp + 0x40]
xchg r12, r12
xchg r15, rax
mov qword [rsp + 0x300], r15
xchg r15, rax
lea r8, [rsp + 0x36]
xchg r9, r9
xchg r12, rax
mov r12, qword [rcx + 0x18]
xchg r12, rax
lea r9, [rsp + 0x3e]
mov dword [rsp - 0x10], esp
mov qword [rsp + 0x308], rax
lea r10, [rsp + 0x46]
xchg r9, rax
mov r9, qword [rcx + 0x20]
xchg r9, rax
lea r11, [rsp + 0x4e]
xchg rbp, rax
mov qword [rsp], rbp
xchg rbp, rax
lea rbx, [rsp + 0x56]
mov dword [rsp - 0x28], 0x618c5799
mov rax, qword [rcx + 0x28]
lea r14, [rsp + 0x30]
xchg r10, rax
mov qword [rsp + 8], r10
xchg r10, rax
sub rsi, rdx
mov r8, r8
xchg rsi, rax
mov rsi, qword [rcx + 0x30]
xchg rsi, rax
sub rbp, rdx
mov dword [rsp - 0x34], esi
xchg r15, rax
mov qword [rsp + 0x10], r15
xchg r15, rax
sub r8, rdx
mov rax, qword [rcx + 0x38]
mov dword [rsp - 0x14], 0x20106679
sub r9, rdx
mov qword [rsp + 0x18], rax
sub r10, rdx
mov r11, r11
mov rax, qword [rcx + 0x40]
sub r11, rdx
sub rbx, rdx
mov qword [rsp + 0x20], rax
mov dword [rsp - 0x20], 0x60ded21c
lea rax, [rdx + 0x12]
sub r14, rdx
mov edi, 0x766fb08a
xor edi, 0x7282e894
add edi, 0x5de4ec2e
sub edi, 0x62d2444a
nop dword [rax]
mov dword [rsp - 0x10], edx
movzx ecx, byte [rax - 0x11]
movzx edx, byte [rax - 0x12]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x10]
mov r8, r8
shl rdx, 1
shl rdx, 4
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xf]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xe]
shl rdx, 2
shl rdx, 3
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg r12, r12
movzx ecx, byte [rax - 0xd]
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x40], 0x56bca63d
movzx ecx, byte [rax - 0xc]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov rbp, rbp
movzx ecx, byte [rax - 0xb]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 9]
mov qword [rax + r14 - 0x12], rdx
mov rsi, rsi
movzx edx, byte [rax - 0xa]
shl rdx, 2
shl rdx, 3
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 8]
mov dword [rsp - 0x18], ecx
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x38], edx
movzx ecx, byte [rax - 7]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 6]
mov dword [rsp - 0x2c], 0x63fcce71
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x28], esp
movzx ecx, byte [rax - 5]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x3c], esp
movzx ecx, byte [rax - 4]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 3]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 1]
xchg rbx, rbx
xchg rdx, rsp
mov qword [rax + rsi - 0x12], rsp
xchg rsp, rdx
movzx edx, byte [rax - 2]
mov dword [rsp - 0x18], edi
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 1]
mov dword [rsp - 0x44], esi
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 2]
mov dword [rsp - 0x2c], 0x2e3635b2
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r12, r12
movzx ecx, byte [rax + 3]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 4]
shl rdx, 8
mov dword [rsp - 0x24], edx
or rdx, rcx
movzx ecx, byte [rax + 5]
shl rdx, 4
shl rdx, 4
or rdx, rcx
movzx ecx, byte [rax + 7]
mov qword [rax + rbp - 0x12], rdx
xchg r8, r8
movzx edx, byte [rax + 6]
shl rdx, 4
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 8]
mov dword [rsp - 0xc], ebx
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 9]
mov dword [rsp - 0x34], esi
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xa]
shl rdx, 3
shl rdx, 5
or rdx, rcx
mov dword [rsp - 0x34], 0x7731abfa
movzx ecx, byte [rax + 0xb]
shl rdx, 8
or rdx, rcx
mov dword [rsp - 0x24], 0x2ea6c5c
movzx ecx, byte [rax + 0xc]
shl rdx, 2
shl rdx, 5
shl rdx, 1
or rdx, rcx
xchg r12, r12
movzx ecx, byte [rax + 0xd]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xf]
xchg rdx, rcx
mov qword [rax + r8], rcx
xchg rcx, rdx
movzx edx, byte [rax + 0xe]
shl rdx, 2
shl rdx, 6
or rdx, rcx
xchg rbp, rbp
movzx ecx, byte [rax + 0x10]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x11]
mov dword [rsp - 0x38], edx
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x12]
mov r10, r10
shl rdx, 1
shl rdx, 4
shl rdx, 3
or rdx, rcx
mov r15, r15
movzx ecx, byte [rax + 0x13]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x14]
shl rdx, 8
mov r11, r11
or rdx, rcx
movzx ecx, byte [rax + 0x15]
shl rdx, 7
shl rdx, 1
or rdx, rcx
xchg r13, r13
movzx ecx, byte [rax + 0x17]
xchg rdx, rbx
mov qword [rax + r9], rbx
xchg rdx, rbx
movzx edx, byte [rax + 0x16]
shl rdx, 1
shl rdx, 5
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x28], 0x71d2ec30
movzx ecx, byte [rax + 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x19]
mov dword [rsp - 0x2c], 0x34b52d0a
shl rdx, 7
shl rdx, 1
or rdx, rcx
xchg rsi, rsi
movzx ecx, byte [rax + 0x1a]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x1b]
mov dword [rsp - 0x20], 0x547d81bb
shl rdx, 5
shl rdx, 3
or rdx, rcx
mov dword [rsp - 0x2c], ebx
movzx ecx, byte [rax + 0x1c]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r12, r12
movzx ecx, byte [rax + 0x1d]
shl rdx, 1
shl rdx, 7
or rdx, rcx
xchg rbx, rbx
movzx ecx, byte [rax + 0x1f]
mov qword [rax + r10], rdx
movzx edx, byte [rax + 0x1e]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x20]
mov r12, r12
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x44], ecx
movzx ecx, byte [rax + 0x21]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x24], ebx
movzx ecx, byte [rax + 0x22]
shl rdx, 1
shl rdx, 5
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x23]
mov rsi, rsi
shl rdx, 2
shl rdx, 6
or rdx, rcx
mov dword [rsp - 0xc], ebx
movzx ecx, byte [rax + 0x24]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x25]
shl rdx, 7
shl rdx, 1
or rdx, rcx
xchg rdx, rcx
mov qword [rax + r11], rcx
xchg rcx, rdx
movzx edx, byte [rax + 0x26]
movzx ecx, byte [rax + 0x27]
mov rsp, rsp
lea rax, [rax + 0x40]
shl rdx, 8
or rdx, rcx
xchg r11, r11
movzx ecx, byte [rax - 0x18]
shl rdx, 2
shl rdx, 2
shl rdx, 4
or rdx, rcx
mov rbx, rbx
movzx ecx, byte [rax - 0x17]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x16]
mov dword [rsp - 0x3c], ebx
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x15]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x14]
shl rdx, 3
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x30], 0x759ed9c6
movzx ecx, byte [rax - 0x13]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov qword [rax + rbx - 0x40], rdx
mov dword [rsp - 0x24], ebx
sub rdi, 1
jne 0x1400df06b
mov r14, qword [rsp + 0xa0]
lea rbp, [rsp + 0xa0]
mov rsp, rsp
lea r12d, [rdi + 8]
nop dword [rax]
mov r8, qword [rbp - 0x68]
xchg rsi, r13
mov r13, r14
xchg r13, rsi
xchg r12, r9
mov r12, qword [rbp - 0x60]
xchg r9, r12
xchg rcx, r8
mov r8, rcx
xchg rcx, r8
mov rdi, qword [rbp + 8]
xchg r14, r10
mov rax, r10
xchg r10, r14
mov r10, qword [rbp - 0x58]
xchg rsp, rdx
mov rsp, rdi
xchg rdx, rsp
mov rbx, qword [rbp - 0x50]
ror rax, 0xe
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
ror rcx, 5
ror rcx, 1
ror rcx, 1
ror rcx, 1
ror rdx, 0x20
ror rdx, 0x14
ror rdx, 8
ror rdx, 1
ror rsi, 0x25
ror rsi, 2
ror rsi, 5
ror rsi, 0xb
ror rsi, 5
ror rsi, 1
xor rsi, rax
xchg r14, r8
mov rax, r8
xchg r14, r8
shr rax, 1
shr rax, 1
shr rax, 1
shr rax, 1
shr rax, 1
shr rax, 1
xor rsi, rax
mov rax, r8
mov dword [rsp - 0x2c], esp
ror rax, 1
xor rcx, rax
xchg r8, r10
mov rax, r10
xchg r10, r8
shr rax, 7
xor rcx, rax
mov dword [rsp - 0x38], 0x623033fc
xchg r11, rax
mov r11, rdi
xchg r11, rax
ror rax, 0xa
ror rax, 3
ror rax, 2
ror rax, 1
ror rax, 3
add rsi, rcx
mov dword [rsp - 0x1c], 0x22e8eea9
xor rdx, rax
add rsi, qword [rbp - 0x70]
add rsi, qword [rbp - 0x28]
mov dword [rsp - 0x24], ecx
xchg r9, rcx
mov r9, rcx
xchg r9, rcx
ror rcx, 2
ror rcx, 3
ror rcx, 2
ror rcx, 1
xchg rcx, rax
mov rcx, rdi
xchg rcx, rax
shr rax, 3
shr rax, 1
shr rax, 1
shr rax, 1
xor rdx, rax
xchg r10, r10
xchg rsp, rsi
mov qword [rbp + 0x10], rsp
xchg rsi, rsp
mov rax, r9
ror rax, 1
xor rcx, rax
mov dword [rsp - 0x30], 0x122c86ac
xchg r9, rax
mov r9, rax
xchg r9, rax
shr rax, 4
shr rax, 1
shr rax, 2
xor rcx, rax
mov dword [rsp - 0x40], 0x347b0713
xchg r14, rax
mov r14, rsi
xchg r14, rax
add rdx, rcx
mov dword [rsp - 0x40], ecx
ror rax, 0xe
ror rax, 1
ror rax, 3
ror rax, 1
add rdx, qword [rbp - 0x20]
xchg r14, r10
mov rcx, r14
xchg r10, r14
add r8, rdx
mov dword [rsp - 0xc], edx
ror rcx, 8
xchg rdx, rsi
mov rsi, rdx
xchg rsi, rdx
xchg rdi, r8
mov qword [rbp + 0x18], rdi
xchg rdi, r8
ror rdx, 0x1b
ror rdx, 0xb
ror rdx, 2
ror rdx, 0xe
ror rdx, 3
ror rdx, 2
ror rdx, 1
ror rdx, 1
xor rdx, rax
mov r9, r9
mov rax, rsi
shr rax, 1
shr rax, 3
shr rax, 1
shr rax, 1
xor rdx, rax
xchg r10, rax
mov r10, rax
xchg r10, rax
ror rax, 1
xchg rcx, rcx
xor rcx, rax
xchg r10, r9
mov rax, r9
xchg r9, r10
shr rax, 7
xor rcx, rax
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
add rdx, rcx
mov dword [rsp - 0x44], esi
ror rax, 1
add rdx, qword [rbp - 0x18]
xchg r14, rcx
mov r14, r8
xchg rcx, r14
add r9, rdx
ror rcx, 0x18
ror rcx, 0xe
ror rcx, 0x14
ror rcx, 1
ror rcx, 1
ror rcx, 1
xchg rdx, rbx
mov rbx, rdx
xchg rbx, rdx
mov qword [rbp + 0x20], r9
ror rdx, 8
mov dword [rsp - 0x44], 0x5a38c373
xor rdx, rax
mov rax, rbx
shr rax, 7
xchg r15, r15
xor rdx, rax
xchg r9, rax
mov r9, r8
xchg r9, rax
ror rax, 1
ror rax, 2
ror rax, 8
ror rax, 6
ror rax, 1
ror rax, 1
xor rcx, rax
mov dword [rsp - 0xc], esp
shr r8, 2
shr r8, 3
shr r8, 1
xor rcx, r8
add rdx, rcx
add rdx, qword [rbp - 0x10]
xchg r12, r12
mov rcx, r9
mov r11, qword [rbp - 0x48]
add r10, rdx
mov dword [rsp - 0x44], ecx
mov r8, qword [rbp - 0x40]
xchg rcx, r11
mov rdx, rcx
xchg rcx, r11
ror rdx, 2
ror rdx, 1
ror rdx, 5
mov rax, r11
ror rax, 1
mov dword [rsp - 0xc], 0x13f6d39
xor rdx, rax
ror rcx, 0xe
ror rcx, 0x12
ror rcx, 2
ror rcx, 0xb
ror rcx, 8
ror rcx, 3
ror rcx, 2
ror rcx, 3
mov qword [rbp + 0x28], r10
mov r14, r14
mov rax, r11
shr rax, 2
shr rax, 4
shr rax, 1
xor rdx, rax
mov r11, r11
xchg rsi, rax
mov rsi, r9
xchg rsi, rax
ror rax, 0x10
ror rax, 2
ror rax, 1
xor rcx, rax
shr r9, 4
shr r9, 1
shr r9, 1
xor r9, rcx
mov dword [rsp - 0x3c], 0xa92f055
mov rax, r8
ror rax, 1
add r9, rdx
add r9, qword [rbp - 8]
mov dword [rsp - 0x24], 0x24548a8b
mov rcx, r10
ror rcx, 0x23
ror rcx, 0xf
ror rcx, 0xb
add r9, rbx
mov dword [rsp - 0x14], 0x1b13ed28
xchg r8, rdx
mov r8, rdx
xchg rdx, r8
xchg rdx, r9
mov qword [rbp + 0x30], rdx
xchg r9, rdx
ror rdx, 8
mov rsi, rsi
xor rdx, rax
mov rax, r8
shr rax, 1
shr rax, 2
shr rax, 2
shr rax, 1
shr rax, 1
xor rdx, rax
mov rax, r10
ror rax, 2
ror rax, 0xa
ror rax, 3
ror rax, 4
xor rcx, rax
shr r10, 4
shr r10, 1
shr r10, 1
xor r10, rcx
mov dword [rsp - 0x1c], esi
lea rax, [r14 + rdx]
xchg r9, r12
mov r14, r12
xchg r12, r9
add r10, rax
ror r14, 0x16
ror r14, 0x21
ror r14, 2
ror r14, 1
ror r14, 1
ror r14, 1
ror r14, 1
add r10, r11
mov r11, qword [rbp - 0x38]
mov rdx, r11
mov rcx, rcx
mov qword [rbp + 0x38], r10
ror rdx, 5
ror rdx, 2
ror rdx, 1
xchg r10, rax
mov r10, r11
xchg r10, rax
ror rax, 1
mov r8, r8
xor rdx, rax
xchg r11, rax
mov r11, rax
xchg r11, rax
shr rax, 2
shr rax, 2
shr rax, 2
shr rax, 1
xor rdx, rax
mov r15, r15
xchg r15, rax
mov r15, r9
xchg r15, rax
ror rax, 8
ror rax, 0xa
ror rax, 1
xor r14, rax
mov dword [rsp - 0x20], ecx
shr r9, 5
shr r9, 1
xor r14, r9
lea rax, [r8 + rdx]
xchg r11, r11
xchg r8, r13
mov r13, qword [rbp - 0x30]
xchg r13, r8
add r14, rax
mov dword [rsp - 0x14], 0x3ea2f2a
xchg rdx, r10
mov r10, rdx
xchg rdx, r10
ror rdx, 0x13
ror rdx, 0x20
ror rdx, 1
ror rdx, 5
ror rdx, 1
ror rdx, 1
ror rdx, 1
ror rdx, 1
xchg r10, rax
mov r10, rax
xchg r10, rax
ror rax, 3
ror rax, 5
ror rax, 0xb
mov rcx, r8
xor rdx, rax
mov dword [rsp - 0x30], ebp
ror rcx, 6
ror rcx, 1
ror rcx, 1
shr r10, 3
shr r10, 3
xchg r8, r14
mov rax, r14
xchg r8, r14
ror rax, 1
mov dword [rsp - 0x1c], edx
xor rdx, r10
xor rcx, rax
shr r8, 5
shr r8, 1
shr r8, 1
xor rcx, r8
add r14, rdi
mov qword [rbp + 0x40], r14
mov dword [rsp - 0x30], ebx
lea rax, [rsi + rdx]
add rcx, rax
add rcx, r11
mov dword [rsp - 0x1c], edi
mov qword [rbp + 0x48], rcx
lea rbp, [rbp + 0x40]
sub r12, 1
jne 0x1400df556
mov dword [rsp - 0x3c], ebx
xchg r11, rbx
mov rbx, qword [rsp + 0x300]
xchg rbx, r11
lea r15, [0x140002620]
xchg rdx, rdx
mov r10, qword [rsp + 0x308]
xchg r13, r8
mov r13, r8
xchg r13, r8
xchg r13, r9
mov r13, qword [rsp]
xchg r13, r9
mov rbx, qword [rsp + 8]
mov rbp, qword [rsp + 0x10]
mov dword [rsp - 0x14], edx
xchg rsi, rcx
mov rcx, qword [rsp + 0x18]
xchg rcx, rsi
xchg rdi, r12
mov r12, qword [rsp + 0x20]
xchg r12, rdi
nop dword [rax + rax]
mov dword [rsp - 0x38], 0x3b309842
mov rdx, rbx
xchg rbx, r8
mov rax, r8
xchg rbx, r8
ror rax, 0xf
ror rax, 1
ror rax, 1
ror rax, 1
mov rcx, r8
mov dword [rsp - 0xc], edx
ror rdx, 0x23
ror rdx, 1
ror rdx, 3
ror rdx, 2
xor rdx, rax
ror rcx, 0xd
ror rcx, 0x17
ror rcx, 2
ror rcx, 1
xchg r8, rax
mov r8, rbx
xchg r8, rax
ror rax, 1
ror rax, 0xc
ror rax, 1
xor rdx, rax
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
xor rax, rsi
and rax, rbx
xor rax, rsi
mov rdx, rdx
add rdx, rax
mov rax, r8
add rdx, qword [r12 + r15]
add rdx, qword [rsp + r12 + 0x30]
mov rbp, rbp
ror rax, 0x1a
ror rax, 3
ror rax, 4
ror rax, 1
add rdx, rdi
mov r14, r14
xor rcx, rax
xchg rdx, r8
mov rax, rdx
xchg rdx, r8
ror rax, 0x11
ror rax, 0xa
ror rax, 1
xor rcx, rax
mov dword [rsp - 0x28], 0x5fdd1041
xchg r9, rax
mov r9, r11
xchg r9, rax
and rax, r8
mov dword [rsp - 0x24], edx
lea rdi, [r9 + rdx]
xchg r15, r11
mov r9, r15
xchg r11, r15
or r9, r8
mov rsi, rsi
and r9, r10
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
mov rsp, rsp
xchg rdx, rdi
mov rdi, rdx
xchg rdx, rdi
ror rdx, 0x1b
ror rdx, 6
ror rdx, 4
ror rdx, 1
ror rdx, 2
ror rdx, 1
xchg r8, rdi
mov rax, r8
xchg rdi, r8
ror rax, 7
ror rax, 8
ror rax, 3
xchg r9, rcx
mov r9, rcx
xchg rcx, r9
xor rdx, rax
mov dword [rsp - 0x24], 0x2149ed1a
ror rcx, 0x11
ror rcx, 0xf
ror rcx, 2
ror rcx, 2
ror rcx, 1
ror rcx, 1
ror rcx, 1
xchg rdi, r15
mov rax, r15
xchg rdi, r15
ror rax, 3
ror rax, 4
ror rax, 2
ror rax, 2
ror rax, 2
ror rax, 1
xor rdx, rax
mov r15, r15
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
xor rax, rbx
xchg rsi, rsi
and rax, rdi
xor rax, rbp
add rdx, rax
xchg r12, rax
mov r12, r9
xchg r12, rax
add rdx, qword [r12 + r15 + 8]
mov dword [rsp - 0x30], edi
add rdx, qword [rsp + r12 + 0x38]
ror rax, 8
ror rax, 0x12
ror rax, 2
ror rax, 5
ror rax, 1
add rdx, rsi
xor rcx, rax
mov dword [rsp - 0x14], edx
xchg rcx, r9
mov rax, rcx
xchg r9, rcx
ror rax, 0xd
ror rax, 8
ror rax, 2
ror rax, 4
ror rax, 1
xor rcx, rax
mov r11, r11
xchg r9, rdx
mov rax, rdx
xchg rdx, r9
lea rsi, [r10 + rdx]
and rax, r8
xchg rcx, rcx
mov r10, r9
or r10, r8
and r10, r11
or r10, rax
xchg r11, r11
lea rax, [rdx + rcx]
add r10, rax
xchg rsi, rdx
mov rsi, rdx
xchg rdx, rsi
ror rdx, 0x26
ror rdx, 2
ror rdx, 1
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
ror rax, 0xd
ror rax, 1
ror rax, 3
ror rax, 1
xor rdx, rax
mov rsi, rsi
xchg rsi, rdx
mov rax, rdx
xchg rdx, rsi
ror rax, 0xa
ror rax, 2
ror rax, 1
ror rax, 1
xor rdx, rax
mov rax, rdi
mov r11, r11
xor rax, rbx
and rax, rsi
xor rax, rbx
add rdx, rax
xchg rsi, rsi
add rdx, qword [r12 + r15 + 0x10]
add rdx, qword [rsp + r12 + 0x40]
add rdx, rbp
xchg r9, rcx
mov r9, r10
xchg rcx, r9
ror rcx, 2
ror rcx, 2
ror rcx, 0x13
ror rcx, 1
ror rcx, 4
ror rcx, 7
ror rcx, 2
ror rcx, 1
ror rcx, 1
xchg rbx, rax
mov rbx, r10
xchg rbx, rax
ror rax, 0x16
ror rax, 6
ror rax, 2
ror rax, 1
ror rax, 2
ror rax, 1
xor rcx, rax
xchg rbx, r10
mov rax, rbx
xchg r10, rbx
ror rax, 0xa
ror rax, 2
ror rax, 0xc
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
lea rbp, [r11 + rdx]
mov dword [rsp - 0x20], 0x6f9a0646
xor rcx, rax
xchg rbp, r11
mov rbp, r10
xchg r11, rbp
or r11, r9
mov dword [rsp - 0x10], ecx
xchg r10, rax
mov r10, rax
xchg r10, rax
and rax, r9
and r11, r8
mov rdi, rdi
or r11, rax
lea rax, [rdx + rcx]
mov rdx, rbp
add r11, rax
xchg r12, r12
ror rdx, 0x26
ror rdx, 1
ror rdx, 1
ror rdx, 1
xchg rbp, r13
mov rax, r13
xchg rbp, r13
xchg rsi, rcx
mov rsi, r11
xchg rcx, rsi
ror rax, 0xe
ror rax, 3
ror rax, 1
xor rdx, rax
ror rcx, 5
ror rcx, 4
ror rcx, 8
ror rcx, 0x11
ror rcx, 2
ror rcx, 2
ror rcx, 1
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
ror rax, 6
ror rax, 6
ror rax, 1
ror rax, 1
xor rdx, rax
mov rsp, rsp
mov rax, rsi
xor rax, rdi
and rax, rbp
mov dword [rsp - 0x20], 0x66cf3555
xor rax, rdi
add rdx, rax
xchg rbx, rax
mov rbx, r11
xchg rbx, rax
add rdx, qword [r12 + r15 + 0x18]
add rdx, qword [rsp + r12 + 0x48]
ror rax, 6
ror rax, 0x1a
ror rax, 1
ror rax, 1
add rdx, rbx
xor rcx, rax
xchg r11, rbx
mov r11, rbx
xchg rbx, r11
or rbx, r10
xchg r11, r11
mov rax, r11
ror rax, 0x1a
ror rax, 1
ror rax, 1
and rbx, r9
xor rcx, rax
lea r14, [r8 + rdx]
xchg rsp, rsp
mov rax, r11
xchg rdi, r14
mov r8, rdi
xchg r14, rdi
and rax, r10
ror r8, 0x15
ror r8, 0xb
ror r8, 1
ror r8, 7
ror r8, 1
or rbx, rax
xchg r13, r13
lea rax, [rdx + rcx]
add rbx, rax
xchg r14, rax
mov r14, rax
xchg r14, rax
ror rax, 5
ror rax, 6
ror rax, 7
xchg r12, rdx
mov r12, rbx
xchg r12, rdx
xor r8, rax
ror rdx, 1
ror rdx, 0x16
ror rdx, 0xb
ror rdx, 4
ror rdx, 1
xchg rbx, rax
mov rbx, r14
xchg rbx, rax
ror rax, 0xe
xor r8, rax
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
xor rax, rsi
and rax, r14
xor rax, rsi
mov dword [rsp - 0x18], edx
add r8, rax
mov rax, rbx
add r8, qword [r12 + r15 + 0x20]
mov dword [rsp - 0x3c], edi
add r8, qword [rsp + r12 + 0x50]
ror rax, 8
ror rax, 0x1a
add r8, rdi
xor rdx, rax
mov dword [rsp - 0x24], esp
xchg r8, rax
mov r8, rbx
xchg r8, rax
ror rax, 3
ror rax, 2
ror rax, 0xb
ror rax, 0xb
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x10], esi
xchg rbx, rax
mov rbx, r11
xchg rbx, rax
lea rdi, [r9 + r8]
mov dword [rsp - 0x10], 0x591b9bdb
xchg r11, rsp
mov r9, rsp
xchg r11, rsp
or r9, rbx
mov dword [rsp - 0x18], 0x5a5242e1
and r9, r10
and rax, rbx
or r9, rax
mov dword [rsp - 0x2c], 0x5679402
lea rax, [r8 + rdx]
add r9, rax
xchg rdi, r12
mov r8, r12
xchg r12, rdi
ror r8, 9
ror r8, 0x11
ror r8, 7
ror r8, 5
ror r8, 1
ror r8, 1
ror r8, 1
xchg r14, rax
mov r14, rdi
xchg r14, rax
ror rax, 5
ror rax, 9
ror rax, 1
ror rax, 2
ror rax, 1
xchg r9, rdx
mov r9, rdx
xchg r9, rdx
xor r8, rax
ror rdx, 0x1b
ror rdx, 2
ror rdx, 2
ror rdx, 3
ror rdx, 4
ror rdx, 1
xchg r15, rax
mov r15, rdi
xchg r15, rax
ror rax, 4
ror rax, 3
ror rax, 6
ror rax, 1
xor r8, rax
mov rcx, rcx
xchg r8, rax
mov r8, rbp
xchg r8, rax
xor rax, r14
mov dword [rsp - 0x40], 0x163c360e
and rax, rdi
xor rax, rbp
add r8, rax
mov dword [rsp - 0x2c], esp
xchg r9, rax
mov r9, rax
xchg r9, rax
add r8, qword [r12 + r15 + 0x28]
add r8, qword [rsp + r12 + 0x58]
mov dword [rsp - 0x2c], edx
ror rax, 0x17
ror rax, 9
ror rax, 1
ror rax, 1
add r8, rsi
xor rdx, rax
mov rax, r9
mov dword [rsp - 0x40], ebp
ror rax, 0x13
ror rax, 6
ror rax, 2
ror rax, 1
xor rdx, rax
xchg rsp, rsp
mov rax, r9
and rax, rbx
lea rsi, [r10 + r8]
mov r11, r11
xchg r12, r10
mov r12, r9
xchg r12, r10
or r10, rbx
and r10, r11
or r10, rax
mov dword [rsp - 0x3c], 0x5c22833c
lea rax, [r8 + rdx]
add r10, rax
xchg rsp, rsi
mov r8, rsp
xchg rsp, rsi
ror r8, 0x17
ror r8, 2
ror r8, 0xc
ror r8, 4
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
ror rax, 0xd
ror rax, 3
ror rax, 1
ror rax, 1
mov rdx, r10
xor r8, rax
ror rdx, 9
ror rdx, 0xd
ror rdx, 9
ror rdx, 2
ror rdx, 1
ror rdx, 4
ror rdx, 1
mov rax, rsi
xchg r8, r8
ror rax, 8
ror rax, 2
ror rax, 2
ror rax, 1
ror rax, 1
xor r8, rax
xchg r11, rdi
mov rax, r11
xchg rdi, r11
xor rax, r14
xchg rbp, rbp
and rax, rsi
xor rax, r14
add r8, rax
xchg rcx, rax
mov rcx, r10
xchg rcx, rax
add r8, qword [r12 + r15 + 0x30]
mov rbx, rbx
add r8, qword [rsp + r12 + 0x60]
ror rax, 1
ror rax, 0x11
ror rax, 0xd
ror rax, 2
ror rax, 1
add r8, rbp
mov dword [rsp - 0x44], ebx
xor rdx, rax
xchg rdx, rax
mov rdx, r10
xchg rdx, rax
ror rax, 0x15
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 3
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x34], 0x14a946a9
xchg rdx, rax
mov rdx, r10
xchg rdx, rax
lea rbp, [r11 + r8]
xchg rsi, rsi
and rax, r9
xchg r10, r13
mov r11, r13
xchg r13, r10
or r11, r9
xchg r14, r14
and r11, rbx
or r11, rax
lea rax, [r8 + rdx]
mov dword [rsp - 0x20], 0x40f92f44
add r11, rax
xchg r8, rbp
mov rbp, r8
xchg r8, rbp
ror r8, 0x11
ror r8, 0x18
xchg r15, rax
mov r15, rbp
xchg r15, rax
ror rax, 0xc
ror rax, 3
ror rax, 2
ror rax, 1
xor r8, rax
xchg rbp, r14
mov rax, r14
xchg r14, rbp
ror rax, 0xc
ror rax, 1
ror rax, 1
xor r8, rax
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
xor rax, rdi
and rax, rbp
xor rax, rdi
mov dword [rsp - 0x38], ebp
add r8, rax
xchg r8, r11
mov rdx, r8
xchg r11, r8
add r8, qword [r12 + r15 + 0x38]
xchg rdi, rax
mov rdi, r11
xchg rdi, rax
add r8, qword [rsp + r12 + 0x68]
xchg r15, rcx
mov r15, r11
xchg r15, rcx
ror rax, 4
ror rax, 5
ror rax, 3
ror rax, 4
ror rax, 6
ror rax, 6
ror rax, 2
ror rax, 3
ror rax, 1
add r8, r14
mov rbp, rbp
ror rdx, 1
ror rdx, 0xa
ror rdx, 0x19
ror rdx, 1
ror rdx, 1
ror rdx, 1
or rcx, r10
xor rdx, rax
mov dword [rsp - 0x2c], 0x441ffb0f
add rbx, r8
and rcx, r9
xchg r11, rax
mov r11, rax
xchg r11, rax
ror rax, 0xb
ror rax, 4
ror rax, 3
ror rax, 3
ror rax, 5
ror rax, 1
ror rax, 1
sub r12, 0xffffffffffffffc0
mov rdx, rdx
xor rdx, rax
mov rax, r11
and rax, r10
xchg r11, r11
add r8, rdx
or rcx, rax
add r8, rcx
mov rcx, rcx
cmp r12, 0x280
jl 0x1400dfad4
xchg r14, r15
mov r14, qword [rsp + 0x2f0]
xchg r14, r15
lea rax, [r8 + r13]
mov rbx, rbx
mov qword [r15 + 8], rax
add qword [r15 + 0x10], r11
add qword [r15 + 0x18], r10
mov dword [rsp - 0x44], 0x570b2b3a
add qword [r15 + 0x20], r9
add qword [r15 + 0x28], rbx
add qword [r15 + 0x30], rbp
mov dword [rsp - 0x3c], esi
add qword [r15 + 0x38], rsi
add qword [r15 + 0x40], rdi
xchg rbx, r12
mov r12, qword [rsp + 0x2f8]
xchg rbx, r12
xor eax, eax
add rsp, 0x2b0
mov rdx, rdx
nop
add rsp, 8
mov r15, qword [rsp - 8]
pop r14
mov dword [rsp - 0x38], 0x709d53d9
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
mov rsi, qword [rsp - 8]
nop
mov rbp, qword [rsp]
add rsp, 8
ret