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