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