Function at 0x140260e30
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1b8
mov eax, pe_nt_image_headers64
movdqu xmm2, xmmword [rcx]
movdqu xmm4, xmmword [rcx + 0x10]
cmp r8, rax
lea rdi, [rsp + 0x130]
movaps xmmword [rsp + 0xb0], xmm2
movdqu xmm2, xmmword [rcx + 0x20]
cmovbe rax, r8
mov qword [rsp + 0xa8], rdi
lea rdi, [rsp + 0xb0]
mov qword [rsp + 0x98], rdi
lea rdi, [rsp + 0xf0]
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x50]
movaps xmmword [rsp + 0xc0], xmm4
movdqu xmm4, xmmword [rcx + 0x30]
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x210], r8
sub rdx, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x90], rdx
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp], xmm4
movaps xmmword [rsp + 0xe0], xmm4
nop word [rax + rax]
mov rax, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xa8]
lea rdx, [rax + rsi]
mov rax, qword [rdx]
mov rcx, qword [rdx + 8]
mov rdi, rax
mov qword [rbx], rax
mov rax, qword [rdx + 0x10]
mov qword [rbx + 8], rcx
mov rcx, qword [rdx + 0x18]
mov r11, rax
mov qword [rbx + 0x10], rax
mov rax, qword [rdx + 0x20]
mov qword [rbx + 0x18], rcx
mov rcx, qword [rdx + 0x28]
mov r9, rax
mov qword [rbx + 0x20], rax
mov rax, qword [rdx + 0x30]
mov qword [rbx + 0x28], rcx
mov rcx, qword [rdx + 0x38]
mov r14, rax
mov qword [rbx + 0x30], rax
mov rax, qword [rdx + 0x40]
mov qword [rbx + 0x38], rcx
mov rcx, qword [rdx + 0x48]
mov qword [rbx + 0x40], rax
mov qword [rsp], rax
mov rax, qword [rdx + 0x50]
mov qword [rbx + 0x48], rcx
mov rcx, qword [rdx + 0x58]
mov qword [rbx + 0x50], rax
mov qword [rsp + 0x10], rax
mov rax, qword [rdx + 0x60]
mov qword [rbx + 0x58], rcx
mov rcx, qword [rdx + 0x68]
mov qword [rsp + 0x18], rax
mov qword [rbx + 0x60], rax
mov rax, qword [rdx + 0x70]
mov rdx, qword [rdx + 0x78]
mov qword [rbx + 0x68], rcx
mov qword [rbx + 0x70], rax
mov r8, qword [rsp + 0xd8]
mov qword [rbx + 0x78], rdx
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0xd0]
add rsi, rbx
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x28], r11
mov rbx, rsi
mov qword [rsp + 0x48], rsi
mov rsi, qword [rsp + 0x200]
mov r12, qword [rsp + 0x80]
mov qword [rsp + 0x30], r9
mov qword [rsi + 0x40], rbx
mov rsi, qword [rsi + 0x48]
mov qword [rsp + 0x20], rdi
adc rsi, 0
mov qword [rsp + 0x38], r14
mov rax, rsi
mov rsi, qword [rsp + 0x200]
mov qword [rsi + 0x48], rax
mov rsi, qword [rsp + 0xb0]
add rsi, rdx
add rsi, rdi
mov rdi, qword [rsp + 0x88]
xor rbx, rsi
add rsi, qword [rsp + 0x138]
mov r10, rbx
movabs rbx, 0x510e527fade682d1
xor r10, rbx
movabs rbx, 0x6a09e667f3bcc908
rol r10, 0x20
lea r13, [r10 + rbx]
mov rbx, qword [rsp + 0xb8]
xor rdx, r13
ror rdx, 0x18
add rbx, r8
add rsi, rdx
xor r10, rsi
ror r10, 0x10
add r13, r10
xor rdx, r13
mov r15, rdx
mov rdx, qword [rsp + 0xe8]
rol r15, 1
mov qword [rsp + 0x58], r15
mov r15, rbx
movabs rbx, 0x9b05688c2b3e6c1f
add r15, r11
mov r11, qword [rsp + 0xc8]
xor rax, r15
add r15, qword [rsp + 0x148]
xor rax, rbx
movabs rbx, 0xbb67ae8584caa73b
rol rax, 0x20
lea rbp, [rax + rbx]
mov rbx, qword [rsp + 0xc0]
xor r8, rbp
ror r8, 0x18
add rbx, rcx
add r15, r8
add rbx, r9
xor rax, r15
xor r12, rbx
ror rax, 0x10
mov r9, r12
movabs r12, 0x1f83d9abfb41bd6b
add rbp, rax
xor r8, rbp
rol r8, 1
xor r9, r12
add r11, rdx
movabs r12, 0x3c6ef372fe94f82b
add r11, r14
rol r9, 0x20
add rbx, qword [rsp + 0x158]
movabs r14, 0x5be0cd19137e2179
xor rdi, r11
add r11, qword [rsp + 0x168]
add r12, r9
xor rdi, r14
xor rcx, r12
movabs r14, 0xa54ff53a5f1d36f1
rol rdi, 0x20
ror rcx, 0x18
add r14, rdi
add rbx, rcx
xor rdx, r14
xor r9, rbx
ror rdx, 0x18
ror r9, 0x10
add r11, rdx
add r12, r9
xor rdi, r11
xor rcx, r12
ror rdi, 0x10
rol rcx, 1
add r14, rdi
xor rdx, r14
rol rdx, 1
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp]
add rsi, rdx
mov rdx, qword [rsp + 0x10]
add rsi, r8
xor rdi, rsi
rol rdi, 0x20
add r12, rdi
xor r8, r12
add rsi, qword [rsp + 0x178]
ror r8, 0x18
add rsi, r8
xor rdi, rsi
ror rdi, 0x10
mov qword [rsp + 0x68], rdi
add r12, rdi
lea rdi, [rdx + rcx]
mov rdx, qword [rsp + 0x60]
add rdi, r15
xor r8, r12
mov r15, qword [rsp + 0x58]
xor r10, rdi
add rdi, qword [rsp + 0x188]
rol r8, 1
rol r10, 0x20
add r14, r10
xor rcx, r14
ror rcx, 0x18
add rdi, rcx
xor r10, rdi
ror r10, 0x10
add r14, r10
xor rcx, r14
rol rcx, 1
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x18]
add rbx, rcx
mov rcx, qword [rsp + 0x40]
add rbx, rdx
xor rax, rbx
add rbx, qword [rsp + 0x198]
rol rax, 0x20
add r13, rax
xor rdx, r13
ror rdx, 0x18
add rbx, rdx
xor rax, rbx
ror rax, 0x10
add r11, rcx
add rsi, rcx
mov rcx, qword [rsp + 0x10]
add r11, r15
add r13, rax
xor r9, r11
add r11, qword [rsp + 0x1a8]
xor rdx, r13
rol r9, 0x20
rol rdx, 1
add rbp, r9
xor r15, rbp
ror r15, 0x18
add r11, r15
xor r9, r11
ror r9, 0x10
add rbp, r9
xor r15, rbp
rol r15, 1
add rsi, r15
xor r10, rsi
add rsi, rcx
mov rcx, qword [rsp + 0x70]
rol r10, 0x20
add r13, r10
xor r15, r13
ror r15, 0x18
add rsi, r15
xor r10, rsi
ror r10, 0x10
add r13, r10
xor r15, r13
rol r15, 1
mov qword [rsp + 0x60], r15
mov r15, qword [rsp + 0x30]
add rdi, r15
add rbx, qword [rsp + 0x178]
mov r15, qword [rsp]
add rdi, r8
add rbx, rcx
add r11, qword [rsp + 0x198]
xor rax, rdi
xor r9, rbx
add rdi, r15
mov r15, qword [rsp + 0x68]
rol rax, 0x20
rol r9, 0x20
add rbx, qword [rsp + 0x1a8]
add r11, rdx
add rbp, rax
add r12, r9
xor r15, r11
xor r8, rbp
xor rcx, r12
rol r15, 0x20
ror r8, 0x18
ror rcx, 0x18
add rdi, r8
add rbx, rcx
xor rax, rdi
xor r9, rbx
ror rax, 0x10
ror r9, 0x10
add rbp, rax
add r12, r9
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x38]
xor r8, rbp
xor rcx, r12
rol r8, 1
rol rcx, 1
add r14, r15
add r11, rax
xor rdx, r14
add rsi, qword [rsp + 0x138]
mov rax, qword [rsp + 0x18]
add rdi, rcx
ror rdx, 0x18
add rsi, r8
add r11, rdx
xor r15, r11
ror r15, 0x10
add r14, r15
xor r15, rsi
add rsi, rax
mov rax, qword [rsp + 0x20]
rol r15, 0x20
xor rdx, r14
add r12, r15
add rdi, rax
mov rax, qword [rsp + 0x28]
rol rdx, 1
xor r8, r12
xor r10, rdi
ror r8, 0x18
rol r10, 0x20
add rdi, rax
mov rax, qword [rsp + 0x78]
add rsi, r8
add r14, r10
xor r15, rsi
xor rcx, r14
ror r15, 0x10
ror rcx, 0x18
add r12, r15
xor r8, r12
rol r8, 1
add rdi, rcx
add rbx, qword [rsp + 0x188]
add rbx, rdx
xor r10, rdi
xor rax, rbx
add rbx, qword [rsp + 0x168]
ror r10, 0x10
rol rax, 0x20
add r14, r10
add r13, rax
xor rcx, r14
mov qword [rsp + 0x58], r14
xor rdx, r13
rol rcx, 1
ror rdx, 0x18
add rbx, rdx
xor rax, rbx
ror rax, 0x10
add r13, rax
xor rdx, r13
rol rdx, 1
mov qword [rsp + 0x68], rdx
add r11, qword [rsp + 0x158]
mov r14, qword [rsp + 0x60]
mov rdx, qword [rsp]
add r11, r14
xor r9, r11
add r11, qword [rsp + 0x148]
rol r9, 0x20
add rbp, r9
xor r14, rbp
ror r14, 0x18
add r11, r14
xor r9, r11
ror r9, 0x10
add rbp, r9
xor r14, rbp
add rsi, qword [rsp + 0x188]
add rbx, qword [rsp + 0x158]
rol r14, 1
add rbx, rcx
add rsi, r14
xor r10, rsi
add rsi, rdx
mov rdx, qword [rsp + 0x68]
rol r10, 0x20
add r13, r10
xor r14, r13
ror r14, 0x18
add rsi, r14
xor r10, rsi
ror r10, 0x10
mov qword [rsp + 0x60], r10
add r13, r10
mov r10, qword [rsp + 0x18]
xor r14, r13
add rdi, r10
rol r14, 1
mov r10, qword [rsp + 0x58]
add rdi, r8
mov qword [rsp + 0x70], r14
mov r14, qword [rsp + 0x20]
xor rax, rdi
rol rax, 0x20
add rdi, r14
mov r14, qword [rsp + 0x28]
add rbp, rax
xor r8, rbp
ror r8, 0x18
add rdi, r8
xor rax, rdi
ror rax, 0x10
add rbp, rax
xor r8, rbp
rol r8, 1
xor r9, rbx
add r11, qword [rsp + 0x1a8]
add rbx, r14
add r11, rdx
rol r9, 0x20
xor r15, r11
add r12, r9
add r11, qword [rsp + 0x198]
rol r15, 0x20
xor rcx, r12
lea r14, [r10 + r15]
mov r10, qword [rsp + 0x10]
ror rcx, 0x18
xor rdx, r14
add rbx, rcx
ror rdx, 0x18
add rsi, r10
xor r9, rbx
mov r10, qword [rsp + 0x40]
add r11, rdx
add rsi, r8
ror r9, 0x10
xor r15, r11
add r12, r9
ror r15, 0x10
xor rcx, r12
add r14, r15
xor r15, rsi
rol rcx, 1
rol r15, 0x20
xor rdx, r14
add r12, r15
rol rdx, 1
xor r8, r12
ror r8, 0x18
add rsi, r10
mov r10, qword [rsp + 0x60]
add rdi, qword [rsp + 0x148]
add rsi, r8
add rdi, rcx
add rbx, qword [rsp + 0x168]
xor r15, rsi
add rbx, rdx
xor r10, rdi
ror r15, 0x10
rol r10, 0x20
xor rax, rbx
add rbx, qword [rsp + 0x138]
add r12, r15
add r14, r10
rol rax, 0x20
xor r8, r12
add r13, rax
xor rcx, r14
rol r8, 1
ror rcx, 0x18
xor rdx, r13
mov qword [rsp + 0x68], r8
mov r8, qword [rsp + 0x38]
ror rdx, 0x18
add rbx, rdx
add rdi, r8
xor rax, rbx
add rdi, rcx
ror rax, 0x10
xor r10, rdi
add r13, rax
ror r10, 0x10
lea r8, [r14 + r10]
xor rcx, r8
mov qword [rsp + 0x58], r8
mov r8, qword [rsp + 0x70]
rol rcx, 1
xor rdx, r13
add r11, qword [rsp + 0x178]
add rsi, qword [rsp + 0x168]
add r11, r8
add rdi, qword [rsp + 0x148]
rol rdx, 1
xor r9, r11
rol r9, 0x20
add rbp, r9
xor r8, rbp
mov r14, r8
mov r8, qword [rsp + 0x30]
ror r14, 0x18
add r11, r8
mov r8, qword [rsp + 0x68]
add r11, r14
xor r9, r11
add rdi, r8
ror r9, 0x10
add rbp, r9
xor r14, rbp
rol r14, 1
add rsi, r14
xor r10, rsi
add rsi, qword [rsp + 0x178]
rol r10, 0x20
add r13, r10
xor r14, r13
ror r14, 0x18
add rsi, r14
xor r10, rsi
ror r10, 0x10
add r13, r10
xor r14, r13
rol r14, 1
xor rax, rdi
mov qword [rsp + 0x60], r14
add rdi, qword [rsp + 0x138]
rol rax, 0x20
add rbx, qword [rsp + 0x198]
mov r14, qword [rsp + 0x18]
add rbp, rax
add rbx, rcx
xor r8, rbp
add r11, qword [rsp + 0x188]
xor r9, rbx
add rbx, r14
ror r8, 0x18
add r11, rdx
rol r9, 0x20
add rdi, r8
xor r15, r11
add r12, r9
xor rax, rdi
rol r15, 0x20
xor rcx, r12
ror rax, 0x10
ror rcx, 0x18
add rbp, rax
add rbx, rcx
xor r8, rbp
xor r9, rbx
rol r8, 1
ror r9, 0x10
add r12, r9
xor rcx, r12
rol rcx, 1
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x58]
lea r14, [rcx + r15]
mov rcx, qword [rsp + 0x40]
xor rdx, r14
ror rdx, 0x18
add r11, rcx
mov rcx, qword [rsp + 0x28]
add rdi, qword [rsp + 0x158]
add r11, rdx
xor r15, r11
add rsi, rcx
mov rcx, qword [rsp + 0x38]
add rsi, r8
ror r15, 0x10
add r14, r15
xor r15, rsi
add rsi, rcx
mov rcx, qword [rsp + 0x68]
rol r15, 0x20
xor rdx, r14
add r12, r15
add rdi, rcx
rol rdx, 1
xor r8, r12
xor r10, rdi
ror r8, 0x18
rol r10, 0x20
add rsi, r8
add r14, r10
xor r15, rsi
xor rcx, r14
ror r15, 0x10
ror rcx, 0x18
add r12, r15
xor r8, r12
rol r8, 1
mov qword [rsp + 0x70], r8
mov r8, qword [rsp + 0x10]
add rdi, r8
add rdi, rcx
xor r10, rdi
ror r10, 0x10
lea r8, [r14 + r10]
mov r14, qword [rsp + 0x20]
xor rcx, r8
mov qword [rsp + 0x58], r8
mov r8, qword [rsp + 0x30]
add r11, qword [rsp + 0x1a8]
add rsi, qword [rsp + 0x178]
rol rcx, 1
add rbx, r8
mov r8, qword [rsp + 0x60]
add rbx, rdx
add r11, r8
xor rax, rbx
add rbx, r14
xor r9, r11
rol rax, 0x20
rol r9, 0x20
add r13, rax
add rbp, r9
xor rdx, r13
xor r8, rbp
ror rdx, 0x18
mov r14, r8
mov r8, qword [rsp]
add rbx, rdx
ror r14, 0x18
xor rax, rbx
add r11, r8
ror rax, 0x10
mov r8, qword [rsp + 0x20]
add r11, r14
add r13, rax
xor r9, r11
xor rdx, r13
ror r9, 0x10
rol rdx, 1
add rbp, r9
xor r14, rbp
rol r14, 1
add rsi, r14
xor r10, rsi
add rsi, r8
mov r8, qword [rsp + 0x70]
add rdi, qword [rsp + 0x158]
rol r10, 0x20
add r13, r10
add rdi, r8
xor r14, r13
xor rax, rdi
add rdi, qword [rsp + 0x168]
ror r14, 0x18
rol rax, 0x20
add rsi, r14
add rbp, rax
xor r10, rsi
xor r8, rbp
ror r10, 0x10
ror r8, 0x18
add r13, r10
add rdi, r8
xor r14, r13
xor rax, rdi
rol r14, 1
ror rax, 0x10
mov qword [rsp + 0x68], r14
mov r14, qword [rsp + 0x28]
add rbp, rax
xor r8, rbp
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x58]
add rbx, r14
mov r14, qword [rsp + 0x30]
rol r8, 1
add rbx, rcx
xor r9, rbx
rol r9, 0x20
add r12, r9
xor rcx, r12
ror rcx, 0x18
add rbx, r14
mov r14, qword [rsp + 0x10]
add rbx, rcx
add r11, r14
xor r9, rbx
add r11, rdx
ror r9, 0x10
xor r15, r11
add r11, qword [rsp + 0x1a8]
add r12, r9
rol r15, 0x20
xor rcx, r12
lea r14, [rax + r15]
mov rax, qword [rsp + 0x40]
rol rcx, 1
xor rdx, r14
ror rdx, 0x18
add rsi, rax
add r11, rdx
add rsi, r8
xor r15, r11
ror r15, 0x10
add r14, r15
xor r15, rsi
add rsi, qword [rsp + 0x138]
rol r15, 0x20
xor rdx, r14
add r12, r15
rol rdx, 1
xor r8, r12
ror r8, 0x18
add rsi, r8
xor r15, rsi
ror r15, 0x10
add r12, r15
add rdi, qword [rsp + 0x188]
add r11, qword [rsp + 0x148]
add rdi, rcx
mov qword [rsp + 0x58], r12
xor r8, r12
mov r12, qword [rsp + 0x18]
xor r10, rdi
rol r8, 1
rol r10, 0x20
add rdi, r12
mov r12, qword [rsp + 0x38]
add r14, r10
xor rcx, r14
add rbx, r12
mov r12, qword [rsp]
ror rcx, 0x18
add rbx, rdx
add rdi, rcx
xor r10, rdi
ror r10, 0x10
lea rax, [r14 + r10]
mov qword [rsp + 0x60], rax
xor rcx, rax
mov rax, qword [rsp + 0x70]
rol rcx, 1
xor rax, rbx
add rbx, r12
mov r12, qword [rsp + 0x68]
rol rax, 0x20
add r13, rax
add r11, r12
xor rdx, r13
ror rdx, 0x18
add rbx, rdx
xor rax, rbx
ror rax, 0x10
add r13, rax
xor rdx, r13
rol rdx, 1
xor r9, r11
add r11, qword [rsp + 0x198]
rol r9, 0x20
add rbp, r9
xor r12, rbp
mov r14, r12
mov r12, qword [rsp + 0x28]
ror r14, 0x18
add r11, r14
add rsi, r12
mov r12, qword [rsp + 0x18]
xor r9, r11
ror r9, 0x10
add rbp, r9
xor r14, rbp
rol r14, 1
add rsi, r14
xor r10, rsi
add rsi, r12
mov r12, qword [rsp + 0x38]
rol r10, 0x20
add r13, r10
add rdi, r12
mov r12, qword [rsp + 0x58]
xor r14, r13
add rdi, r8
ror r14, 0x18
xor rax, rdi
add rsi, r14
rol rax, 0x20
xor r10, rsi
add rbp, rax
ror r10, 0x10
xor r8, rbp
add r13, r10
xor r14, r13
rol r14, 1
ror r8, 0x18
mov qword [rsp + 0x68], r14
mov r14, qword [rsp + 0x10]
add rdi, r14
mov r14, qword [rsp + 0x20]
add rdi, r8
xor rax, rdi
add rbx, r14
ror rax, 0x10
add rbx, rcx
add rbp, rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp]
xor r9, rbx
rol r9, 0x20
add rbx, qword [rsp + 0x188]
xor r8, rbp
add r11, rax
add r12, r9
mov rax, qword [rsp + 0x60]
rol r8, 1
add r11, rdx
xor rcx, r12
xor r15, r11
ror rcx, 0x18
add r11, qword [rsp + 0x148]
rol r15, 0x20
add rbx, rcx
lea r14, [rax + r15]
xor r9, rbx
mov rax, qword [rsp + 0x30]
xor rdx, r14
ror r9, 0x10
ror rdx, 0x18
add r12, r9
add r11, rdx
xor rcx, r12
xor r15, r11
rol rcx, 1
ror r15, 0x10
add r14, r15
add rdi, qword [rsp + 0x168]
add rsi, rax
add rbx, qword [rsp + 0x1a8]
add rdi, rcx
add rsi, r8
xor rdx, r14
xor r10, rdi
xor r15, rsi
add rdi, qword [rsp + 0x158]
rol rdx, 1
rol r10, 0x20
rol r15, 0x20
add rsi, qword [rsp + 0x198]
add rbx, rdx
add r14, r10
add r12, r15
xor rcx, r14
xor r8, r12
ror rcx, 0x18
ror r8, 0x18
add rdi, rcx
add rsi, r8
xor r10, rdi
xor r15, rsi
ror r10, 0x10
ror r15, 0x10
lea rax, [r14 + r10]
add r12, r15
mov r14, qword [rsp + 0x40]
xor rcx, rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x70]
xor r8, r12
rol r8, 1
rol rcx, 1
xor rax, rbx
add rbx, r14
rol rax, 0x20
add r13, rax
xor rdx, r13
ror rdx, 0x18
add rbx, rdx
xor rax, rbx
ror rax, 0x10
add r13, rax
xor rdx, r13
rol rdx, 1
mov qword [rsp + 0x60], rdx
add r11, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x68]
add r11, rdx
xor r9, r11
add r11, qword [rsp + 0x178]
rol r9, 0x20
add rbp, r9
xor rdx, rbp
mov r14, rdx
mov rdx, qword [rsp + 0x18]
ror r14, 0x18
add r11, r14
add rsi, rdx
xor r9, r11
ror r9, 0x10
add rbp, r9
xor r14, rbp
rol r14, 1
add rsi, r14
xor r10, rsi
rol r10, 0x20
add r13, r10
xor r14, r13
ror r14, 0x18
add rsi, qword [rsp + 0x158]
add rdi, qword [rsp + 0x138]
add rsi, r14
add rdi, r8
xor r10, rsi
xor rax, rdi
add rdi, qword [rsp + 0x1a8]
ror r10, 0x10
rol rax, 0x20
add r13, r10
add rbp, rax
xor r14, r13
xor r8, rbp
mov rdx, r14
ror r8, 0x18
rol rdx, 1
add rdi, r8
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x40]
xor rax, rdi
ror rax, 0x10
add rbx, rdx
add rbp, rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x30]
add rbx, rcx
mov rdx, qword [rsp + 0x60]
xor r8, rbp
xor r9, rbx
add rbx, qword [rsp + 0x198]
rol r8, 1
rol r9, 0x20
add r12, r9
xor rcx, r12
ror rcx, 0x18
add rbx, rcx
xor r9, rbx
ror r9, 0x10
add r11, rax
mov rax, qword [rsp + 0x58]
add r11, rdx
add r12, r9
xor r15, r11
xor rcx, r12
rol r15, 0x20
rol rcx, 1
lea r14, [rax + r15]
mov rax, qword [rsp + 0x10]
xor rdx, r14
ror rdx, 0x18
add r11, rax
mov rax, qword [rsp + 0x20]
add r11, rdx
xor r15, r11
add rsi, rax
mov rax, qword [rsp + 0x38]
add rsi, r8
ror r15, 0x10
add r14, r15
xor r15, rsi
add rsi, qword [rsp + 0x168]
add rdi, rax
rol r15, 0x20
xor rdx, r14
mov rax, qword [rsp + 0x70]
add r12, r15
rol rdx, 1
xor r8, r12
ror r8, 0x18
add rsi, r8
xor r15, rsi
ror r15, 0x10
add r12, r15
xor r8, r12
rol r8, 1
add rdi, rcx
add rbx, qword [rsp + 0x178]
xor r10, rdi
add rdi, qword [rsp + 0x148]
add rbx, rdx
rol r10, 0x20
xor rax, rbx
add r14, r10
rol rax, 0x20
xor rcx, r14
add r13, rax
ror rcx, 0x18
xor rdx, r13
add rdi, rcx
ror rdx, 0x18
xor r10, rdi
ror r10, 0x10
add r14, r10
xor rcx, r14
mov qword [rsp + 0x58], r14
mov r14, qword [rsp + 0x28]
rol rcx, 1
add rbx, r14
mov r14, qword [rsp]
add rbx, rdx
add r11, r14
mov r14, qword [rsp + 0x68]
xor rax, rbx
ror rax, 0x10
add r11, r14
add r13, rax
xor r9, r11
xor rdx, r13
rol r9, 0x20
rol rdx, 1
add rbp, r9
xor r14, rbp
add r11, qword [rsp + 0x188]
add rsi, qword [rsp + 0x198]
ror r14, 0x18
add rdi, qword [rsp + 0x168]
add r11, r14
add rdi, r8
xor r9, r11
xor rax, rdi
ror r9, 0x10
rol rax, 0x20
add rbp, r9
xor r14, rbp
add rbp, rax
rol r14, 1
xor r8, rbp
add rsi, r14
ror r8, 0x18
xor r10, rsi
add rsi, qword [rsp + 0x188]
rol r10, 0x20
add r13, r10
xor r14, r13
ror r14, 0x18
add rsi, r14
xor r10, rsi
ror r10, 0x10
add r13, r10
xor r14, r13
rol r14, 1
mov qword [rsp + 0x60], r14
mov r14, qword [rsp + 0x40]
add rdi, r14
mov r14, qword [rsp + 0x18]
add rdi, r8
xor rax, rdi
add rbx, r14
add rbx, rcx
ror rax, 0x10
xor r9, rbx
add rbx, qword [rsp + 0x138]
mov r14, qword [rsp + 0x58]
add rbp, rax
add r11, qword [rsp + 0x148]
rol r9, 0x20
xor r8, rbp
add r11, rdx
add r12, r9
rol r8, 1
xor r15, r11
xor rcx, r12
add r11, qword [rsp + 0x178]
rol r15, 0x20
ror rcx, 0x18
add r14, r15
add rbx, rcx
xor rdx, r14
xor r9, rbx
ror rdx, 0x18
ror r9, 0x10
add r11, rdx
add r12, r9
xor r15, r11
xor rcx, r12
ror r15, 0x10
rol rcx, 1
add r14, r15
xor rdx, r14
rol rdx, 1
add rdi, qword [rsp + 0x1a8]
add rsi, qword [rsp + 0x158]
add rdi, rcx
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x20]
add rsi, r8
xor r10, rdi
xor r15, rsi
rol r10, 0x20
add rsi, rdx
mov rdx, qword [rsp + 0x30]
rol r15, 0x20
add r14, r10
add r12, r15
xor rcx, r14
add rdi, rdx
xor r8, r12
ror rcx, 0x18
ror r8, 0x18
add rdi, rcx
add rsi, r8
xor r10, rdi
xor r15, rsi
ror r10, 0x10
ror r15, 0x10
lea rdx, [r14 + r10]
add r12, r15
mov r14, qword [rsp + 0x38]
xor rcx, rdx
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x68]
xor r8, r12
rol rcx, 1
rol r8, 1
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp]
add rbx, rdx
add rbx, rcx
mov rcx, qword [rsp + 0x60]
xor rax, rbx
rol rax, 0x20
add r13, rax
add rbx, r14
mov r14, qword [rsp + 0x28]
xor rdx, r13
add r11, r14
ror rdx, 0x18
add r11, rcx
add rbx, rdx
xor r9, r11
xor rax, rbx
rol r9, 0x20
ror rax, 0x10
add rbp, r9
add r13, rax
xor rcx, rbp
xor rdx, r13
mov r14, rcx
mov rcx, qword [rsp + 0x10]
rol rdx, 1
ror r14, 0x18
add r11, rcx
mov rcx, qword [rsp + 0x38]
add r11, r14
xor r9, r11
add rsi, rcx
ror r9, 0x10
add rbp, r9
xor r14, rbp
rol r14, 1
add rsi, r14
xor r10, rsi
add rsi, qword [rsp + 0x1a8]
rol r10, 0x20
add r13, r10
xor r14, r13
ror r14, 0x18
add rsi, r14
add rbx, qword [rsp + 0x188]
xor r10, rsi
ror r10, 0x10
add r13, r10
xor r14, r13
mov rcx, r14
mov r14, qword [rsp + 0x20]
rol rcx, 1
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x40]
add rdi, rcx
mov rcx, qword [rsp + 0x70]
add rdi, r8
add rbx, rcx
xor rax, rdi
add rdi, qword [rsp + 0x178]
rol rax, 0x20
xor r9, rbx
add rbx, qword [rsp + 0x148]
add rbp, rax
rol r9, 0x20
add r12, r9
xor r8, rbp
ror r8, 0x18
xor rcx, r12
add rdi, r8
ror rcx, 0x18
xor rax, rdi
add rbx, rcx
ror rax, 0x10
xor r9, rbx
add rbp, rax
ror r9, 0x10
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x58]
xor r8, rbp
add r12, r9
rol r8, 1
xor rcx, r12
add r11, r14
add rdi, qword [rsp + 0x198]
add r11, rdx
rol rcx, 1
xor r15, r11
add rdi, rcx
rol r15, 0x20
xor r10, rdi
lea r14, [rax + r15]
mov rax, qword [rsp]
xor rdx, r14
ror rdx, 0x18
add r11, rax
mov rax, qword [rsp + 0x18]
add r11, rdx
xor r15, r11
add rsi, rax
mov rax, qword [rsp + 0x28]
add rsi, r8
ror r15, 0x10
add r14, r15
xor r15, rsi
add rsi, rax
rol r15, 0x20
xor rdx, r14
add r12, r15
rol rdx, 1
xor r8, r12
ror r8, 0x18
add rsi, r8
xor r15, rsi
ror r15, 0x10
add r12, r15
xor r8, r12
rol r8, 1
rol r10, 0x20
add rdi, qword [rsp + 0x168]
mov rax, qword [rsp + 0x68]
add r14, r10
add rbx, rdx
add rbx, qword [rsp + 0x138]
xor rcx, r14
xor rax, rbx
ror rcx, 0x18
rol rax, 0x20
add rdi, rcx
add r13, rax
xor r10, rdi
xor rdx, r13
ror r10, 0x10
ror rdx, 0x18
add r14, r10
xor rcx, r14
mov qword [rsp + 0x58], r14
mov r14, qword [rsp + 0x60]
rol rcx, 1
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x30]
add rbx, rcx
mov rcx, qword [rsp + 0x10]
add rbx, rdx
add r11, rcx
xor rax, rbx
add r11, r14
ror rax, 0x10
xor r9, r11
add r13, rax
rol r9, 0x20
xor rdx, r13
add rbp, r9
rol rdx, 1
xor r14, rbp
ror r14, 0x18
add r11, qword [rsp + 0x158]
add rsi, rcx
mov rcx, qword [rsp + 0x28]
add r11, r14
xor r9, r11
ror r9, 0x10
add rbp, r9
xor r14, rbp
rol r14, 1
add rsi, r14
xor r10, rsi
add rsi, rcx
mov rcx, qword [rsp + 0x30]
rol r10, 0x20
add r13, r10
xor r14, r13
ror r14, 0x18
add rsi, r14
xor r10, rsi
ror r10, 0x10
add r13, r10
xor r14, r13
rol r14, 1
mov qword [rsp + 0x60], r14
mov r14, qword [rsp]
add rdi, r14
mov r14, qword [rsp + 0x38]
add rdi, r8
xor rax, rdi
add rdi, rcx
mov rcx, qword [rsp + 0x70]
rol rax, 0x20
add rbp, rax
xor r8, rbp
ror r8, 0x18
add rdi, r8
xor rax, rdi
ror rax, 0x10
add rbp, rax
add rbx, qword [rsp + 0x168]
add r11, qword [rsp + 0x138]
add rbx, rcx
add r11, rdx
xor r8, rbp
add rsi, qword [rsp + 0x1a8]
xor r9, rbx
xor r15, r11
add rbx, r14
mov r14, qword [rsp + 0x58]
rol r9, 0x20
rol r15, 0x20
add r11, qword [rsp + 0x158]
add r12, r9
add r14, r15
rol r8, 1
xor rcx, r12
xor rdx, r14
ror rcx, 0x18
ror rdx, 0x18
add rbx, rcx
add r11, rdx
xor r9, rbx
xor r15, r11
ror r9, 0x10
ror r15, 0x10
add r12, r9
add r14, r15
xor rcx, r12
xor rdx, r14
rol rcx, 1
rol rdx, 1
add rsi, r8
add rdi, qword [rsp + 0x178]
xor r15, rsi
add rsi, qword [rsp + 0x188]
add rdi, rcx
add rbx, rdx
rol r15, 0x20
xor r10, rdi
add rbx, qword [rsp + 0x148]
add r12, r15
rol r10, 0x20
xor rax, rbx
xor r8, r12
add r14, r10
rol rax, 0x20
ror r8, 0x18
xor rcx, r14
add r13, rax
add rsi, r8
ror rcx, 0x18
xor rdx, r13
xor r15, rsi
ror r15, 0x10
add r12, r15
xor r8, r12
rol r8, 1
mov qword [rsp + 0x68], r8
mov r8, qword [rsp + 0x40]
add rdi, r8
add rdi, rcx
xor r10, rdi
ror r10, 0x10
lea r8, [r14 + r10]
xor rcx, r8
mov qword [rsp + 0x58], r8
mov r8, qword [rsp + 0x18]
rol rcx, 1
ror rdx, 0x18
add r11, qword [rsp + 0x198]
add rbx, r8
mov r8, qword [rsp + 0x60]
add rbx, rdx
add r11, r8
xor rax, rbx
xor r9, r11
ror rax, 0x10
rol r9, 0x20
add r13, rax
add rbp, r9
xor rdx, r13
xor r8, rbp
rol rdx, 1
mov r14, r8
mov r8, qword [rsp + 0x20]
ror r14, 0x18
add r11, r8
add rsi, r8
add r11, r14
xor r9, r11
ror r9, 0x10
add rbp, r9
xor r14, rbp
rol r14, 1
add rsi, r14
xor r10, rsi
add rsi, qword [rsp + 0x138]
rol r10, 0x20
add r13, r10
xor r14, r13
ror r14, 0x18
add rsi, r14
xor r10, rsi
ror r10, 0x10
add r13, r10
xor r14, r13
rol r14, 1
mov qword [rsp + 0x60], r14
mov r14, qword [rsp + 0x28]
mov r8, qword [rsp + 0x68]
add rdi, r14
mov r14, qword [rsp + 0x30]
add rdi, r8
add rbx, r14
xor rax, rdi
add rdi, qword [rsp + 0x148]
mov r14, qword [rsp + 0x38]
add rbx, rcx
rol rax, 0x20
xor r9, rbx
add rbp, rax
add rbx, qword [rsp + 0x158]
rol r9, 0x20
xor r8, rbp
add r12, r9
ror r8, 0x18
xor rcx, r12
add rdi, r8
ror rcx, 0x18
xor rax, rdi
add rbx, rcx
ror rax, 0x10
xor r9, rbx
add rbp, rax
ror r9, 0x10
xor r8, rbp
add r12, r9
rol r8, 1
xor rcx, r12
rol rcx, 1
add r11, r14
mov r14, qword [rsp + 0x58]
add r11, rdx
xor r15, r11
add r11, qword [rsp + 0x168]
rol r15, 0x20
add r14, r15
xor rdx, r14
ror rdx, 0x18
add r11, rdx
xor r15, r11
ror r15, 0x10
add r14, r15
xor rdx, r14
rol rdx, 1
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp]
add rsi, rdx
mov rdx, qword [rsp + 0x10]
add rsi, r8
xor r15, rsi
add rsi, qword [rsp + 0x178]
add rdi, rdx
rol r15, 0x20
add rdi, rcx
add r12, r15
xor r10, rdi
xor r8, r12
rol r10, 0x20
ror r8, 0x18
add rsi, r8
xor r15, rsi
ror r15, 0x10
add r12, r15
xor r8, r12
rol r8, 1
add r14, r10
add rdi, qword [rsp + 0x188]
xor rcx, r14
ror rcx, 0x18
add rdi, rcx
xor r10, rdi
ror r10, 0x10
lea rdx, [r14 + r10]
mov r14, qword [rsp + 0x68]
mov qword [rsp + 0x58], rdx
xor rcx, rdx
mov rdx, qword [rsp + 0x18]
add rbx, r14
rol rcx, 1
add rbx, rdx
mov rdx, r14
mov r14, qword [rsp + 0x60]
xor rax, rbx
add rbx, qword [rsp + 0x198]
rol rax, 0x20
add r13, rax
xor rdx, r13
ror rdx, 0x18
add rbx, rdx
xor rax, rbx
ror rax, 0x10
add r13, rax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
xor rdx, r13
add r11, rax
rol rdx, 1
add r11, r14
xor r9, r11
add r11, qword [rsp + 0x1a8]
rol r9, 0x20
add rbp, r9
xor r14, rbp
ror r14, 0x18
add r11, r14
xor r9, r11
add rsi, rax
mov rax, qword [rsp + 0x10]
add rdi, r8
ror r9, 0x10
add rbp, r9
xor r14, rbp
rol r14, 1
add rsi, r14
xor r10, rsi
add rsi, rax
rol r10, 0x20
add r13, r10
xor r14, r13
ror r14, 0x18
add rsi, r14
xor r10, rsi
ror r10, 0x10
add r13, r10
xor r14, r13
mov rax, r14
mov r14, qword [rsp + 0x30]
rol rax, 1
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x68]
add rdi, r14
mov r14, qword [rsp]
xor rax, rdi
rol rax, 0x20
add rdi, r14
add rbp, rax
xor r8, rbp
ror r8, 0x18
add rdi, r8
xor rax, rdi
ror rax, 0x10
add rbp, rax
xor r8, rbp
rol r8, 1
add rbx, qword [rsp + 0x178]
add r11, qword [rsp + 0x198]
add rbx, rcx
add r11, rdx
xor r9, rbx
add rbx, qword [rsp + 0x1a8]
xor r15, r11
rol r9, 0x20
rol r15, 0x20
add r12, r9
xor rcx, r12
ror rcx, 0x18
add rbx, rcx
xor r9, rbx
ror r9, 0x10
add r12, r9
xor rcx, r12
rol rcx, 1
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x58]
lea r14, [rcx + r15]
mov rcx, qword [rsp + 0x38]
add rsi, qword [rsp + 0x138]
xor rdx, r14
add rsi, r8
ror rdx, 0x18
add r11, rcx
mov rcx, qword [rsp + 0x18]
add r11, rdx
xor r15, r11
ror r15, 0x10
add r14, r15
xor r15, rsi
xor rdx, r14
rol r15, 0x20
rol rdx, 1
add r12, r15
add rsi, rcx
xor r8, r12
add rbx, rdx
add rbx, qword [rsp + 0x188]
ror r8, 0x18
xor rax, rbx
add rbx, qword [rsp + 0x168]
add rsi, r8
rol rax, 0x20
mov qword [rsp + 0xb0], rsi
xor rsi, r15
ror rsi, 0x10
add r12, rsi
mov qword [rsp + 0x128], rsi
mov rsi, qword [rsp + 0x10]
mov qword [rsp + 0x100], r12
xor r12, r8
mov r8, qword [rsp + 0x20]
rol r12, 1
add r8, rdi
mov rdi, qword [rsp]
mov qword [rsp + 0xd8], r12
add r8, rdi
xor r10, r8
rol r10, 0x20
add r14, r10
xor rdi, r14
mov rcx, rdi
mov rdi, qword [rsp + 0x28]
ror rcx, 0x18
add r8, rdi
add r8, rcx
mov qword [rsp + 0xb8], r8
xor r8, r10
ror r8, 0x10
add r14, r8
mov qword [rsp + 0x110], r8
mov r8, rbx
mov qword [rsp + 0x108], r14
xor r14, rcx
lea rcx, [r13 + rax]
xor rdx, rcx
rol r14, 1
ror rdx, 0x18
mov qword [rsp + 0xe0], r14
add r8, rdx
mov qword [rsp + 0xc0], r8
xor r8, rax
add r11, qword [rsp + 0x158]
mov rax, r11
ror r8, 0x10
add rax, rsi
add rcx, r8
mov qword [rsp + 0x118], r8
xor r9, rax
mov qword [rsp + 0xf0], rcx
xor rcx, rdx
add rax, qword [rsp + 0x148]
rol r9, 0x20
rol rcx, 1
add rbp, r9
mov qword [rsp + 0xe8], rcx
mov rcx, qword [rsp + 0xa0]
xor rsi, rbp
mov rdx, rsi
ror rdx, 0x18
add rax, rdx
mov qword [rsp + 0xc8], rax
xor rax, r9
ror rax, 0x10
add rbp, rax
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xf8], rbp
xor rbp, rdx
mov rdx, qword [rsp + 0x200]
rol rbp, 1
mov qword [rsp + 0xd0], rbp
movdqu xmm1, xmmword [rdx]
movdqa xmm0, xmmword [rax + 0x40]
add rax, 0x10
add rdx, 0x10
pxor xmm0, xmmword [rax - 0x10]
pxor xmm0, xmm1
movaps xmmword [rax - 0x10], xmm0
movups xmmword [rdx - 0x10], xmm0
cmp rcx, rax
jne 0x1402627ac
mov rax, qword [rsp + 0x50]
sub qword [rsp + 0x210], rax
jne 0x140260f00
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret