Function at 0x1400df120
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
xchg rcx, r10
mov qword [rsp + 8], r10
xchg r10, rcx
push rbp
nop
push r10
mov qword [rsp], rsi
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
push r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
neg rsp
sub rsp, 0xfffffffffffffd50
neg rsp
xchg rdx, rax
mov rdx, qword [rcx + 0x10]
xchg rdx, rax
lea rsi, [rsp + 0x38]
mov dword [rsp - 0x2c], 0x383e6dbb
mov r13, qword [rcx + 8]
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x300], rax
lea r8, [rsp + 0x36]
mov dword [rsp - 0x24], ebp
xchg r15, rax
mov r15, qword [rcx + 0x18]
xchg r15, rax
lea r9, [rsp + 0x3e]
mov qword [rsp + 0x308], rax
lea r10, [rsp + 0x46]
mov dword [rsp - 0x3c], edx
xchg r15, rax
mov r15, qword [rcx + 0x20]
xchg r15, rax
lea r11, [rsp + 0x4e]
mov dword [rsp - 0x40], esi
xchg r10, rax
mov qword [rsp], r10
xchg r10, rax
lea rbx, [rsp + 0x56]
xchg rdi, rdi
mov rax, qword [rcx + 0x28]
lea r14, [rsp + 0x30]
mov qword [rsp + 8], rax
mov dword [rsp - 0x2c], ecx
sub rsi, rdx
mov rax, qword [rcx + 0x30]
sub rbp, rdx
mov qword [rsp + 0x10], rax
xchg rcx, rcx
sub r8, rdx
mov rax, qword [rcx + 0x38]
sub r9, rdx
mov r14, r14
xchg r8, rax
mov qword [rsp + 0x18], r8
xchg r8, rax
sub r10, rdx
xchg r14, rax
mov r14, qword [rcx + 0x40]
xchg r14, rax
sub r11, rdx
sub rbx, rdx
mov qword [rsp + 0x20], rax
mov rdi, rdi
lea rax, [rdx + 0x12]
sub r14, rdx
mov edi, 0x3ed39b74
sub edi, 0x3e290f84
add edi, 0x793acba1
xor edi, 0x5aea2f01
sub edi, 0x230f788e
nop dword [rax]
xchg rdx, rdx
movzx ecx, byte [rax - 0x11]
movzx edx, byte [rax - 0x12]
shl rdx, 3
shl rdx, 5
or rdx, rcx
movzx ecx, byte [rax - 0x10]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
xchg r9, r9
movzx ecx, byte [rax - 0xf]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xe]
mov dword [rsp - 0x20], esp
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x20], 0x48e3e540
movzx ecx, byte [rax - 0xd]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xc]
xchg r9, r9
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x34], ecx
movzx ecx, byte [rax - 0xb]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 9]
xchg rsi, rsi
xchg rsi, rdx
mov qword [rax + r14 - 0x12], rsi
xchg rdx, rsi
movzx edx, byte [rax - 0xa]
mov dword [rsp - 0x34], ebx
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x3c], edi
movzx ecx, byte [rax - 8]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x28], 0x16dabdf
movzx ecx, byte [rax - 7]
shl rdx, 1
shl rdx, 7
or rdx, rcx
mov dword [rsp - 0x38], edi
movzx ecx, byte [rax - 6]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0xc], edx
movzx ecx, byte [rax - 5]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg r10, r10
movzx ecx, byte [rax - 4]
shl rdx, 8
or rdx, rcx
mov r11, r11
movzx ecx, byte [rax - 3]
shl rdx, 3
shl rdx, 1
shl rdx, 1
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov rsi, rsi
movzx ecx, byte [rax - 1]
mov qword [rax + rsi - 0x12], rdx
movzx edx, byte [rax - 2]
shl rdx, 6
shl rdx, 2
or rdx, rcx
mov dword [rsp - 0x20], 0x66d44984
movzx ecx, byte [rax]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x20], edi
movzx ecx, byte [rax + 1]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 2]
xchg r15, r15
shl rdx, 1
shl rdx, 1
shl rdx, 5
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 3]
shl rdx, 1
shl rdx, 1
shl rdx, 2
shl rdx, 1
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 4]
xchg r10, r10
shl rdx, 7
shl rdx, 1
or rdx, rcx
xchg rdx, rdx
movzx ecx, byte [rax + 5]
shl rdx, 3
shl rdx, 1
shl rdx, 4
or rdx, rcx
mov r11, r11
movzx ecx, byte [rax + 7]
xchg rdx, rbx
mov qword [rax + rbp - 0x12], rbx
xchg rbx, rdx
movzx edx, byte [rax + 6]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x14], 0x42d779e
movzx ecx, byte [rax + 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 9]
mov r12, r12
shl rdx, 1
shl rdx, 1
shl rdx, 6
or rdx, rcx
movzx ecx, byte [rax + 0xa]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xb]
shl rdx, 8
mov r8, r8
or rdx, rcx
movzx ecx, byte [rax + 0xc]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xd]
mov dword [rsp - 0x20], esp
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r10, r10
movzx ecx, byte [rax + 0xf]
xchg r11, rdx
mov qword [rax + r8], r11
xchg r11, rdx
movzx edx, byte [rax + 0xe]
shl rdx, 1
shl rdx, 2
shl rdx, 2
shl rdx, 3
or rdx, rcx
movzx ecx, byte [rax + 0x10]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x28], 0x1459d1b
movzx ecx, byte [rax + 0x11]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r15, r15
movzx ecx, byte [rax + 0x12]
shl rdx, 4
shl rdx, 2
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax + 0x13]
mov dword [rsp - 0x38], edx
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x14]
mov dword [rsp - 0x34], 0x6697f86c
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x15]
mov dword [rsp - 0x34], ecx
shl rdx, 3
shl rdx, 5
or rdx, rcx
xchg rdx, rdx
movzx ecx, byte [rax + 0x17]
mov qword [rax + r9], rdx
movzx edx, byte [rax + 0x16]
mov r15, r15
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 2
shl rdx, 3
or rdx, rcx
mov dword [rsp - 0x3c], ecx
movzx ecx, byte [rax + 0x18]
shl rdx, 3
shl rdx, 2
shl rdx, 2
shl rdx, 1
or rdx, rcx
xchg rdx, rdx
movzx ecx, byte [rax + 0x19]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x1a]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x1b]
mov r9, r9
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov r11, r11
movzx ecx, byte [rax + 0x1c]
shl rdx, 2
shl rdx, 3
shl rdx, 3
or rdx, rcx
mov dword [rsp - 0x40], 0x15b7ddfa
movzx ecx, byte [rax + 0x1d]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x1f]
mov dword [rsp - 0x3c], esp
mov qword [rax + r10], rdx
movzx edx, byte [rax + 0x1e]
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x20]
mov dword [rsp - 0x30], edi
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x21]
xchg rdx, rdx
shl rdx, 5
shl rdx, 3
or rdx, rcx
movzx ecx, byte [rax + 0x22]
mov dword [rsp - 0x30], ebx
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x23]
mov dword [rsp - 0x10], 0xca204a5
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x24]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x25]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov qword [rax + r11], rdx
xchg r10, r10
movzx edx, byte [rax + 0x26]
movzx ecx, byte [rax + 0x27]
lea rax, [rax + 0x40]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x18]
mov rsp, rsp
shl rdx, 5
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x17]
shl rdx, 8
xchg r11, r11
or rdx, rcx
movzx ecx, byte [rax - 0x16]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x15]
mov rdx, rdx
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x14]
shl rdx, 4
shl rdx, 4
or rdx, rcx
mov dword [rsp - 0x28], 0x650c18e3
movzx ecx, byte [rax - 0x13]
shl rdx, 1
shl rdx, 2
shl rdx, 2
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0xc], edx
xchg r8, rdx
mov qword [rax + rbx - 0x40], r8
xchg r8, rdx
sub rdi, 1
mov dword [rsp - 0x30], 0x2ac7bd38
jne 0x1400df250
xchg rbp, r14
mov rbp, qword [rsp + 0xa0]
xchg r14, rbp
lea rbp, [rsp + 0xa0]
lea r12d, [rdi + 8]
xchg r10, r10
nop dword [rax]
xchg rdx, r8
mov rdx, qword [rbp - 0x68]
xchg rdx, r8
xchg r14, r13
mov rsi, r13
xchg r14, r13
xchg r10, r9
mov r10, qword [rbp - 0x60]
xchg r10, r9
mov rcx, r8
mov dword [rsp - 0x44], 0x265e3d21
mov rdi, qword [rbp + 8]
mov rax, r14
xchg r12, r10
mov r12, qword [rbp - 0x58]
xchg r10, r12
xchg rdi, rbx
mov rdx, rbx
xchg rbx, rdi
xchg r11, rbx
mov r11, qword [rbp - 0x50]
xchg rbx, r11
ror rax, 2
ror rax, 3
ror rax, 0xa
ror rax, 2
ror rax, 1
ror rax, 1
ror rcx, 8
ror rdx, 0x11
ror rdx, 0x1d
ror rdx, 0xb
ror rdx, 2
ror rdx, 1
ror rdx, 1
ror rsi, 9
ror rsi, 0x1a
ror rsi, 3
ror rsi, 0x12
ror rsi, 2
ror rsi, 2
ror rsi, 1
xor rsi, rax
xchg r14, rsi
mov rax, rsi
xchg rsi, r14
shr rax, 3
shr rax, 2
shr rax, 1
xor rsi, rax
mov rax, r8
ror rax, 1
mov dword [rsp - 0x1c], ebp
xor rcx, rax
xchg r8, rbp
mov rax, rbp
xchg rbp, r8
shr rax, 4
shr rax, 2
shr rax, 1
xor rcx, rax
mov r11, r11
xchg rdx, rax
mov rdx, rdi
xchg rdx, rax
ror rax, 5
ror rax, 0xc
ror rax, 1
ror rax, 1
add rsi, rcx
xchg rbx, rbx
xor rdx, rax
add rsi, qword [rbp - 0x70]
add rsi, qword [rbp - 0x28]
mov rcx, r9
mov dword [rsp - 0x3c], edi
ror rcx, 2
ror rcx, 5
ror rcx, 1
xchg rsi, rax
mov rsi, rdi
xchg rsi, rax
shr rax, 3
shr rax, 2
shr rax, 1
xor rdx, rax
mov rbx, rbx
mov qword [rbp + 0x10], rsi
xchg rsp, rax
mov rsp, r9
xchg rsp, rax
ror rax, 1
xor rcx, rax
xchg r9, r11
mov rax, r11
xchg r11, r9
shr rax, 2
shr rax, 2
shr rax, 1
shr rax, 1
shr rax, 1
xor rcx, rax
xchg rcx, rcx
xchg r13, rax
mov r13, rsi
xchg r13, rax
add rdx, rcx
ror rax, 0xc
ror rax, 1
ror rax, 5
ror rax, 1
add rdx, qword [rbp - 0x20]
mov dword [rsp - 0x18], 0x7ed50875
mov rcx, r10
add r8, rdx
ror rcx, 2
ror rcx, 1
ror rcx, 1
ror rcx, 2
ror rcx, 2
xchg rsi, rdx
mov rsi, rdx
xchg rsi, rdx
xchg rdx, r8
mov qword [rbp + 0x18], rdx
xchg r8, rdx
ror rdx, 0x14
ror rdx, 0x14
ror rdx, 0x13
ror rdx, 1
ror rdx, 1
xor rdx, rax
mov rax, rsi
mov dword [rsp - 0x18], edx
shr rax, 5
shr rax, 1
xor rdx, rax
mov dword [rsp - 0x3c], 0x6fc856d1
xchg r15, r10
mov rax, r15
xchg r10, r15
ror rax, 1
xchg rbp, rbp
xor rcx, rax
xchg r10, r13
mov rax, r13
xchg r10, r13
shr rax, 5
shr rax, 1
shr rax, 1
xor rcx, rax
xchg r12, rax
mov r12, rbx
xchg r12, rax
add rdx, rcx
mov dword [rsp - 0x38], esi
ror rax, 1
add rdx, qword [rbp - 0x18]
xchg rcx, r8
mov r8, rcx
xchg rcx, r8
add r9, rdx
ror rcx, 0x27
ror rcx, 0xe
ror rcx, 1
ror rcx, 4
ror rcx, 1
ror rcx, 1
ror rcx, 1
xchg r13, rbx
mov rdx, r13
xchg r13, rbx
mov qword [rbp + 0x20], r9
mov dword [rsp - 0x2c], ebx
ror rdx, 7
ror rdx, 1
xor rdx, rax
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
shr rax, 7
xor rdx, rax
mov rdi, rdi
mov rax, r8
ror rax, 0xe
ror rax, 3
ror rax, 1
ror rax, 1
xor rcx, rax
mov dword [rsp - 0x38], 0x177355d1
shr r8, 2
shr r8, 3
shr r8, 1
xor rcx, r8
add rdx, rcx
add rdx, qword [rbp - 0x10]
mov dword [rsp - 0x1c], 0x4ff87b26
xchg rcx, r11
mov r11, r9
xchg r11, rcx
mov r11, qword [rbp - 0x48]
xchg rdi, rdi
add r10, rdx
xchg r8, r11
mov r11, qword [rbp - 0x40]
xchg r11, r8
xchg r11, r8
mov rdx, r8
xchg r8, r11
ror rdx, 2
ror rdx, 3
ror rdx, 3
xchg r13, r11
mov rax, r13
xchg r13, r11
ror rax, 1
xchg r10, r10
xor rdx, rax
ror rcx, 0x32
ror rcx, 0xa
ror rcx, 1
mov qword [rbp + 0x28], r10
mov dword [rsp - 0x34], 0x23f1b408
mov rax, r11
shr rax, 4
shr rax, 1
shr rax, 1
shr rax, 1
xor rdx, rax
mov dword [rsp - 0x38], 0x61174088
xchg rdi, r9
mov rax, rdi
xchg rdi, r9
ror rax, 4
ror rax, 0xa
ror rax, 3
ror rax, 1
ror rax, 1
xor rcx, rax
mov dword [rsp - 0x24], 0x31504b88
shr r9, 4
shr r9, 1
shr r9, 1
xor r9, rcx
mov rcx, rcx
xchg rdx, rax
mov rdx, r8
xchg rdx, rax
ror rax, 1
add r9, rdx
mov dword [rsp - 0x3c], ebp
add r9, qword [rbp - 8]
mov rcx, r10
ror rcx, 0x13
ror rcx, 0x1c
ror rcx, 0xb
ror rcx, 1
ror rcx, 1
ror rcx, 1
add r9, rbx
xchg r8, rsp
mov rdx, rsp
xchg rsp, r8
xchg rsi, r9
mov qword [rbp + 0x30], rsi
xchg r9, rsi
ror rdx, 8
xor rdx, rax
mov dword [rsp - 0x2c], 0x40e6b924
xchg rdi, rax
mov rdi, r8
xchg rdi, rax
shr rax, 7
xchg rbp, rbp
xor rdx, rax
mov rax, r10
ror rax, 0xf
ror rax, 1
ror rax, 3
xor rcx, rax
shr r10, 2
shr r10, 4
xor r10, rcx
lea rax, [r14 + rdx]
xchg r9, r14
mov r9, r14
xchg r14, r9
add r10, rax
ror r14, 8
ror r14, 0xc
ror r14, 3
ror r14, 2
ror r14, 0x1c
ror r14, 5
ror r14, 2
ror r14, 1
add r10, r11
mov dword [rsp - 0x1c], ecx
mov r11, qword [rbp - 0x38]
xchg rbx, r11
mov rdx, rbx
xchg rbx, r11
mov qword [rbp + 0x38], r10
ror rdx, 4
ror rdx, 1
ror rdx, 2
ror rdx, 1
mov rax, r11
ror rax, 1
mov dword [rsp - 0x34], 0x2f2c23fb
xor rdx, rax
mov rax, r11
shr rax, 1
shr rax, 5
shr rax, 1
xor rdx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 7
ror rax, 0xb
ror rax, 1
xor r14, rax
xchg r8, r8
shr r9, 5
shr r9, 1
xor r14, r9
lea rax, [r8 + rdx]
xchg r10, r10
xchg r8, rbx
mov rbx, qword [rbp - 0x30]
xchg r8, rbx
add r14, rax
mov rdx, r10
ror rdx, 0x2c
ror rdx, 0xf
ror rdx, 1
ror rdx, 1
xchg rsi, r10
mov rax, rsi
xchg rsi, r10
ror rax, 0x12
ror rax, 1
xchg rbx, r8
mov rcx, rbx
xchg r8, rbx
xor rdx, rax
ror rcx, 5
ror rcx, 2
ror rcx, 1
shr r10, 1
shr r10, 5
xchg r8, rbp
mov rax, rbp
xchg rbp, r8
ror rax, 1
xor rdx, r10
xchg r8, r8
xor rcx, rax
shr r8, 3
shr r8, 3
shr r8, 1
xor rcx, r8
add r14, rdi
mov r11, r11
xchg r14, rsi
mov qword [rbp + 0x40], rsi
xchg rsi, r14
lea rax, [rsi + rdx]
add rcx, rax
add rcx, r11
mov dword [rsp - 0x34], 0x102c2336
xchg rcx, rdx
mov qword [rbp + 0x48], rdx
xchg rdx, rcx
lea rbp, [rbp + 0x40]
mov rsp, rsp
sub r12, 1
jne 0x1400df778
mov r11, qword [rsp + 0x300]
xchg r8, r8
lea r15, [0x140002620]
xchg r10, r15
mov r15, qword [rsp + 0x308]
xchg r10, r15
xchg rbx, r8
mov rbx, r13
xchg r8, rbx
mov r9, qword [rsp]
mov dword [rsp - 0x24], esp
mov rbx, qword [rsp + 8]
mov rbp, qword [rsp + 0x10]
xchg r15, rsi
mov r15, qword [rsp + 0x18]
xchg r15, rsi
mov rdi, qword [rsp + 0x20]
mov dword [rsp - 0x28], edx
nop dword [rax + rax]
xchg rbx, rcx
mov rdx, rcx
xchg rcx, rbx
mov rax, rbx
ror rax, 0xa
ror rax, 4
ror rax, 2
ror rax, 1
ror rax, 1
xchg r8, rcx
mov r8, rcx
xchg r8, rcx
ror rdx, 3
ror rdx, 4
ror rdx, 0x13
ror rdx, 6
ror rdx, 4
ror rdx, 2
ror rdx, 1
ror rdx, 1
ror rdx, 1
xor rdx, rax
mov dword [rsp - 0x24], 0x13cde096
ror rcx, 6
ror rcx, 0xb
ror rcx, 0xc
ror rcx, 7
ror rcx, 2
ror rcx, 1
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
ror rax, 3
ror rax, 4
ror rax, 1
ror rax, 1
ror rax, 2
ror rax, 1
ror rax, 1
ror rax, 1
xor rdx, rax
mov rdx, rdx
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
xor rax, rsi
mov dword [rsp - 0x3c], esi
and rax, rbx
xor rax, rsi
add rdx, rax
xchg r11, rax
mov r11, r8
xchg r11, rax
add rdx, qword [r12 + r15]
mov r12, r12
add rdx, qword [rsp + r12 + 0x30]
ror rax, 0xc
ror rax, 3
ror rax, 5
ror rax, 0xa
ror rax, 3
ror rax, 1
add rdx, rdi
xor rcx, rax
mov r13, r13
xchg rcx, rax
mov rcx, r8
xchg rcx, rax
ror rax, 0xb
ror rax, 0x11
xor rcx, rax
mov rax, r11
and rax, r8
mov dword [rsp - 0x40], ecx
lea rdi, [r9 + rdx]
xchg r11, rcx
mov r9, rcx
xchg r11, rcx
or r9, r8
mov dword [rsp - 0x10], 0x76d9ae10
and r9, r10
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
mov dword [rsp - 0x2c], 0x5be3be4a
xchg rsi, rdx
mov rsi, rdi
xchg rdx, rsi
ror rdx, 0x27
ror rdx, 1
ror rdx, 1
mov rax, rdi
mov rbp, rbp
ror rax, 0xc
ror rax, 3
ror rax, 1
ror rax, 1
ror rax, 1
xchg r9, r14
mov rcx, r14
xchg r9, r14
xor rdx, rax
ror rcx, 1
ror rcx, 3
ror rcx, 0x18
ror rcx, 5
ror rcx, 2
ror rcx, 2
ror rcx, 1
ror rcx, 1
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
ror rax, 0xa
ror rax, 1
ror rax, 2
ror rax, 1
xor rdx, rax
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
xor rax, rbx
mov rdi, rdi
and rax, rdi
xor rax, rbp
add rdx, rax
mov dword [rsp - 0x20], 0x4d4d1654
xchg r9, rax
mov r9, rax
xchg r9, rax
add rdx, qword [r12 + r15 + 8]
add rdx, qword [rsp + r12 + 0x38]
ror rax, 0x1d
ror rax, 4
ror rax, 1
add rdx, rsi
mov dword [rsp - 0x44], ebp
xor rcx, rax
xchg r9, rcx
mov rax, rcx
xchg r9, rcx
ror rax, 0x12
ror rax, 6
ror rax, 3
ror rax, 1
xor rcx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
lea rsi, [r10 + rdx]
and rax, r8
xchg r11, r9
mov r10, r11
xchg r11, r9
or r10, r8
mov dword [rsp - 0x20], edx
and r10, r11
or r10, rax
lea rax, [rdx + rcx]
mov dword [rsp - 0x44], ecx
add r10, rax
xchg rsp, rsi
mov rdx, rsp
xchg rsi, rsp
ror rdx, 0x25
ror rdx, 2
ror rdx, 1
ror rdx, 1
mov rax, rsi
mov rsp, rsp
ror rax, 0x10
ror rax, 1
ror rax, 1
xor rdx, rax
mov rax, rsi
mov rcx, rcx
ror rax, 7
ror rax, 2
ror rax, 3
ror rax, 1
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x20], edi
xchg rdi, rdx
mov rax, rdx
xchg rdi, rdx
xor rax, rbx
and rax, rsi
xor rax, rbx
mov rbx, rbx
add rdx, rax
add rdx, qword [r12 + r15 + 0x10]
add rdx, qword [rsp + r12 + 0x40]
add rdx, rbp
mov dword [rsp - 0x44], 0x538c07d5
mov rcx, r10
ror rcx, 0x21
ror rcx, 4
ror rcx, 1
ror rcx, 1
xchg r10, rax
mov r10, rax
xchg r10, rax
ror rax, 7
ror rax, 2
ror rax, 4
ror rax, 0x14
ror rax, 1
xor rcx, rax
xchg rcx, rax
mov rcx, r10
xchg rcx, rax
ror rax, 0x10
ror rax, 4
ror rax, 4
ror rax, 1
ror rax, 2
ror rax, 1
lea rbp, [r11 + rdx]
mov r9, r9
xor rcx, rax
mov r11, r10
or r11, r9
xchg r8, r8
xchg r14, r10
mov rax, r14
xchg r10, r14
and rax, r9
mov dword [rsp - 0x10], 0x2d7e5032
and r11, r8
or r11, rax
lea rax, [rdx + rcx]
xchg rsp, rdx
mov rsp, rbp
xchg rsp, rdx
add r11, rax
ror rdx, 0xf
ror rdx, 0x18
ror rdx, 1
ror rdx, 1
xchg rbp, r11
mov rax, r11
xchg r11, rbp
xchg r11, rcx
mov r11, rcx
xchg rcx, r11
ror rax, 0xb
ror rax, 3
ror rax, 2
ror rax, 1
ror rax, 1
xor rdx, rax
ror rcx, 0x1c
ror rcx, 2
ror rcx, 5
ror rcx, 3
ror rcx, 1
xchg rbp, r8
mov rax, r8
xchg rbp, r8
ror rax, 3
ror rax, 4
ror rax, 3
ror rax, 3
ror rax, 1
xor rdx, rax
xchg r10, rsi
mov rax, r10
xchg rsi, r10
xor rax, rdi
mov dword [rsp - 0x44], 0x1bf34a52
and rax, rbp
xor rax, rdi
add rdx, rax
xchg r15, rax
mov r15, r11
xchg r15, rax
add rdx, qword [r12 + r15 + 0x18]
xchg rbp, rbp
add rdx, qword [rsp + r12 + 0x48]
ror rax, 0x13
ror rax, 8
ror rax, 2
ror rax, 4
ror rax, 1
add rdx, rbx
xchg rdi, rdi
xor rcx, rax
mov rbx, r11
or rbx, r10
mov dword [rsp - 0x2c], 0x3877d629
xchg r11, rax
mov r11, rax
xchg r11, rax
ror rax, 0x19
ror rax, 1
ror rax, 1
ror rax, 1
and rbx, r9
xchg r14, r14
xor rcx, rax
lea r14, [r8 + rdx]
xchg rdi, r11
mov rax, rdi
xchg r11, rdi
xchg r14, r12
mov r8, r12
xchg r12, r14
and rax, r10
ror r8, 0xe
ror r8, 0x17
ror r8, 1
ror r8, 2
ror r8, 1
or rbx, rax
lea rax, [rdx + rcx]
add rbx, rax
mov r12, r12
xchg rdi, r14
mov rax, rdi
xchg r14, rdi
ror rax, 7
ror rax, 7
ror rax, 3
ror rax, 1
xchg rdx, rbx
mov rbx, rdx
xchg rbx, rdx
xor r8, rax
ror rdx, 0x17
ror rdx, 0x10
xchg rdi, rax
mov rdi, r14
xchg rdi, rax
ror rax, 1
ror rax, 0xd
xor r8, rax
xchg r13, rbp
mov rax, r13
xchg r13, rbp
xor rax, rsi
mov dword [rsp - 0x34], edi
and rax, r14
xor rax, rsi
add r8, rax
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
add r8, qword [r12 + r15 + 0x20]
add r8, qword [rsp + r12 + 0x50]
mov dword [rsp - 0x10], ebp
ror rax, 5
ror rax, 0x1a
ror rax, 2
ror rax, 1
add r8, rdi
xor rdx, rax
mov dword [rsp - 0x10], 0x17e06afa
xchg r10, rax
mov r10, rbx
xchg r10, rax
ror rax, 0x10
ror rax, 3
ror rax, 4
ror rax, 1
ror rax, 3
ror rax, 1
xor rdx, rax
xchg r11, rbp
mov rax, rbp
xchg rbp, r11
lea rdi, [r9 + r8]
mov dword [rsp - 0x14], ecx
mov r9, r11
or r9, rbx
and r9, r10
and rax, rbx
xchg r10, r10
or r9, rax
lea rax, [r8 + rdx]
add r9, rax
mov dword [rsp - 0x3c], 0x77468852
mov r8, rdi
ror r8, 8
ror r8, 0x12
ror r8, 0xa
ror r8, 2
ror r8, 2
ror r8, 1
mov rax, rdi
ror rax, 6
ror rax, 5
ror rax, 2
ror rax, 4
ror rax, 1
xchg r13, rdx
mov r13, r9
xchg rdx, r13
xor r8, rax
mov dword [rsp - 0x18], 0x140749b7
ror rdx, 0x23
ror rdx, 2
ror rdx, 1
ror rdx, 1
mov rax, rdi
mov r9, r9
ror rax, 0xc
ror rax, 1
ror rax, 1
xor r8, rax
xchg r8, r8
xchg rdi, rax
mov rdi, rbp
xchg rdi, rax
xor rax, r14
mov r15, r15
and rax, rdi
xor rax, rbp
add r8, rax
mov dword [rsp - 0x10], 0x7ef7ad4b
mov rax, r9
add r8, qword [r12 + r15 + 0x28]
add r8, qword [rsp + r12 + 0x58]
mov dword [rsp - 0x10], ecx
ror rax, 0x20
ror rax, 2
add r8, rsi
xor rdx, rax
xchg r15, r15
xchg r8, rax
mov r8, r9
xchg r8, rax
ror rax, 0x12
ror rax, 3
ror rax, 4
ror rax, 1
ror rax, 1
ror rax, 1
xor rdx, rax
xchg rcx, r9
mov rax, rcx
xchg rcx, r9
and rax, rbx
xchg rbp, rbp
lea rsi, [r10 + r8]
mov r10, r9
or r10, rbx
and r10, r11
xchg r12, r12
or r10, rax
lea rax, [r8 + rdx]
add r10, rax
mov r8, rsi
mov rsp, rsp
ror r8, 9
ror r8, 0x14
ror r8, 5
ror r8, 1
ror r8, 2
ror r8, 3
ror r8, 1
xchg r11, rax
mov r11, rsi
xchg r11, rax
ror rax, 0xe
ror rax, 3
ror rax, 1
xchg rdx, r13
mov r13, r10
xchg r13, rdx
xor r8, rax
ror rdx, 0x21
ror rdx, 1
ror rdx, 2
ror rdx, 2
ror rdx, 1
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
ror rax, 6
ror rax, 3
ror rax, 3
ror rax, 1
ror rax, 1
xor r8, rax
mov dword [rsp - 0x28], edx
xchg rdi, rcx
mov rax, rcx
xchg rcx, rdi
xor rax, r14
mov dword [rsp - 0xc], 0x1d0c57f9
and rax, rsi
xor rax, r14
add r8, rax
xchg r10, r10
xchg r11, rax
mov r11, r10
xchg r11, rax
add r8, qword [r12 + r15 + 0x30]
mov rdi, rdi
add r8, qword [rsp + r12 + 0x60]
ror rax, 0x10
ror rax, 9
ror rax, 1
ror rax, 2
ror rax, 2
ror rax, 2
ror rax, 1
ror rax, 1
add r8, rbp
xor rdx, rax
mov rax, r10
mov dword [rsp - 0x14], 0x4e53b3a5
ror rax, 8
ror rax, 7
ror rax, 5
ror rax, 2
ror rax, 2
ror rax, 3
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x3c], esp
xchg r13, rax
mov r13, r10
xchg r13, rax
lea rbp, [r11 + r8]
mov dword [rsp - 0x40], edx
and rax, r9
mov r11, r10
or r11, r9
and r11, rbx
mov rdx, rdx
or r11, rax
lea rax, [r8 + rdx]
add r11, rax
mov r8, rbp
mov r9, r9
ror r8, 0xc
ror r8, 0x18
ror r8, 1
ror r8, 3
ror r8, 1
mov rax, rbp
ror rax, 1
ror rax, 9
ror rax, 6
ror rax, 1
ror rax, 1
xor r8, rax
mov dword [rsp - 0x14], 0x37d17e77
xchg rsp, rbp
mov rax, rsp
xchg rbp, rsp
ror rax, 7
ror rax, 5
ror rax, 1
ror rax, 1
xor r8, rax
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
xor rax, rdi
mov rdx, rdx
and rax, rbp
xor rax, rdi
add r8, rax
mov rdx, r11
mov rsi, rsi
add r8, qword [r12 + r15 + 0x38]
mov rax, r11
add r8, qword [rsp + r12 + 0x68]
xchg r15, r11
mov rcx, r15
xchg r15, r11
ror rax, 4
ror rax, 3
ror rax, 1
ror rax, 9
ror rax, 0xa
ror rax, 6
ror rax, 1
add r8, r14
mov rbx, rbx
ror rdx, 0xe
ror rdx, 0x17
ror rdx, 1
ror rdx, 1
or rcx, r10
xor rdx, rax
add rbx, r8
xchg r8, r8
and rcx, r9
mov rax, r11
ror rax, 0x18
ror rax, 2
ror rax, 1
ror rax, 1
nop
sub r12, 0x3daa7fa5
add r12, 0x3daa7fe5
xor rdx, rax
xchg rsi, rsi
xchg rbx, r11
mov rax, rbx
xchg r11, rbx
and rax, r10
add r8, rdx
mov dword [rsp - 0x44], ebx
or rcx, rax
add r8, rcx
cmp r12, 0x280
mov dword [rsp - 0x14], 0x5dc96a49
jl 0x1400dfcde
mov r15, qword [rsp + 0x2f0]
lea rax, [r8 + r13]
mov qword [r15 + 8], rax
mov dword [rsp - 0x40], 0x37bef124
add qword [r15 + 0x10], r11
add qword [r15 + 0x18], r10
add qword [r15 + 0x20], r9
add qword [r15 + 0x28], rbx
mov dword [rsp - 0x2c], ebp
add qword [r15 + 0x30], rbp
add qword [r15 + 0x38], rsi
add qword [r15 + 0x40], rdi
xchg rdi, rbx
mov rdi, qword [rsp + 0x2f8]
xchg rdi, rbx
xor eax, eax
mov rsi, rsi
sub rsp, 0xfffffffffffffd50
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
mov r14, qword [rsp - 8]
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]
pop rsi
nop
mov rbp, qword [rsp]
add rsp, 8
ret