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