Function at 0x1400ac0a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
push r13
mov dword [rsp - 0x44], esi
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
mov qword [rsp - 8], r15
sub rsp, 8
sub rsp, 0x33c021d3
add rsp, 0x33c01f23
xchg r8, rax
mov r8, qword [rcx + 0x10]
xchg r8, rax
lea rsi, [rsp + 0x38]
xchg r13, rsp
mov rsp, qword [rcx + 8]
xchg rsp, r13
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x300], rax
lea r8, [rsp + 0x36]
mov dword [rsp - 0x30], 0x655caa4c
mov rax, qword [rcx + 0x18]
lea r9, [rsp + 0x3e]
mov qword [rsp + 0x308], rax
lea r10, [rsp + 0x46]
mov rdx, rdx
mov rax, qword [rcx + 0x20]
lea r11, [rsp + 0x4e]
xchg r8, rax
mov qword [rsp], r8
xchg r8, rax
lea rbx, [rsp + 0x56]
mov rax, qword [rcx + 0x28]
mov r10, r10
lea r14, [rsp + 0x30]
mov qword [rsp + 8], rax
sub rsi, rdx
mov dword [rsp - 0x38], esp
xchg r11, rax
mov r11, qword [rcx + 0x30]
xchg r11, rax
sub rbp, rdx
mov rbp, rbp
xchg rcx, rax
mov qword [rsp + 0x10], rcx
xchg rcx, rax
sub r8, rdx
mov rax, qword [rcx + 0x38]
sub r9, rdx
mov rsp, rsp
xchg r11, rax
mov qword [rsp + 0x18], r11
xchg r11, rax
sub r10, rdx
xchg rsp, rsp
mov rax, qword [rcx + 0x40]
sub r11, rdx
sub rbx, rdx
xchg rbx, rbx
mov qword [rsp + 0x20], rax
lea rax, [rdx + 0x12]
sub r14, rdx
mov rbx, rbx
mov edi, 0x2dff5e3b
sub edi, 0x1767775c
xor edi, 0x4ae34de0
sub edi, 0x1a5fc4b4
sub edi, 0x4214e689
nop dword [rax]
mov dword [rsp - 0x24], ebp
movzx ecx, byte [rax - 0x11]
movzx edx, byte [rax - 0x12]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x1c], 0x5286c021
movzx ecx, byte [rax - 0x10]
shl rdx, 4
shl rdx, 2
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg rsp, rsp
movzx ecx, byte [rax - 0xf]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xe]
mov dword [rsp - 0x14], ebx
shl rdx, 3
shl rdx, 2
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xd]
xchg r15, r15
shl rdx, 3
shl rdx, 1
shl rdx, 3
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x24], edi
movzx ecx, byte [rax - 0xc]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0xb]
mov dword [rsp - 0x24], ecx
shl rdx, 1
shl rdx, 3
shl rdx, 2
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax - 9]
mov dword [rsp - 0x14], edi
xchg r12, rdx
mov qword [rax + r14 - 0x12], r12
xchg rdx, r12
movzx edx, byte [rax - 0xa]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 8]
shl rdx, 8
xchg r10, r10
or rdx, rcx
movzx ecx, byte [rax - 7]
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
xchg rdx, rdx
movzx ecx, byte [rax - 6]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 5]
mov dword [rsp - 0x34], ebp
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 4]
mov dword [rsp - 0x24], 0x25975d88
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x1c], 0x1616a143
movzx ecx, byte [rax - 3]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
xchg rbx, rbx
movzx ecx, byte [rax - 1]
mov qword [rax + rsi - 0x12], rdx
movzx edx, byte [rax - 2]
shl rdx, 8
mov dword [rsp - 0x40], 0x3890b941
or rdx, rcx
movzx ecx, byte [rax]
shl rdx, 4
shl rdx, 4
or rdx, rcx
movzx ecx, byte [rax + 1]
mov rsp, rsp
shl rdx, 3
shl rdx, 5
or rdx, rcx
mov rcx, rcx
movzx ecx, byte [rax + 2]
shl rdx, 2
shl rdx, 1
shl rdx, 2
shl rdx, 1
shl rdx, 2
or rdx, rcx
mov dword [rsp - 0x38], ebx
movzx ecx, byte [rax + 3]
shl rdx, 8
or rdx, rcx
mov dword [rsp - 0xc], esp
movzx ecx, byte [rax + 4]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 5]
shl rdx, 2
shl rdx, 4
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0xc], 0x7eb95637
movzx ecx, byte [rax + 7]
mov qword [rax + rbp - 0x12], rdx
movzx edx, byte [rax + 6]
mov dword [rsp - 0x18], esp
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 8]
mov dword [rsp - 0x10], 0x37fd3d92
shl rdx, 4
shl rdx, 2
shl rdx, 2
or rdx, rcx
movzx ecx, byte [rax + 9]
xchg r15, r15
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xa]
shl rdx, 3
shl rdx, 4
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xb]
mov dword [rsp - 0x10], edx
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x10], 0x1394497
movzx ecx, byte [rax + 0xc]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xd]
shl rdx, 2
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0xf]
mov qword [rax + r8], rdx
mov r8, r8
movzx edx, byte [rax + 0xe]
shl rdx, 2
shl rdx, 3
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg r9, r9
movzx ecx, byte [rax + 0x10]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x11]
shl rdx, 5
shl rdx, 3
or rdx, rcx
movzx ecx, byte [rax + 0x12]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x13]
xchg rdi, rdi
shl rdx, 1
shl rdx, 7
or rdx, rcx
xchg r9, r9
movzx ecx, byte [rax + 0x14]
shl rdx, 4
shl rdx, 4
or rdx, rcx
mov dword [rsp - 0x2c], 0x5b39d592
movzx ecx, byte [rax + 0x15]
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x17]
mov r13, r13
xchg rdx, rbp
mov qword [rax + r9], rbp
xchg rbp, rdx
movzx edx, byte [rax + 0x16]
shl rdx, 3
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 2
or rdx, rcx
xchg rsp, rsp
movzx ecx, byte [rax + 0x18]
shl rdx, 4
shl rdx, 4
or rdx, rcx
mov dword [rsp - 0xc], 0x30921f29
movzx ecx, byte [rax + 0x19]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1a]
xchg r10, r10
shl rdx, 1
shl rdx, 2
shl rdx, 2
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov r13, r13
movzx ecx, byte [rax + 0x1b]
shl rdx, 8
or rdx, rcx
xchg rbx, rbx
movzx ecx, byte [rax + 0x1c]
shl rdx, 3
shl rdx, 2
shl rdx, 2
shl rdx, 1
or rdx, rcx
mov r15, r15
movzx ecx, byte [rax + 0x1d]
shl rdx, 7
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x2c], 0x62d1d0db
movzx ecx, byte [rax + 0x1f]
mov qword [rax + r10], rdx
movzx edx, byte [rax + 0x1e]
xchg rsi, rsi
shl rdx, 3
shl rdx, 2
shl rdx, 2
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x20]
mov dword [rsp - 0x18], esp
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x21]
mov dword [rsp - 0x20], 0x7dde2a11
shl rdx, 5
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax + 0x22]
xchg r14, r14
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x23]
mov dword [rsp - 0x24], ebx
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg r14, r14
movzx ecx, byte [rax + 0x24]
shl rdx, 6
shl rdx, 2
or rdx, rcx
mov r8, r8
movzx ecx, byte [rax + 0x25]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
xchg rdx, r9
mov qword [rax + r11], r9
xchg rdx, r9
movzx edx, byte [rax + 0x26]
mov dword [rsp - 0x44], esi
movzx ecx, byte [rax + 0x27]
lea rax, [rax + 0x40]
shl rdx, 7
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x18]
mov rsi, rsi
shl rdx, 5
shl rdx, 3
or rdx, rcx
movzx ecx, byte [rax - 0x17]
mov r9, r9
shl rdx, 1
shl rdx, 3
shl rdx, 1
shl rdx, 1
shl rdx, 1
shl rdx, 1
or rdx, rcx
movzx ecx, byte [rax - 0x16]
mov dword [rsp - 0xc], esp
shl rdx, 4
shl rdx, 3
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x38], edx
movzx ecx, byte [rax - 0x15]
shl rdx, 3
shl rdx, 3
shl rdx, 1
shl rdx, 1
or rdx, rcx
mov dword [rsp - 0x34], 0x71acac94
movzx ecx, byte [rax - 0x14]
shl rdx, 3
shl rdx, 5
or rdx, rcx
xchg r8, r8
movzx ecx, byte [rax - 0x13]
shl rdx, 2
shl rdx, 6
or rdx, rcx
mov dword [rsp - 0x40], 0x5a7e2815
mov qword [rax + rbx - 0x40], rdx
sub rdi, 1
jne 0x1400ac1dc
xchg rbp, rbp
xchg rsi, r14
mov rsi, qword [rsp + 0xa0]
xchg rsi, r14
lea rbp, [rsp + 0xa0]
lea r12d, [rdi + 8]
mov dword [rsp - 0x24], esi
nop dword [rax]
mov r8, qword [rbp - 0x68]
xchg r11, r14
mov rsi, r11
xchg r11, r14
xchg r9, r10
mov r10, qword [rbp - 0x60]
xchg r9, r10
xchg rbp, r8
mov rcx, rbp
xchg r8, rbp
xchg r12, rdi
mov r12, qword [rbp + 8]
xchg rdi, r12
xchg r9, r14
mov rax, r9
xchg r9, r14
mov r10, qword [rbp - 0x58]
mov rbp, rbp
xchg rdx, rdi
mov rdi, rdx
xchg rdi, rdx
xchg rdx, rbx
mov rdx, qword [rbp - 0x50]
xchg rdx, rbx
ror rax, 7
ror rax, 3
ror rax, 7
ror rax, 1
ror rax, 1
ror rcx, 1
ror rcx, 4
ror rcx, 2
ror rcx, 1
ror rdx, 0x3d
mov dword [rsp - 0x24], esp
ror rsi, 0x3c
ror rsi, 1
xor rsi, rax
xchg r13, r14
mov rax, r13
xchg r13, r14
shr rax, 5
shr rax, 1
xor rsi, rax
mov rax, r8
mov dword [rsp - 0x34], ecx
ror rax, 1
xor rcx, rax
xchg r8, rax
mov r8, rax
xchg r8, rax
shr rax, 2
shr rax, 3
shr rax, 1
shr rax, 1
xor rcx, rax
mov r9, r9
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
ror rax, 1
ror rax, 3
ror rax, 3
ror rax, 2
ror rax, 8
ror rax, 1
ror rax, 1
add rsi, rcx
mov dword [rsp - 0x30], 0x2db52961
xor rdx, rax
add rsi, qword [rbp - 0x70]
add rsi, qword [rbp - 0x28]
xchg r9, rcx
mov r9, rcx
xchg rcx, r9
ror rcx, 3
ror rcx, 5
mov rax, rdi
mov dword [rsp - 0x3c], edi
shr rax, 1
shr rax, 1
shr rax, 4
xor rdx, rax
mov r8, r8
mov qword [rbp + 0x10], rsi
xchg r9, r12
mov rax, r12
xchg r9, r12
ror rax, 1
mov dword [rsp - 0x24], ebp
xor rcx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
shr rax, 3
shr rax, 3
shr rax, 1
xor rcx, rax
mov dword [rsp - 0x24], ecx
xchg rsi, rsp
mov rax, rsp
xchg rsi, rsp
add rdx, rcx
ror rax, 7
ror rax, 8
ror rax, 3
ror rax, 1
add rdx, qword [rbp - 0x20]
mov rcx, r10
mov r8, r8
add r8, rdx
ror rcx, 2
ror rcx, 3
ror rcx, 2
ror rcx, 1
xchg rdx, r8
mov r8, rsi
xchg r8, rdx
xchg r13, r8
mov qword [rbp + 0x18], r13
xchg r8, r13
ror rdx, 0x25
ror rdx, 0x12
ror rdx, 4
ror rdx, 1
ror rdx, 1
xor rdx, rax
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
shr rax, 2
shr rax, 1
shr rax, 2
shr rax, 1
xor rdx, rax
mov r10, r10
xchg r8, rax
mov r8, r10
xchg r8, rax
ror rax, 1
xchg rcx, rcx
xor rcx, rax
xchg r10, r12
mov rax, r12
xchg r12, r10
shr rax, 6
shr rax, 1
xor rcx, rax
xchg r14, r14
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
add rdx, rcx
mov dword [rsp - 0x18], edi
ror rax, 1
add rdx, qword [rbp - 0x18]
xchg rcx, r8
mov r8, rcx
xchg rcx, r8
add r9, rdx
ror rcx, 0xf
ror rcx, 0xc
ror rcx, 0x20
ror rcx, 1
ror rcx, 1
xchg rdx, rbx
mov rbx, rdx
xchg rbx, rdx
xchg rsp, r9
mov qword [rbp + 0x20], rsp
xchg rsp, r9
ror rdx, 4
ror rdx, 2
ror rdx, 1
ror rdx, 1
xor rdx, rax
xchg r14, r14
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
shr rax, 4
shr rax, 1
shr rax, 2
xor rdx, rax
mov dword [rsp - 0x28], edi
mov rax, r8
ror rax, 1
ror rax, 0xe
ror rax, 3
ror rax, 1
xor rcx, rax
shr r8, 2
shr r8, 1
shr r8, 2
shr r8, 1
xor rcx, r8
add rdx, rcx
mov dword [rsp - 0x10], 0x2548689f
add rdx, qword [rbp - 0x10]
mov rcx, r9
xchg r11, r14
mov r14, qword [rbp - 0x48]
xchg r14, r11
add r10, rdx
mov r8, qword [rbp - 0x40]
xchg rdx, r11
mov r11, rdx
xchg r11, rdx
ror rdx, 6
ror rdx, 1
ror rdx, 1
xchg r11, rax
mov r11, rax
xchg r11, rax
ror rax, 1
mov dword [rsp - 0x40], esp
xor rdx, rax
ror rcx, 0x31
ror rcx, 7
ror rcx, 2
ror rcx, 2
ror rcx, 1
mov qword [rbp + 0x28], r10
xchg r11, rax
mov r11, rax
xchg r11, rax
shr rax, 5
shr rax, 2
xor rdx, rax
xchg r15, r15
xchg r10, rax
mov r10, r9
xchg r10, rax
ror rax, 2
ror rax, 3
ror rax, 0xd
ror rax, 1
xor rcx, rax
shr r9, 2
shr r9, 2
shr r9, 1
shr r9, 1
xor r9, rcx
xchg r8, rax
mov r8, rax
xchg r8, rax
ror rax, 1
xchg r9, r9
add r9, rdx
add r9, qword [rbp - 8]
xchg rsi, r10
mov rcx, rsi
xchg r10, rsi
ror rcx, 1
ror rcx, 0x17
ror rcx, 6
ror rcx, 0x12
ror rcx, 4
ror rcx, 1
ror rcx, 6
ror rcx, 1
ror rcx, 1
add r9, rbx
mov dword [rsp - 0x10], 0x6dce2275
xchg rbp, r8
mov rdx, rbp
xchg rbp, r8
xchg r13, r9
mov qword [rbp + 0x30], r13
xchg r13, r9
ror rdx, 8
xor rdx, rax
xchg r9, rax
mov r9, r8
xchg r9, rax
shr rax, 6
shr rax, 1
xor rdx, rax
mov dword [rsp - 0x28], 0x5b518f74
xchg r11, rax
mov r11, r10
xchg r11, rax
ror rax, 1
ror rax, 0x12
xor rcx, rax
mov dword [rsp - 0x38], ebx
shr r10, 2
shr r10, 2
shr r10, 2
xor r10, rcx
mov dword [rsp - 0x2c], ebp
lea rax, [r14 + rdx]
mov r14, r9
add r10, rax
mov dword [rsp - 0x30], ecx
ror r14, 4
ror r14, 0x1e
ror r14, 0x16
ror r14, 4
ror r14, 1
add r10, r11
xchg r10, r10
mov r11, qword [rbp - 0x38]
xchg r11, r10
mov rdx, r10
xchg r10, r11
mov qword [rbp + 0x38], r10
ror rdx, 2
ror rdx, 5
ror rdx, 1
xchg r11, rax
mov r11, rax
xchg r11, rax
ror rax, 1
xor rdx, rax
xchg r15, r11
mov rax, r15
xchg r11, r15
shr rax, 2
shr rax, 2
shr rax, 2
shr rax, 1
xor rdx, rax
mov dword [rsp - 0x24], 0x58338274
mov rax, r9
ror rax, 7
ror rax, 0xa
ror rax, 2
xor r14, rax
shr r9, 5
shr r9, 1
xor r14, r9
lea rax, [r8 + rdx]
mov r8, qword [rbp - 0x30]
mov dword [rsp - 0x2c], esp
add r14, rax
xchg rdx, rbx
mov rbx, r10
xchg rdx, rbx
ror rdx, 0x15
ror rdx, 0x16
ror rdx, 0xe
ror rdx, 1
ror rdx, 1
ror rdx, 1
ror rdx, 1
mov rax, r10
ror rax, 7
ror rax, 0xb
ror rax, 1
xchg r13, rcx
mov r13, r8
xchg r13, rcx
xor rdx, rax
ror rcx, 1
ror rcx, 3
ror rcx, 2
ror rcx, 1
ror rcx, 1
shr r10, 3
shr r10, 2
shr r10, 1
mov rax, r8
ror rax, 1
xchg rbp, rbp
xor rdx, r10
xor rcx, rax
shr r8, 6
shr r8, 1
xor rcx, r8
add r14, rdi
mov r9, r9
xchg r14, r13
mov qword [rbp + 0x40], r13
xchg r13, r14
lea rax, [rsi + rdx]
xchg rbx, rbx
add rcx, rax
add rcx, r11
xchg rcx, r11
mov qword [rbp + 0x48], r11
xchg rcx, r11
lea rbp, [rbp + 0x40]
sub r12, 1
mov dword [rsp - 0x24], 0x2c0680d0
jne 0x1400ac713
xchg r11, r8
mov r8, qword [rsp + 0x300]
xchg r11, r8
lea r15, [0x1400041b0]
xchg r10, r8
mov r8, qword [rsp + 0x308]
xchg r8, r10
xchg r11, r13
mov r8, r11
xchg r11, r13
xchg r14, r9
mov r14, qword [rsp]
xchg r14, r9
xchg rbx, r15
mov r15, qword [rsp + 8]
xchg r15, rbx
mov rbp, qword [rsp + 0x10]
mov dword [rsp - 0x28], 0x604a66fe
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax + rax]
mov dword [rsp - 0x20], esi
xchg rbx, r15
mov rdx, r15
xchg r15, rbx
xchg rsp, rax
mov rsp, rbx
xchg rsp, rax
ror rax, 9
ror rax, 1
ror rax, 2
ror rax, 5
ror rax, 1
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
ror rdx, 3
ror rdx, 0xc
ror rdx, 0xe
ror rdx, 6
ror rdx, 4
ror rdx, 1
ror rdx, 1
xor rdx, rax
mov dword [rsp - 0x40], 0x4cb466c4
ror rcx, 0xe
ror rcx, 2
ror rcx, 0xb
ror rcx, 0xb
ror rcx, 1
mov rax, rbx
mov dword [rsp - 0x24], esi
ror rax, 7
ror rax, 6
ror rax, 1
xor rdx, rax
mov dword [rsp - 0x44], 0xe7d44e
mov rax, rbp
xor rax, rsi
and rax, rbx
mov dword [rsp - 0x30], esi
xor rax, rsi
add rdx, rax
xchg r8, r15
mov rax, r15
xchg r8, r15
add rdx, qword [r12 + r15]
add rdx, qword [rsp + r12 + 0x30]
xchg rsp, rsp
ror rax, 0x21
ror rax, 1
add rdx, rdi
mov r11, r11
xor rcx, rax
xchg r8, rax
mov r8, rax
xchg r8, rax
ror rax, 0x18
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
xor rcx, rax
xchg r11, rax
mov r11, rax
xchg r11, rax
and rax, r8
mov dword [rsp - 0x2c], 0x1addd76
lea rdi, [r9 + rdx]
xchg r11, r12
mov r9, r12
xchg r11, r12
or r9, r8
mov rdi, rdi
and r9, r10
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
mov dword [rsp - 0x1c], ebp
xchg rdi, rbp
mov rdx, rbp
xchg rdi, rbp
ror rdx, 0x1e
ror rdx, 0xa
ror rdx, 1
mov rax, rdi
mov r11, r11
ror rax, 0xf
ror rax, 1
ror rax, 1
ror rax, 1
xchg r9, rcx
mov r9, rcx
xchg r9, rcx
xor rdx, rax
xchg rbx, rbx
ror rcx, 0x23
ror rcx, 1
ror rcx, 2
ror rcx, 1
mov rax, rdi
mov dword [rsp - 0x30], edx
ror rax, 0xc
ror rax, 1
ror rax, 1
xor rdx, rax
xchg r10, rax
mov r10, rbp
xchg r10, rax
xor rax, rbx
and rax, rdi
xchg rdx, rdx
xor rax, rbp
add rdx, rax
xchg r13, rax
mov r13, r9
xchg r13, rax
add rdx, qword [r12 + r15 + 8]
add rdx, qword [rsp + r12 + 0x38]
mov rbp, rbp
ror rax, 0x1c
ror rax, 5
ror rax, 1
add rdx, rsi
xchg r11, r11
xor rcx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 0x1a
ror rax, 2
xor rcx, rax
mov dword [rsp - 0x20], esi
mov rax, r9
lea rsi, [r10 + rdx]
and rax, r8
mov dword [rsp - 0x18], ebp
mov r10, r9
or r10, r8
and r10, r11
or r10, rax
mov dword [rsp - 0x18], edi
lea rax, [rdx + rcx]
add r10, rax
mov rdx, rsi
mov dword [rsp - 0x40], esi
ror rdx, 0x19
ror rdx, 0xd
ror rdx, 2
ror rdx, 1
xchg rsp, rsi
mov rax, rsp
xchg rsp, rsi
ror rax, 0xe
ror rax, 3
ror rax, 1
xor rdx, rax
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
ror rax, 0xe
mov dword [rsp - 0x44], 0x40ec8c2
xor rdx, rax
xchg rdx, rax
mov rdx, rdi
xchg rdx, rax
xor rax, rbx
and rax, rsi
mov dword [rsp - 0x38], 0x625fb266
xor rax, rbx
add rdx, rax
add rdx, qword [r12 + r15 + 0x10]
mov dword [rsp - 0xc], 0x13edea43
add rdx, qword [rsp + r12 + 0x40]
add rdx, rbp
xchg r10, rcx
mov r10, rcx
xchg r10, rcx
ror rcx, 2
ror rcx, 0x24
ror rcx, 1
xchg r13, r10
mov rax, r13
xchg r10, r13
ror rax, 5
ror rax, 0x1b
ror rax, 1
ror rax, 1
xor rcx, rax
xchg r10, r14
mov rax, r14
xchg r10, r14
ror rax, 0x13
ror rax, 9
lea rbp, [r11 + rdx]
mov dword [rsp - 0x30], ebp
xor rcx, rax
xchg r13, r11
mov r13, r10
xchg r11, r13
or r11, r9
mov rax, r10
and rax, r9
mov rdx, rdx
and r11, r8
or r11, rax
lea rax, [rdx + rcx]
mov dword [rsp - 0x18], 0x2782a333
mov rdx, rbp
add r11, rax
ror rdx, 0x26
ror rdx, 1
ror rdx, 1
ror rdx, 1
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
xchg r11, rdi
mov rcx, rdi
xchg r11, rdi
ror rax, 0xb
ror rax, 2
ror rax, 2
ror rax, 1
ror rax, 1
ror rax, 1
xor rdx, rax
ror rcx, 0xf
ror rcx, 0x16
ror rcx, 1
ror rcx, 1
xchg rdi, rax
mov rdi, rbp
xchg rdi, rax
ror rax, 4
ror rax, 7
ror rax, 2
ror rax, 1
xor rdx, rax
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
xor rax, rdi
and rax, rbp
mov dword [rsp - 0x3c], esi
xor rax, rdi
add rdx, rax
xchg rsp, r11
mov rax, rsp
xchg rsp, r11
add rdx, qword [r12 + r15 + 0x18]
mov dword [rsp - 0x14], 0x6ef79314
add rdx, qword [rsp + r12 + 0x48]
ror rax, 0x1c
ror rax, 3
ror rax, 2
ror rax, 1
add rdx, rbx
mov dword [rsp - 0x44], edi
xor rcx, rax
xchg r11, r9
mov rbx, r9
xchg r9, r11
or rbx, r10
xchg r11, rax
mov r11, rax
xchg r11, rax
ror rax, 0x1b
ror rax, 1
and rbx, r9
xor rcx, rax
lea r14, [r8 + rdx]
xchg rcx, rcx
xchg rsi, rax
mov rsi, r11
xchg rsi, rax
xchg r14, r8
mov r14, r8
xchg r14, r8
and rax, r10
ror r8, 1
ror r8, 4
ror r8, 0xf
ror r8, 2
ror r8, 0x11
ror r8, 1
ror r8, 1
or rbx, rax
lea rax, [rdx + rcx]
mov rsp, rsp
add rbx, rax
xchg r14, rsi
mov rax, rsi
xchg r14, rsi
ror rax, 3
ror rax, 3
ror rax, 1
ror rax, 2
ror rax, 2
ror rax, 5
ror rax, 1
ror rax, 1
xchg rsi, rbx
mov rdx, rsi
xchg rsi, rbx
xor r8, rax
ror rdx, 0x10
ror rdx, 9
ror rdx, 0xd
ror rdx, 1
mov rax, r14
mov rdi, rdi
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 - 0x40], 0x566a5e3
add r8, rax
xchg r9, rax
mov r9, rbx
xchg r9, rax
add r8, qword [r12 + r15 + 0x20]
add r8, qword [rsp + r12 + 0x50]
mov r11, r11
ror rax, 0x1d
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
ror rax, 1
add r8, rdi
mov dword [rsp - 0x10], 0x3bf23618
xor rdx, rax
xchg rdx, rax
mov rdx, rbx
xchg rdx, rax
ror rax, 8
ror rax, 0xe
ror rax, 2
ror rax, 3
ror rax, 1
xor rdx, rax
xchg r11, rax
mov r11, rax
xchg r11, rax
lea rdi, [r9 + r8]
xchg r10, r10
xchg rcx, r9
mov rcx, r11
xchg rcx, r9
or r9, rbx
mov dword [rsp - 0xc], 0x22db4627
and r9, r10
and rax, rbx
or r9, rax
lea rax, [r8 + rdx]
mov dword [rsp - 0x24], 0x3118010e
add r9, rax
xchg r8, rdi
mov rdi, r8
xchg rdi, r8
ror r8, 0x1c
ror r8, 8
ror r8, 1
ror r8, 1
ror r8, 1
ror r8, 1
ror r8, 1
xchg r12, rax
mov r12, rdi
xchg r12, rax
ror rax, 4
ror rax, 5
ror rax, 5
ror rax, 3
ror rax, 1
xchg r13, rdx
mov r13, r9
xchg rdx, r13
xor r8, rax
mov dword [rsp - 0x28], 0x219cc7fd
ror rdx, 0x16
ror rdx, 0xc
ror rdx, 2
ror rdx, 2
ror rdx, 1
xchg r8, rax
mov r8, rdi
xchg r8, rax
ror rax, 9
ror rax, 4
ror rax, 1
xor r8, rax
mov dword [rsp - 0x1c], 0x3ac05c6f
mov rax, rbp
xor rax, r14
and rax, rdi
xchg rbp, rbp
xor rax, rbp
add r8, rax
mov rax, r9
add r8, qword [r12 + r15 + 0x28]
xchg rsi, rsi
add r8, qword [rsp + r12 + 0x58]
ror rax, 3
ror rax, 0x11
ror rax, 8
ror rax, 2
ror rax, 3
ror rax, 1
add r8, rsi
xchg r9, r9
xor rdx, rax
xchg r9, rax
mov r9, rax
xchg r9, rax
ror rax, 0x15
ror rax, 5
ror rax, 1
ror rax, 1
xor rdx, rax
mov r8, r8
mov rax, r9
and rax, rbx
lea rsi, [r10 + r8]
xchg r10, rcx
mov rcx, r9
xchg rcx, r10
or r10, rbx
mov dword [rsp - 0x2c], 0x13e7e2a
and r10, r11
or r10, rax
lea rax, [r8 + rdx]
add r10, rax
xchg r13, r13
mov r8, rsi
ror r8, 0x15
ror r8, 5
ror r8, 0xb
ror r8, 2
ror r8, 1
ror r8, 1
xchg r14, rsi
mov rax, r14
xchg r14, rsi
ror rax, 0xf
ror rax, 2
ror rax, 1
xchg rdx, r10
mov r10, rdx
xchg r10, rdx
xor r8, rax
xchg rsi, rsi
ror rdx, 0x22
ror rdx, 1
ror rdx, 3
ror rdx, 1
xchg rsi, r11
mov rax, r11
xchg rsi, r11
ror rax, 5
ror rax, 6
ror rax, 1
ror rax, 1
ror rax, 1
xor r8, rax
xchg rbx, rbx
xchg rdi, r9
mov rax, r9
xchg r9, rdi
xor rax, r14
and rax, rsi
mov dword [rsp - 0x3c], 0x7557ba05
xor rax, r14
add r8, rax
xchg r10, rcx
mov rax, rcx
xchg rcx, r10
add r8, qword [r12 + r15 + 0x30]
add r8, qword [rsp + r12 + 0x60]
ror rax, 0x10
ror rax, 6
ror rax, 3
ror rax, 3
ror rax, 4
ror rax, 1
ror rax, 1
add r8, rbp
mov dword [rsp - 0x18], 0x28e60b8a
xor rdx, rax
xchg r11, rax
mov r11, r10
xchg r11, rax
ror rax, 6
ror rax, 9
ror rax, 5
ror rax, 3
ror rax, 3
ror rax, 2
xor rdx, rax
xchg r10, rcx
mov rax, rcx
xchg r10, rcx
lea rbp, [r11 + r8]
xchg r15, r15
and rax, r9
xchg r14, r10
mov r11, r14
xchg r14, r10
or r11, r9
and r11, rbx
or r11, rax
mov dword [rsp - 0x44], 0x4fb36423
lea rax, [r8 + rdx]
add r11, rax
xchg rsi, rbp
mov r8, rsi
xchg rbp, rsi
ror r8, 5
ror r8, 2
ror r8, 0x13
ror r8, 0xe
ror r8, 1
xchg rbp, rax
mov rbp, rax
xchg rbp, rax
ror rax, 2
ror rax, 2
ror rax, 5
ror rax, 3
ror rax, 1
ror rax, 4
ror rax, 1
xor r8, rax
mov rax, rbp
ror rax, 7
ror rax, 1
ror rax, 4
ror rax, 1
ror rax, 1
xor r8, rax
mov r14, r14
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
xor rax, rdi
and rax, rbp
xchg r15, r15
xor rax, rdi
add r8, rax
xchg rdx, rsi
mov rsi, r11
xchg rdx, rsi
add r8, qword [r12 + r15 + 0x38]
xchg rsi, rax
mov rsi, r11
xchg rsi, rax
add r8, qword [rsp + r12 + 0x68]
xchg rdi, rdi
xchg r10, rcx
mov r10, r11
xchg rcx, r10
ror rax, 0x18
ror rax, 8
ror rax, 1
ror rax, 1
add r8, r14
ror rdx, 0xa
ror rdx, 0x13
ror rdx, 8
ror rdx, 1
ror rdx, 1
or rcx, r10
xor rdx, rax
add rbx, r8
mov dword [rsp - 0x18], ebp
and rcx, r9
mov rax, r11
ror rax, 4
ror rax, 0x16
ror rax, 1
ror rax, 1
nop
sub r12, 0x40963fff
add r12, 0x4096403f
xor rdx, rax
xchg rdx, rdx
xchg rsi, rax
mov rsi, r11
xchg rsi, rax
and rax, r10
add r8, rdx
mov r11, r11
or rcx, rax
add r8, rcx
cmp r12, 0x280
jl 0x1400acc7f
mov dword [rsp - 0x2c], 0x54f829
mov r15, qword [rsp + 0x2f0]
lea rax, [r8 + r13]
mov qword [r15 + 8], rax
mov r12, r12
add qword [r15 + 0x10], r11
add qword [r15 + 0x18], r10
add qword [r15 + 0x20], r9
mov dword [rsp - 0x14], ecx
add qword [r15 + 0x28], rbx
add qword [r15 + 0x30], rbp
add qword [r15 + 0x38], rsi
add qword [r15 + 0x40], rdi
xchg r11, r11
mov rbx, qword [rsp + 0x2f8]
xor eax, eax
sub rsp, 0x504e0366
add rsp, 0x504e0616
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
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
mov rsi, qword [rsp]
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
ret