Function at 0x447af0
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov rax, qword [rdx + 0x28]
mov rdi, qword [rdx + 0x50]
mov rbx, qword [rdx + 0x38]
mov r15, qword [rcx + 0x28]
mov r13, qword [rcx + 0x50]
mov qword [rsp + 0xf0], rax
mov rsi, qword [rdx + 0x68]
mov qword [rsp + 0x1c0], r8
mov r12, qword [rcx + 0x68]
mov qword [rsp + 0x28], rbx
mov r14, qword [rdx + 0x70]
xor r15, rax
mov qword [rsp + 0x38], rdi
mov r11, qword [rcx + 0x70]
xor r13, rdi
xor rbx, qword [rcx + 0x38]
lea rax, [r15 + r13]
mov qword [rsp + 0x48], rsi
xor r12, rsi
mov r9, qword [rdx + 8]
add rax, r12
mov r10, qword [rcx + 0x40]
mov qword [rsp + 0x60], r14
xor r11, r14
mov rsi, qword [rdx + 0x58]
add rax, r11
sub rax, rbx
mov qword [rsp + 0xf8], r9
lea r8, [rax*8]
mov rbp, rax
shr rbp, 1
mov qword [rsp + 0x110], rsi
xor rsi, qword [rcx + 0x58]
xor r8, rbp
mov rbp, rax
rol rbp, 4
ror rax, 0x1b
xor rbp, r8
mov r8, qword [rdx + 0x40]
xor rbp, rax
mov rax, qword [rdx + 0x30]
add rbp, r9
mov qword [rsp + 0xc8], rbp
mov rbp, qword [rdx + 0x78]
xor r10, r8
mov qword [rsp + 0x108], r8
mov r8, qword [rcx + 0x78]
mov qword [rsp + 0x100], rax
xor rax, qword [rcx + 0x30]
mov r9, r10
mov qword [rsp + 0x118], rbp
xor r8, rbp
lea r10, [r11 + rax]
mov qword [rsp + 0x10], rax
mov rbp, r10
mov qword [rsp + 0x30], r10
mov r14, qword [rdx + 0x10]
sub rbp, r9
mov qword [rsp + 8], rbx
mov rax, rbp
mov rbp, rsi
add rax, rsi
sub rax, r8
mov qword [rsp + 0x120], r14
mov r10, rax
mov rdi, rax
shr r10, 1
rol rdi, 0xd
mov rsi, r10
lea r10, [rax*4]
ror rax, 0x15
xor r10, rsi
mov rsi, rdi
mov rdi, qword [rdx + 0x18]
xor rsi, r10
mov r10, qword [rdx + 0x48]
xor rsi, rax
mov rax, qword [rdx + 0x60]
add rsi, r14
mov r14, qword [rdx]
mov qword [rsp + 0xa0], rsi
mov rdx, qword [rdx + 0x20]
mov qword [rsp + 0x130], r10
xor r10, qword [rcx + 0x48]
mov qword [rsp + 0x138], rax
xor rax, qword [rcx + 0x60]
mov qword [rsp + 0x128], r14
xor r14, qword [rcx]
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0x140], rdx
mov rsi, rax
lea rax, [rbx + r8]
mov qword [rsp + 0x20], rsi
add rax, r14
mov qword [rsp + 0x18], r14
add rax, r10
sub rax, rsi
mov rbx, rax
mov rdi, rax
shr rbx, 2
rol rdi, 0x13
mov rsi, rbx
lea rbx, [rax + rax]
ror rax, 0xb
xor rbx, rsi
mov rsi, rdi
mov rdi, qword [rsp + 0xc0]
xor rsi, rbx
mov rbx, qword [rsp + 0xf8]
xor rbx, qword [rcx + 8]
xor rsi, rax
add rdi, rsi
mov qword [rsp + 0x90], rdi
mov rax, rbx
lea rbx, [r12 + r9]
add rbx, r14
sub rbx, rax
sub rbx, r13
lea rsi, [rbx*4]
mov rdi, rbx
shr rdi, 2
xor rsi, rdi
mov rdi, rbx
ror rbx, 5
rol rdi, 0x1c
xor rdi, rsi
lea rsi, [r10 + rax]
xor rdi, rbx
add rdi, rdx
mov rdx, qword [rsp + 0x120]
xor rdx, qword [rcx + 0x10]
mov qword [rsp + 0x98], rdi
mov rdi, qword [rsp + 0xc0]
xor rdi, qword [rcx + 0x18]
add rsi, rdx
mov r14, rdx
sub rsi, rbp
sub rsi, r11
mov rdx, rsi
shr rdx, 1
xor rsi, rdx
add rsi, qword [rsp + 0xf0]
lea rdx, [r13 + r8]
add rdx, rdi
sub rdx, r14
sub rdx, qword [rsp + 0x20]
mov qword [rsp + 0x78], rsi
mov rbx, rdx
shr rbx, 1
mov rsi, rbx
lea rbx, [rdx*8]
xor rbx, rsi
mov rsi, rdx
ror rdx, 0x1b
rol rsi, 4
xor rsi, rbx
xor rsi, rdx
add rsi, qword [rsp + 0x100]
mov qword [rsp + 0x80], rsi
mov rbx, qword [rsp + 0x140]
xor rbx, qword [rcx + 0x20]
mov qword [rsp + 0x68], rbp
lea rdx, [r12 + rbx]
sub rdx, qword [rsp + 0x18]
sub rdx, rdi
sub rdx, rbp
lea rsi, [rdx*4]
mov rbp, rdx
shr rbp, 1
xor rsi, rbp
mov rbp, rdx
ror rdx, 0x15
rol rbp, 0xd
xor rbp, rsi
mov rsi, rax
xor rbp, rdx
add rbp, qword [rsp + 0x28]
lea rdx, [r15 + rbx]
sub rsi, rdx
mov rdx, rsi
sub rdx, qword [rsp + 0x20]
sub rdx, r11
lea rsi, [rdx + rdx]
mov r11, rdx
shr r11, 2
xor rsi, r11
mov r11, rdx
ror rdx, 0xb
rol r11, 0x13
xor r11, rsi
xor r11, rdx
add r11, qword [rsp + 0x108]
lea rdx, [r12 + r14]
sub rdx, r15
sub rdx, qword [rsp + 0x10]
mov qword [rsp + 0x58], r11
sub rdx, r8
lea rsi, [rdx*4]
mov r11, rdx
shr r11, 2
xor rsi, r11
mov r11, rdx
ror rdx, 5
rol r11, 0x1c
add r8, r9
xor r11, rsi
mov rsi, qword [rsp + 0x130]
sub r8, rax
xor r11, rdx
sub r8, rbx
add rsi, r11
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x50], rsi
mov rsi, qword [rsp + 8]
sub r11, rdi
add r11, qword [rsp + 0x18]
sub r8, rsi
sub r11, rsi
mov rsi, qword [rsp + 0x110]
mov rdx, r11
shr rdx, 1
xor r11, rdx
add r11, qword [rsp + 0x38]
lea rdx, [r8*8]
mov qword [rsp + 0x40], r11
mov r11, r8
shr r11, 1
xor rdx, r11
mov r11, r8
ror r8, 0x1b
rol r11, 4
xor r11, rdx
lea rdx, [r9 + r10]
sub rdx, qword [rsp + 0x18]
xor r11, r8
add rsi, r11
mov qword [rsp + 0x30], rsi
mov rsi, qword [rsp + 0x118]
sub rdx, r14
sub rdx, r15
lea r11, [rdx*4]
mov r8, rdx
shr r8, 1
xor r11, r8
mov r8, rdx
ror rdx, 0x15
rol r8, 0xd
xor r8, r11
mov r11, qword [rsp + 0x68]
xor r8, rdx
add r8, qword [rsp + 0x138]
add rax, r13
add r9, rdi
add rax, rdi
sub rax, qword [rsp + 0x10]
sub r9, r15
add r13, qword [rsp + 8]
sub r9, r11
mov rdi, qword [rsp + 0x128]
mov qword [rsp + 0x88], r8
sub rax, r10
lea rdx, [rax + rax]
mov r8, rax
add r13, r11
shr r8, 2
add r14, r13
xor rdx, r8
mov r8, rax
ror rax, 0xb
rol r8, 0x13
add r14, rbx
xor r8, rdx
mov r13, r14
lea rdx, [r14*4]
xor r8, rax
mov rax, qword [rsp + 0x48]
shr r13, 2
xor rdx, r13
mov r13, r14
ror r14, 5
rol r13, 0x1c
add rax, r8
mov r8, rax
mov rax, r13
mov r13, qword [rsp + 0x20]
xor rax, rdx
xor rax, r14
add rax, qword [rsp + 0x60]
sub r9, r13
mov r15, r9
shr r15, 1
mov qword [rsp + 0xa8], rax
xor r9, r15
lea r15, [r12 + r13]
add rsi, r9
sub r15, rbx
sub r15, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x78]
mov qword [rsp + 8], r8
mov r9, qword [rcx + 0x18]
mov qword [rsp + 0x70], rbp
sub r15, r10
mov r13, qword [rsp + 0x30]
shr rbp, 2
mov qword [rsp + 0xb0], rsi
lea rax, [r15*8]
mov r12, r15
shr rbx, 2
shr r12, 1
shr r14, 1
xor rax, r12
mov r12, r15
mov r11, r14
rol r12, 4
ror r15, 0x1b
mov r14, r8
mov r8, qword [rsp + 0x40]
rol r9, 4
mov r10, r12
mov r12, qword [rsp + 0x50]
shr r13, 2
xor r10, rax
mov qword [rsp + 0x68], r9
mov r9, qword [rcx + 0x50]
shr r14, 1
xor r10, r15
mov r15, qword [rsp + 0x88]
add rdi, r10
mov rdx, r8
mov r10, rsi
mov rax, rdi
shr rdx, 2
mov qword [rsp + 0xd0], rdi
mov rdi, qword [rcx]
ror rax, 0x1b
rol r9, 0xb
mov qword [rsp + 0x148], rax
lea rax, [r8 + r8]
shr r12, 1
mov qword [rsp + 0xd8], r9
xor rax, rdx
mov r9, r8
mov rdx, r8
ror r9, 0xb
rol rdx, 0x13
rol rdi, 1
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x78]
xor rax, rdx
ror r15, 0x1b
mov qword [rsp + 0x150], rdi
shr r10, 2
mov rdx, r9
shl rdx, 2
mov r8, rdx
mov rdx, r9
xor r8, r11
rol rdx, 0xd
xor rdx, r8
mov r8, r9
mov r9, qword [rsp + 0x68]
ror r8, 0x15
xor rdx, r8
movabs r8, 0x5555555555555550
add rdx, rax
add r9, rdi
mov rax, r9
mov r9, qword [rsp + 0xc8]
add rax, r8
sub rax, qword [rsp + 0xd8]
xor rax, qword [rsp + 0x28]
lea rdi, [r9*4]
lea r8, [rdx + rax]
lea rdx, [rsi*4]
mov rax, rdx
mov rdx, rsi
ror rsi, 5
xor rax, r10
rol rdx, 0x1c
xor rdx, rax
mov rax, rsi
xor rax, rdx
mov rdx, r9
shr rdx, 1
add rax, r8
xor rdx, rdi
mov rdi, r9
rol rdi, 0xd
xor rdi, rdx
mov rdx, r9
ror rdx, 0x15
xor rdx, rdi
add rdx, rax
mov rax, qword [rsp + 0xa0]
lea rsi, [rax + rax]
mov rdi, rax
shr rdi, 2
xor rdi, rsi
mov rsi, rax
rol rsi, 0x13
xor rsi, rdi
mov rdi, rax
ror rdi, 0xb
xor rdi, rsi
add rdi, rdx
mov rdx, qword [rsp + 0x90]
lea r9, [rdx*4]
mov rsi, r9
mov r9, rdx
ror rdx, 5
xor rsi, rbx
rol r9, 0x1c
xor r9, rsi
mov rsi, rdx
mov rdx, qword [rsp + 0x98]
xor rsi, r9
add rsi, rdi
lea r8, [rdx*8]
mov r9, rdx
mov rdi, rdx
shr r9, 1
xor r9, r8
rol rdi, 4
ror rdx, 0x1b
mov r8, rdi
xor r8, r9
mov r9, rdx
mov rdx, qword [rsp + 0x80]
xor r9, r8
add r9, rsi
mov rsi, qword [rsp + 0x70]
mov rdi, rdx
shr rdi, 2
lea rax, [rsi*4]
mov r8, rdi
mov rdi, rdx
add rdx, rdx
xor rax, rbp
xor r8, rdx
mov rdx, rdi
rol rdx, 0x13
xor rdx, r8
mov r8, rdi
ror r8, 0xb
xor r8, rdx
mov rdx, rax
mov rax, rsi
add r8, r9
mov r9, qword [rsp + 0x50]
rol rax, 0x1c
xor rax, rdx
mov rdx, rsi
mov rsi, qword [rsp + 8]
ror rdx, 5
xor rdx, rax
lea rax, [r9*4]
add rdx, r8
mov rdi, r9
xor rax, r12
ror rdi, 0x15
mov r8, rax
mov rax, r9
mov r9, qword [rsp + 0x30]
rol rax, 0xd
xor rax, r8
xor rax, rdi
mov rdi, qword [rsp + 0xd0]
add rax, rdx
mov rdx, r9
shl rdx, 2
mov r8, rdx
mov rdx, r9
xor r8, r13
rol rdx, 0x1c
xor rdx, r8
mov r8, r9
mov r9, qword [rsp + 0x88]
ror r8, 5
xor rdx, r8
add rax, rdx
mov r8, r9
mov rdx, r9
shr rdx, 1
shl r8, 3
xor r8, rdx
mov rdx, r9
mov r9, rsi
rol rdx, 4
rol r9, 0xd
xor r8, rdx
xor r8, r15
add r8, rax
lea rax, [rsi*4]
xor rax, r14
mov rdx, rax
mov rax, r9
mov r9, qword [rsp + 0xa8]
xor rax, rdx
mov rdx, rsi
ror rdx, 0x15
xor rax, rdx
lea rdx, [r9 + r9]
add rax, r8
mov r8, r9
shr r8, 2
xor r8, rdx
mov rdx, r9
rol rdx, 0x13
xor rdx, r8
mov r8, r9
ror r8, 0xb
xor rdx, r8
mov r8, rdi
add rdx, rax
shr r8, 1
lea rax, [rdi*8]
xor rax, r8
mov r8, rdi
rol r8, 4
xor rax, r8
xor rax, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x58]
add rdx, rax
mov r8, rsi
mov rax, rsi
shl r8, 3
shr rax, 1
xor rax, r8
mov r8, rsi
rol r8, 4
xor r8, rax
mov rax, rsi
ror rax, 0x1b
ror r9, 0x15
xor r8, rax
lea rax, [rdx + r8]
mov rdx, qword [rsp + 8]
mov qword [rsp + 0xb8], rax
mov r8, rax
ror rax, 0x1b
mov qword [rsp + 0x158], rax
mov rax, qword [rcx + 8]
shr r8, 1
ror rdx, 0x1b
mov rsi, rdx
rol rax, 2
mov qword [rsp + 0xd0], rax
mov rax, qword [rcx + 0x20]
rol rax, 5
mov qword [rsp + 0xe0], rax
mov rax, qword [rcx + 0x58]
rol rax, 0xc
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x40]
mov rdx, rax
shl rax, 2
shr rdx, 1
xor rax, rdx
mov rdx, qword [rsp + 0x40]
rol rdx, 0xd
xor rdx, rax
mov rax, qword [rsp + 0x40]
ror rax, 0x15
xor rax, rdx
mov rdx, qword [rsp + 0x78]
shl rdx, 3
xor r11, rdx
mov rdx, qword [rsp + 0x78]
rol rdx, 4
xor rdx, r11
mov r11, qword [rsp + 0x78]
ror r11, 0x1b
xor rdx, r11
mov r11, qword [rsp + 0xd0]
add r11, qword [rsp + 0xe0]
add rdx, rax
mov rax, r11
movabs r11, 0x5aaaaaaaaaaaaaa5
add rax, r11
mov r11, qword [rsp + 0xb0]
sub rax, qword [rsp + 0xe8]
xor rax, qword [rsp + 0x108]
add rdx, rax
lea rax, [r11 + r11]
xor rax, r10
mov r10, r11
rol r10, 0x13
xor r10, rax
mov rax, r11
mov r11, qword [rsp + 0xa0]
ror rax, 0xb
xor r10, rax
add rdx, r10
lea rax, [r11*4]
mov r10, r11
shr r10, 1
xor r10, rax
mov rax, r11
rol rax, 0xd
xor rax, r10
mov r10, r11
mov r11, qword [rsp + 0x90]
ror r10, 0x15
xor rax, r10
add rax, rdx
lea rdx, [r11 + r11]
mov r10, r11
xor rdx, rbx
mov rbx, r11
ror r10, 0xb
rol rbx, 0x13
xor rbx, rdx
xor rbx, r10
mov r10, qword [rsp + 0x98]
lea rdx, [rax + rbx]
mov r11, r10
shr r11, 2
mov rbx, r11
lea r11, [r10*4]
xor rbx, r11
mov r11, r10
ror r10, 5
rol r11, 0x1c
xor r11, rbx
mov rbx, r10
xor rbx, r11
add rbx, rdx
mov rdx, qword [rsp + 0x80]
lea r10, [rdx*4]
mov r11, rdx
shr r11, 1
xor r11, r10
mov r10, rdx
rol r10, 0xd
xor r10, r11
mov r11, rdx
ror r11, 0x15
xor r11, r10
add r11, rbx
mov rbx, qword [rsp + 0x70]
lea rdx, [rbx + rbx]
mov r10, rdx
mov rdx, rbx
xor r10, rbp
mov rbp, qword [rsp + 0x50]
rol rdx, 0x13
xor rdx, r10
mov r10, rbx
ror r10, 0xb
xor r10, rdx
lea rax, [rbp*8]
mov rdx, rbp
add r10, r11
mov rbx, rax
ror rdx, 0x1b
xor rbx, r12
mov r12, rbp
rol r12, 4
mov rax, r12
mov r12, qword [rsp + 0x30]
xor rax, rbx
xor rdx, rax
add rdx, r10
lea rax, [r12 + r12]
mov rbx, r12
mov r10, r12
rol rbx, 0x13
mov rbp, rax
ror r10, 0xb
xor rbp, r13
mov r13, qword [rsp + 0x88]
mov rax, rbx
xor rax, rbp
mov rbp, qword [rsp + 0xa8]
xor rax, r10
add rax, rdx
lea r10, [r13*4]
mov rbx, r13
lea r11, [rbp*4]
shr rbx, 2
mov rdx, rbx
mov rbx, r13
rol rbx, 0x1c
xor rdx, r10
mov r10, rbx
mov rbx, r13
xor r10, rdx
ror rbx, 5
xor r10, rbx
mov rbx, qword [rsp + 8]
add r10, rax
lea rdx, [rbx*8]
xor rdx, r14
mov r14, rbx
mov rbx, rbp
shr rbx, 1
rol r14, 4
xor r11, rbx
mov rbx, rbp
mov rax, r14
rol rbx, 0xd
xor rax, rdx
mov rdx, rbx
xor rax, rsi
mov rbx, qword [rsp + 0x58]
xor rdx, r11
add rax, r10
mov r11, rdi
mov r12, qword [rsp + 0xb8]
xor rdx, r9
add rax, rdx
shr r11, 2
lea rdx, [rdi*4]
mov r14, rbx
xor r11, rdx
mov rdx, rdi
shr r14, 2
rol rdx, 0x1c
xor rdx, r11
mov r11, rdi
ror r11, 5
xor rdx, r11
mov r11, r14
mov r14, rbx
add rdx, rax
rol r14, 0x1c
lea rax, [rbx*4]
xor r11, rax
mov rax, r14
mov r14, rbx
xor rax, r11
ror r14, 5
mov rbx, r12
lea r11, [r12*8]
xor rax, r14
mov r14, qword [rcx + 0x10]
rol rbx, 4
xor r11, r8
add rax, rdx
xor r11, rbx
xor r11, qword [rsp + 0x158]
rol r14, 3
mov r10, r14
mov r14, qword [rcx + 0x28]
lea rbx, [rax + r11]
mov r11, qword [rsp + 0xb0]
mov qword [rsp + 0x108], r10
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x10], rbx
rol r14, 6
mov rbx, r14
mov r14, qword [rcx + 0x60]
add rax, r11
mov rdx, rax
mov rax, r10
movabs r10, 0x5ffffffffffffffa
add rax, rbx
rol r14, 0xd
add rax, r10
mov r10, qword [rsp + 0x40]
sub rax, r14
xor rax, qword [rsp + 0x130]
rol r10, 0x20
add rax, rdx
add rax, r10
add rax, qword [rsp + 0x90]
mov r10, r12
add rax, qword [rsp + 0x70]
add rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x30]
xor r8, r12
add rax, qword [rsp + 8]
mov r12, qword [rcx + 0x30]
add rax, r15
mov r15, rdi
add r9, rax
mov rax, qword [rsp + 0x98]
rol r12, 7
rol rax, 5
add r9, rax
mov rax, qword [rsp + 0x80]
rol rax, 0xb
add rax, r9
mov r9, rdi
mov rdi, qword [rsp + 0x10]
ror r9, 0xb
add r9, rax
mov rax, qword [rsp + 0x58]
rol rax, 0x1b
add rax, r9
add r8, rax
mov rax, rdi
shr rax, 2
xor rax, rdi
mov rdi, r12
mov r12, qword [rcx + 0x68]
add rax, r8
movabs r8, 0x655555555555554f
mov qword [rsp + 0x18], rax
rol r12, 0xe
mov r9, r12
mov r12, qword [rsp + 0x68]
mov qword [rsp + 0xa8], r9
lea rax, [r12 + rdi]
mov r12, qword [rsp + 0x40]
add rax, r8
sub rax, r9
mov r9, qword [rsp + 0x78]
xor rax, qword [rsp + 0x38]
rol r9, 5
lea r8, [rax + r12]
mov rax, r9
mov r9, rbp
add rax, r8
mov r8, r11
ror r8, 0x15
add rax, r8
add rax, qword [rsp + 0x98]
add rax, qword [rsp + 0x80]
add rax, r13
add rax, rbp
add rax, r15
add rax, qword [rsp + 0x58]
add rsi, rax
mov rax, qword [rsp + 0x70]
mov r8, qword [rsp + 0x10]
rol rax, 0xb
add rsi, rax
mov rax, qword [rsp + 0x50]
mov rbp, r8
shr rbp, 1
rol rax, 0x1b
add rsi, rax
mov rax, qword [rsp + 0x30]
rol rax, 0x20
add rax, rsi
mov rsi, r10
ror rsi, 0xb
add rsi, rax
mov rax, rbp
mov rbp, qword [rsp + 0x18]
xor rax, r8
add rax, rsi
mov rsi, rbp
shr rsi, 2
mov r8, rsi
xor r8, rbp
mov rbp, qword [rcx + 0x38]
lea rsi, [rax + r8]
movabs r8, 0x6aaaaaaaaaaaaaa4
mov qword [rsp + 0x20], rsi
mov rsi, qword [rcx + 0x70]
rol rbp, 8
rol rsi, 0xf
mov qword [rsp + 0xb0], rsi
mov rsi, qword [rsp + 0xe0]
lea rax, [rsi + rbp]
mov rsi, r12
add rax, r8
sub rax, qword [rsp + 0xb0]
mov r8, r13
xor rax, qword [rsp + 0x110]
rol r8, 0x20
add rdx, rax
mov rax, r12
mov r12, qword [rsp + 0x10]
rol rax, 0x1b
add rax, rdx
mov rdx, qword [rsp + 0x80]
add rax, qword [rsp + 0x70]
add rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x30]
add rax, qword [rsp + 8]
rol rdx, 5
add rax, rdx
mov rdx, r8
mov r8, qword [rsp + 0x20]
add rdx, rax
mov rax, r9
ror rax, 0x1b
add rdx, rax
mov rax, r15
ror rax, 0x15
ror r12, 0xb
add rax, rdx
mov rdx, qword [rsp + 0x58]
rol rdx, 0xb
add rax, rdx
mov rdx, r12
mov r12, qword [rsp + 0x18]
add rax, r10
add rdx, rax
mov rax, r12
shr rax, 1
xor rax, r12
mov r12, qword [rcx + 0x40]
add rax, rdx
mov rdx, r8
shr rdx, 2
xor rdx, r8
mov r8, qword [rcx + 0x78]
rol r12, 9
add rax, rdx
movabs rdx, 0x6ffffffffffffff9
mov qword [rsp + 0x28], rax
lea rax, [rbx + r12]
add rax, rdx
mov rdx, r11
rol r8, 0x10
ror rdx, 0x1b
sub rax, r8
xor rax, qword [rsp + 0x138]
mov qword [rsp + 0x110], r8
mov r8, r13
add rax, rsi
mov rsi, r15
add rax, rdx
add rax, qword [rsp + 0x80]
add rax, r13
mov r13, qword [rsp + 0x70]
add rax, r9
add rax, r15
add rax, qword [rsp + 0x58]
rol r13, 5
add rax, r13
mov r13, qword [rsp + 0x50]
rol r13, 0xb
mov rdx, r13
add rdx, rax
mov rax, qword [rsp + 0x30]
rol rax, 0x1b
add rdx, rax
mov rax, qword [rsp + 8]
rol rax, 0x20
add rax, rdx
mov rdx, r10
ror rdx, 0x15
add rax, rdx
add rax, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
mov r15, qword [rsp + 0x20]
ror r13, 0xb
mov rdx, r13
mov r13, qword [rsp + 0x28]
add rdx, rax
mov rax, r15
shr rax, 1
xor rax, r15
mov r15, qword [rsp + 0x40]
add rax, rdx
mov rdx, r13
shr rdx, 2
xor rdx, r13
mov r13, qword [rcx + 0x48]
add rax, rdx
rol r15, 0xb
movabs rdx, 0x755555555555554e
mov qword [rsp + 0x38], rax
rol r13, 0xa
lea rax, [rdi + r13]
add rax, rdx
sub rax, qword [rsp + 0x150]
mov rdx, r8
xor rax, qword [rsp + 0x48]
rol rdx, 0x1b
add rax, r11
add rax, r15
add rax, qword [rsp + 0x70]
mov r15, r8
add rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x30]
add rax, qword [rsp + 8]
add rax, qword [rsp + 0x148]
mov r8, qword [rsp + 0x20]
add rdx, rax
mov rax, r9
rol rax, 0x20
add rax, rdx
mov rdx, qword [rsp + 0x58]
rol rdx, 5
add rax, rdx
mov rdx, qword [rsp + 0x10]
add rax, r10
ror rdx, 0x15
ror r8, 0xb
add rax, rdx
mov rdx, r8
add rax, qword [rsp + 0x18]
mov r8, qword [rsp + 0x28]
add rdx, rax
mov rax, r8
shr rax, 1
xor rax, r8
mov r8, qword [rsp + 0x38]
add rax, rdx
movabs rdx, 0x7aaaaaaaaaaaaaa3
mov r10, r8
shr r10, 2
xor r10, r8
mov r8, r11
rol r11, 0x20
add rax, r10
mov r10, r15
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xd8]
add rax, rbp
add rax, rdx
sub rax, qword [rsp + 0xd0]
xor rax, qword [rsp + 0x60]
add rax, qword [rsp + 0x40]
add rax, r11
mov r11, qword [rsp + 0x50]
add rax, r15
add rax, r9
add rax, rsi
add rax, qword [rsp + 0x58]
rol r11, 5
mov rdx, r11
add rdx, rax
mov rax, qword [rsp + 0x30]
rol rax, 0xb
add rax, rdx
mov rdx, qword [rsp + 8]
rol rdx, 0x1b
add rax, rdx
mov rdx, qword [rsp + 0x18]
add rax, qword [rsp + 0x158]
add rax, qword [rsp + 0x10]
ror rdx, 0x15
add rax, rdx
add rax, qword [rsp + 0x20]
mov r15, qword [rsp + 0x28]
ror r15, 0xb
mov rdx, r15
add rdx, rax
mov rax, qword [rsp + 0x38]
mov r15, rax
shr r15, 1
xor r15, rax
lea rax, [rdx + r15]
mov r15, qword [rsp + 0x48]
movabs rdx, 0x7ffffffffffffff8
mov r11, r15
shr r11, 2
xor r11, r15
lea r15, [rax + r11]
mov r11, qword [rsp + 0xe8]
lea rax, [r11 + r12]
mov r11, r8
add rax, rdx
mov rdx, qword [rsp + 0x40]
sub rax, qword [rsp + 0x108]
xor rax, qword [rsp + 0x118]
rol rdx, 5
add rax, r8
mov r8, r9
add rax, rdx
add rax, qword [rsp + 0x50]
mov rdx, r10
add rax, qword [rsp + 0x30]
rol rdx, 0xb
add rax, qword [rsp + 8]
mov r10, qword [rsp + 0xb8]
add rdx, rax
mov rax, r9
mov r9, rsi
rol rax, 0x1b
rol rsi, 0x20
add rax, rdx
mov rdx, qword [rsp + 0x38]
add rax, rsi
mov rsi, qword [rsp + 0x10]
add rax, r10
ror rdx, 0xb
ror rsi, 0x1b
add rax, rsi
mov rsi, qword [rsp + 0x20]
add rax, qword [rsp + 0x18]
ror rsi, 0x15
add rax, rsi
mov rsi, qword [rsp + 0x48]
add rax, qword [rsp + 0x28]
add rdx, rax
mov rax, rsi
shr rax, 1
xor rax, rsi
mov rsi, r15
shr rsi, 2
add rax, rdx
movabs rdx, 0x855555555555554d
xor rsi, r15
add rax, rsi
mov rsi, r9
mov qword [rsp + 0x60], rax
lea rax, [r14 + r13]
add rax, rdx
sub rax, qword [rsp + 0x68]
mov rdx, r11
xor rax, qword [rsp + 0x128]
rol rdx, 0x1b
add rax, qword [rsp + 0x40]
add rax, rdx
add rax, qword [rsp + 0x88]
add rax, r8
add rax, r9
mov r9, qword [rsp + 0x30]
rol r9, 5
mov rdx, r9
mov r9, qword [rsp + 8]
add rdx, rax
mov rax, r9
rol rax, 0xb
add rax, rdx
mov rdx, r10
rol rdx, 0x20
add rax, rdx
mov rdx, qword [rsp + 0x18]
add rax, qword [rsp + 0x10]
ror rdx, 0x1b
add rax, rdx
mov rdx, qword [rsp + 0x28]
add rax, qword [rsp + 0x20]
ror rdx, 0x15
add rax, rdx
mov rdx, qword [rsp + 0x48]
add rax, qword [rsp + 0x38]
ror rdx, 0xb
add rdx, rax
mov rax, r15
shr rax, 1
xor rax, r15
add rax, rdx
mov rdx, qword [rsp + 0x60]
shr rdx, 2
xor rdx, qword [rsp + 0x60]
add rax, rdx
movabs rdx, 0x8aaaaaaaaaaaaaa2
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xd8]
add rax, qword [rsp + 0xa8]
add rax, rdx
sub rax, qword [rsp + 0xe0]
xor rax, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x88]
add rax, r11
add rax, qword [rsp + 0x30]
rol rdx, 5
add rax, r9
mov r9, r8
add rdx, rax
mov rax, r8
mov r8, qword [rsp + 0x10]
rol rax, 0xb
add rax, rdx
mov rdx, rsi
rol rdx, 0x1b
add rax, rdx
rol r8, 0x20
add rax, r10
add rax, r8
mov r8, qword [rsp + 0x20]
add rax, qword [rsp + 0x18]
ror r8, 0x1b
add rax, r8
mov r8, qword [rsp + 0x38]
add rax, qword [rsp + 0x28]
ror r8, 0x15
add rax, r8
add rax, qword [rsp + 0x48]
mov r8, r15
ror r8, 0xb
mov rdx, r8
add rdx, rax
mov rax, qword [rsp + 0x60]
mov r8, rax
shr r8, 1
xor r8, rax
lea rax, [rdx + r8]
mov rdx, qword [rsp + 0x68]
mov r8, rdx
shr r8, 2
xor r8, rdx
movabs rdx, 0x8ffffffffffffff7
add r8, rax
mov rax, qword [rsp + 0xe8]
add rax, qword [rsp + 0xb0]
add rax, rdx
mov rdx, r11
sub rax, rbx
xor rax, qword [rsp + 0x120]
rol rdx, 0xb
mov rbx, r9
add rax, rdx
add rax, qword [rsp + 0x88]
add rax, r9
mov r9, qword [rsp + 0x48]
lea rdx, [rax + rsi]
mov rax, qword [rsp + 8]
ror r9, 0x15
rol rax, 5
add rax, rdx
mov rdx, r10
rol rdx, 0x1b
add rax, rdx
mov rdx, qword [rsp + 0x18]
add rax, qword [rsp + 0x10]
rol rdx, 0x20
add rax, rdx
mov rdx, qword [rsp + 0x28]
add rax, qword [rsp + 0x20]
ror rdx, 0x1b
add rax, rdx
add rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
add rax, r9
add rax, r15
ror rdx, 0xb
add rdx, rax
mov rax, qword [rsp + 0x68]
mov r9, rax
shr r9, 1
xor r9, rax
lea rax, [rdx + r9]
mov r9, r8
movabs rdx, 0x955555555555554c
shr r9, 2
xor r9, r8
add r9, rax
mov rax, qword [rsp + 0x110]
add rax, r14
mov r14, r10
add rax, rdx
sub rax, rdi
xor rax, qword [rsp + 0xc0]
mov rdi, qword [rsp + 8]
add rax, r11
lea rdx, [rax + rdi]
mov rax, rbx
mov rdi, r15
rol rax, 5
ror rdi, 0x15
add rax, rdx
mov rdx, rsi
rol rdx, 0xb
add rax, rdx
add rax, r10
mov r10, qword [rsp + 0x10]
rol r10, 0x1b
add rax, r10
mov r10, qword [rsp + 0x20]
add rax, qword [rsp + 0x18]
rol r10, 0x20
add rax, r10
mov r10, qword [rsp + 0x38]
add rax, qword [rsp + 0x28]
ror r10, 0x1b
add rax, r10
add rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x68]
add rax, rdi
add rax, qword [rsp + 0x60]
mov rdi, r8
shr rdi, 1
ror r10, 0xb
mov rdx, rdi
mov rdi, r9
xor rdx, r8
shr rdi, 2
add r10, rax
lea rax, [r10 + rdx]
mov rdx, rdi
mov rdi, r11
xor rdx, r9
add rdx, rax
mov rax, qword [rsp + 0x150]
add rax, qword [rsp + 0xa8]
mov qword [rsp + 0xa8], rbx
mov r10, rax
movabs rax, 0x9aaaaaaaaaaaaaa1
add r10, rax
mov rax, r11
mov r11, qword [rsp + 0x60]
sub r10, rbp
xor r10, qword [rsp + 0x140]
rol rax, 5
mov rbp, qword [rsp + 0x10]
add r10, rax
mov rax, r14
ror r11, 0x15
add r10, rbx
mov rbx, qword [rsp + 0x18]
rol rax, 0xb
add r10, rsi
add r10, rax
add r10, rbp
mov rax, rbx
rol rax, 0x1b
add r10, rax
mov rax, qword [rsp + 0x28]
add r10, qword [rsp + 0x20]
rol rax, 0x20
add r10, rax
mov rax, qword [rsp + 0x48]
add r10, qword [rsp + 0x38]
ror rax, 0x1b
add r10, rax
add r10, r15
add r10, r11
add r10, qword [rsp + 0x68]
mov r11, r8
ror r11, 0xb
add r11, r10
mov r10, r9
shr r10, 1
mov rax, r10
xor rax, r9
lea r10, [r11 + rax]
mov rax, rdx
movabs r11, 0x9ffffffffffffff6
shr rax, 2
xor rax, rdx
add rax, r10
mov r10, qword [rsp + 0xd0]
add r10, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], rdi
add r10, r11
mov r11, rsi
sub r10, r12
xor r10, qword [rsp + 0xf0]
rol r11, 5
mov r12, rbp
add r10, rdi
mov rdi, qword [rsp + 0x20]
add r10, r11
mov r11, qword [rsp + 0x68]
add r10, r14
rol r12, 0xb
add r10, r12
mov r12, rbx
add r10, rbx
mov rbx, rdi
rol rbx, 0x1b
ror r11, 0x15
add r10, rbx
mov rbx, qword [rsp + 0x38]
add r10, qword [rsp + 0x28]
rol rbx, 0x20
add r10, rbx
add r10, qword [rsp + 0x48]
mov rbx, r15
ror rbx, 0x1b
add r10, rbx
add r10, qword [rsp + 0x60]
mov rbx, r9
ror rbx, 0xb
add r10, r11
mov r11, rbx
mov rbx, rax
add r10, r8
shr rbx, 2
add r11, r10
mov r10, rdx
xor rbx, rax
shr r10, 1
xor r10, rdx
add r10, r11
movabs r11, 0xa55555555555554b
add r10, rbx
mov qword [rsp + 0xc0], r10
mov r10, qword [rsp + 0x108]
add r10, qword [rsp + 0x110]
mov qword [rsp + 0xd0], rsi
mov rbx, qword [rsp + 0x60]
add r10, r11
mov r11, r14
sub r10, r13
xor r10, qword [rsp + 0x100]
rol r11, 5
mov r13, r12
add r10, rsi
mov rsi, qword [rsp + 0x28]
add r10, r11
add r10, rbp
rol r13, 0xb
add r10, r13
ror rbx, 0x1b
mov r13, rsi
add r10, rdi
rol r13, 0x1b
add r10, r13
mov r13, qword [rsp + 0x48]
add r10, qword [rsp + 0x38]
rol r13, 0x20
add r10, r13
mov r13, qword [rsp + 0xc0]
add r10, r15
add r10, rbx
add r10, qword [rsp + 0x68]
mov rbx, r8
ror rbx, 0x15
add r10, rbx
mov rbx, rdx
add r10, r9
ror rbx, 0xb
add rbx, r10
mov r10, rax
shr r10, 1
mov r11, r10
xor r11, rax
lea r10, [rbx + r11]
mov rbx, r13
shr rbx, 2
mov r11, rbx
mov rbx, r13
xor r11, r13
mov r13, rbp
add r11, r10
mov r10, r14
xor r10, rbp
mov rbp, qword [rsp + 0x60]
xor r10, r12
mov r12, qword [rsp + 0x68]
xor r10, rdi
xor r10, rsi
xor r10, qword [rsp + 0x38]
xor r10, qword [rsp + 0x48]
xor r10, r15
xor rbp, r10
xor r12, rbp
mov rdi, r12
mov r12, r14
xor rdi, r8
xor rdi, r9
xor rbp, qword [rsp + 0xc8]
shr r12, 5
xor rdi, rdx
xor rdi, rax
xor rdi, rbx
mov qword [rsp + 0xd8], rdi
mov rbx, rdi
mov rdi, qword [rcx]
xor rbx, r11
mov r14, rbx
shl r14, 5
xor rdi, r12
mov rsi, r14
mov r12, rbx
xor rsi, rdi
shr r12, 5
lea r14, [rsi + rbp]
mov rbp, qword [rsp + 0x1c0]
mov rsi, rbx
mov qword [rsp + 0xc8], r14
shr rsi, 7
mov qword [rbp], r14
mov rdi, qword [rcx + 8]
mov rbp, r13
shl rbp, 8
mov r14, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x1c0]
xor rdi, rbp
mov rbp, qword [rsp + 0x20]
xor rdi, rsi
mov rsi, qword [rsp + 0x68]
xor r14, r10
shl rbp, 5
xor rsi, r14
add rdi, rsi
mov qword [r13 + 8], rdi
mov r13, qword [rsp + 0x18]
mov qword [rsp + 0xa0], rdi
mov rdi, qword [rcx + 0x10]
shl r13, 5
xor rdi, r13
mov r13, qword [rsp + 0x1c0]
xor rdi, r12
mov r12, qword [rsp + 0x90]
xor r12, r10
mov rsi, r12
xor rsi, r8
lea r12, [rdi + rsi]
mov rsi, rbx
mov qword [rsp + 0x90], r12
shr rsi, 3
mov qword [r13 + 0x10], r12
mov rdi, qword [rcx + 0x18]
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x38]
xor rdi, rbp
mov rbp, rbx
shr rbp, 1
xor rbp, rdi
mov rdi, qword [rsp + 0x98]
xor rdi, r10
xor rdi, r9
lea rdi, [rbp + rdi]
mov qword [r13 + 0x18], rdi
xor r14, qword [rcx + 0x20]
mov rbp, r14
mov r14, qword [rsp + 0x78]
xor rbp, rsi
xor r14, r10
shr r12, 6
mov rsi, r14
xor rsi, rdx
lea r14, [rbp + rsi]
mov rbp, rbx
mov qword [r13 + 0x20], r14
xor r12, qword [rcx + 0x28]
shl rbp, 6
rol r14, 9
xor rbp, r12
mov r12, qword [rsp + 0x80]
xor r12, r10
mov rsi, r12
xor rsi, rax
lea r12, [rbp + rsi]
mov rsi, rbx
mov qword [r13 + 0x28], r12
mov r13, qword [rsp + 0x48]
shr rsi, 4
mov rbp, qword [rcx + 0x30]
shl r13, 6
xor rbp, r13
mov r13, rsi
mov rsi, qword [rsp + 0xc0]
xor r13, rbp
mov rbp, qword [rsp + 0x70]
xor rbp, r10
xor rsi, rbp
lea rbp, [r13 + rsi]
mov rsi, qword [rsp + 0x1c0]
mov r13, rbx
shr r13, 0xb
mov qword [rsi + 0x30], rbp
lea rsi, [r15*4]
xor rsi, qword [rcx + 0x38]
xor rsi, r13
mov r13, qword [rsp + 0x58]
xor r13, r10
xor r13, r11
mov r11, qword [rsp + 0x1c0]
add r13, rsi
mov rsi, qword [rsp + 0x60]
mov qword [r11 + 0x38], r13
mov r11, qword [rsp + 0x50]
xor rsi, qword [rcx + 0x40]
xor r11, r15
mov r15, r10
shl r15, 8
xor rsi, rbx
xor r11, r15
mov r15, qword [rsp + 0x1c0]
add r11, rsi
add r11, r14
mov qword [r15 + 0x40], r11
mov r15, qword [rsp + 0x68]
xor r15, qword [rcx + 0x48]
mov r11, qword [rsp + 0x40]
xor r11, qword [rsp + 0xb8]
mov rsi, r15
mov r15, r10
shr r15, 6
xor rsi, rbx
xor r11, r15
mov r15, qword [rsp + 0x1c0]
rol r12, 0xa
rol rbp, 0xb
add r11, rsi
rol r13, 0xc
add r11, r12
mov qword [r15 + 0x48], r11
xor r8, qword [rcx + 0x50]
mov r15, r10
mov r11, qword [rsp + 0x30]
shl r15, 6
xor r11, qword [rsp + 0x10]
mov r12, qword [rsp + 0x90]
xor r8, rbx
xor r11, r15
mov r15, qword [rsp + 0x1c0]
add r11, r8
mov r8, qword [rsp + 0x88]
add r11, rbp
xor r8, qword [rsp + 0x18]
mov rbp, qword [rsp + 0xc0]
mov qword [r15 + 0x50], r11
xor r9, qword [rcx + 0x58]
mov r11, r10
shl r11, 4
xor r8, r11
xor r9, rbx
add r8, r9
mov r9, r10
add r8, r13
shr r9, 3
mov qword [r15 + 0x58], r8
mov r8, qword [rsp + 8]
xor rdx, qword [rcx + 0x60]
xor r8, qword [rsp + 0x20]
xor rdx, rbx
xor r8, r9
add r8, rdx
mov rdx, qword [rsp + 0xc8]
rol rdx, 0xd
add r8, rdx
mov rdx, qword [rsp + 0xa8]
mov qword [r15 + 0x60], r8
xor rdx, qword [rsp + 0x28]
mov r8, r10
xor rax, qword [rcx + 0x68]
shr r8, 4
xor rax, rbx
xor rdx, r8
rol r12, 0xf
add rax, rdx
mov rdx, qword [rsp + 0xa0]
rol rdi, 0x10
rol rdx, 0xe
add rax, rdx
mov rdx, r10
shr r10, 2
mov qword [r15 + 0x68], rax
mov rax, qword [rsp + 0xb0]
shr rdx, 7
xor rbp, qword [rcx + 0x70]
xor rax, qword [rsp + 0x38]
xor rbx, rbp
xor rax, rdx
add rax, rbx
add rax, r12
mov qword [r15 + 0x70], rax
mov rax, qword [rsp + 0xd0]
xor rax, qword [rsp + 0x48]
xor r10, rax
mov rax, qword [rsp + 0xd8]
xor rax, qword [rcx + 0x78]
add r10, rax
add rdi, r10
mov qword [r15 + 0x78], rdi
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret