Function at 0x14005aef0
Capabilities:
Hash data using murmur3

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