Function at 0x140219ba0
Capabilities:
Hash data using tiger

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rdx]
mov r13, qword [rdx + 8]
mov r15, qword [rcx]
mov rbx, qword [rcx + 0x28]
mov r14, qword [rcx + 0x38]
mov rdi, qword [rcx + 8]
mov r10, qword [rcx + 0x10]
mov rbp, qword [rcx + 0x18]
mov qword [rsp + 0x88], rdx
mov rdx, qword [rdx + 0x10]
mov qword [rsp], rbx
mov rbx, qword [rcx + 0x30]
mov r12, rdx
mov rsi, qword [rcx + 0x20]
mov qword [rsp + 0x20], rdx
lea rcx, [0x1402fde00]
xor r12, r15
mov qword [rsp + 8], rbx
lea rbx, [0x1402fe600]
mov r8, r12
mov r9, r12
mov r11, r12
mov qword [rsp + 0x10], rax
shr r9, 0x20
shr r8, 0x10
mov qword [rsp + 0x18], r13
movzx edx, r9b
movzx r8d, r8b
shr r11, 0x30
mov r9, qword [rbx + r8*8]
movzx r8d, r12b
xor r9, qword [rcx + rdx*8]
movzx r11d, r11b
lea rdx, [0x1402fee00]
mov rbx, rax
mov rax, r12
xor r9, qword [rdx + r8*8]
lea r8, [0x1402fd600]
movzx eax, ah
xor r9, qword [r8 + r11*8]
mov r11, r12
shr r11, 0x18
sub rbx, r9
mov r9, qword [r8 + rax*8]
lea rax, [0x1402fe600]
movzx r11d, r11b
xor rbx, rdi
xor r9, qword [rcx + r11*8]
mov r11, r12
shr r11, 0x38
xor r9, qword [rdx + r11*8]
mov r11, r12
shr r11, 0x28
movzx r11d, r11b
xor r9, qword [rax + r11*8]
mov rax, rbx
add r9, r13
shr rax, 0x20
lea r11, [r9 + r9*4]
mov r9, rbx
movzx r13d, al
shr r9, 0x10
lea rax, [0x1402fe600]
movzx r9d, r9b
mov r9, qword [rax + r9*8]
mov rax, rbx
xor r9, qword [rcx + r13*8]
movzx r13d, bl
shr rax, 0x30
xor r9, qword [rdx + r13*8]
movzx r13d, al
movzx eax, bh
xor r9, qword [r8 + r13*8]
sub r11, r9
mov r9, rax
mov rax, rbx
shr rax, 0x18
mov r9, qword [r8 + r9*8]
xor r11, r10
movzx r13d, al
mov rax, rbx
shr rax, 0x38
xor r9, qword [rcx + r13*8]
xor r9, qword [rdx + rax*8]
mov rax, rbx
shr rax, 0x28
movzx r13d, al
lea rax, [0x1402fe600]
xor r9, qword [rax + r13*8]
mov rax, r11
add r9, r12
mov r12, r11
shr r12, 0x10
shr rax, 0x20
lea r9, [r9 + r9*4]
movzx r13d, al
movzx r12d, r12b
lea rax, [0x1402fe600]
mov r12, qword [rax + r12*8]
mov rax, r11
xor r12, qword [rcx + r13*8]
movzx r13d, r11b
shr rax, 0x30
xor r12, qword [rdx + r13*8]
movzx r13d, al
mov rax, r11
xor r12, qword [r8 + r13*8]
movzx eax, ah
sub r9, r12
mov r12, rax
mov rax, r11
shr rax, 0x18
mov r12, qword [r8 + r12*8]
xor r9, rbp
movzx r13d, al
mov rax, r11
shr rax, 0x38
xor r12, qword [rcx + r13*8]
xor r12, qword [rdx + rax*8]
mov rax, r11
shr rax, 0x28
movzx r13d, al
lea rax, [0x1402fe600]
xor r12, qword [rax + r13*8]
mov rax, r9
add r12, rbx
shr rax, 0x20
lea rbx, [r12 + r12*4]
mov r12, r9
movzx r13d, al
shr r12, 0x10
lea rax, [0x1402fe600]
movzx r12d, r12b
mov r12, qword [rax + r12*8]
mov rax, r9
xor r12, qword [rcx + r13*8]
movzx r13d, r9b
shr rax, 0x30
xor r12, qword [rdx + r13*8]
movzx r13d, al
mov rax, r9
xor r12, qword [r8 + r13*8]
movzx eax, ah
sub rbx, r12
mov r12, rax
mov rax, r9
shr rax, 0x18
mov r12, qword [r8 + r12*8]
xor rbx, rsi
movzx r13d, al
mov rax, r9
shr rax, 0x38
xor r12, qword [rcx + r13*8]
xor r12, qword [rdx + rax*8]
mov rax, r9
shr rax, 0x28
movzx r13d, al
lea rax, [0x1402fe600]
xor r12, qword [rax + r13*8]
mov rax, rbx
add r12, r11
shr rax, 0x20
lea r11, [r12 + r12*4]
mov r12, rbx
movzx r13d, al
shr r12, 0x10
lea rax, [0x1402fe600]
movzx r12d, r12b
mov r12, qword [rax + r12*8]
mov rax, rbx
xor r12, qword [rcx + r13*8]
movzx r13d, bl
xor r12, qword [rdx + r13*8]
shr rax, 0x30
movzx r13d, al
movzx eax, bh
xor r12, qword [r8 + r13*8]
sub r11, r12
mov r12, rax
mov rax, rbx
shr rax, 0x18
mov r12, qword [r8 + r12*8]
movzx r13d, al
mov rax, rbx
shr rax, 0x38
xor r12, qword [rcx + r13*8]
xor r12, qword [rdx + rax*8]
mov rax, rbx
shr rax, 0x28
movzx r13d, al
lea rax, [0x1402fe600]
xor r12, qword [rax + r13*8]
mov rax, qword [rsp]
add r12, r9
xor r11, rax
lea r9, [r12 + r12*4]
mov rax, r11
mov r12, r11
shr rax, 0x20
shr r12, 0x10
movzx r13d, al
movzx r12d, r12b
lea rax, [0x1402fe600]
mov r12, qword [rax + r12*8]
mov rax, r11
xor r12, qword [rcx + r13*8]
movzx r13d, r11b
shr rax, 0x30
xor r12, qword [rdx + r13*8]
movzx r13d, al
mov rax, r11
xor r12, qword [r8 + r13*8]
movzx eax, ah
sub r9, r12
mov r12, rax
mov rax, r11
shr rax, 0x18
mov r12, qword [r8 + r12*8]
movzx r13d, al
mov rax, r11
shr rax, 0x38
xor r12, qword [rcx + r13*8]
xor r12, qword [rdx + rax*8]
mov rax, r11
shr rax, 0x28
movzx r13d, al
lea rax, [0x1402fe600]
xor r12, qword [rax + r13*8]
mov r13, qword [rsp + 8]
add r12, rbx
xor r9, r13
lea rbx, [r12 + r12*4]
mov rax, r9
mov r12, r9
shr rax, 0x20
shr r12, 0x10
movzx r13d, al
movzx r12d, r12b
lea rax, [0x1402fe600]
mov r12, qword [rax + r12*8]
mov rax, r9
xor r12, qword [rcx + r13*8]
movzx r13d, r9b
shr rax, 0x30
xor r12, qword [rdx + r13*8]
movzx r13d, al
mov rax, r9
xor r12, qword [r8 + r13*8]
movzx eax, ah
sub rbx, r12
mov r12, rax
mov rax, r9
shr rax, 0x18
mov r12, qword [r8 + r12*8]
xor rbx, r14
movzx r13d, al
mov rax, r9
shr rax, 0x38
xor r12, qword [rcx + r13*8]
xor r12, qword [rdx + rax*8]
mov rax, r9
shr rax, 0x28
movzx r13d, al
lea rax, [0x1402fe600]
xor r12, qword [rax + r13*8]
mov rax, rbx
add r12, r11
shr rax, 0x20
lea r11, [r12 + r12*4]
mov r12, rbx
movzx r13d, al
shr r12, 0x10
lea rax, [0x1402fe600]
movzx r12d, r12b
mov r12, qword [rax + r12*8]
mov rax, rbx
xor r12, qword [rcx + r13*8]
movzx r13d, bl
shr rax, 0x30
xor r12, qword [rdx + r13*8]
movzx r13d, al
movzx eax, bh
xor r12, qword [r8 + r13*8]
sub r11, r12
mov r12, rax
mov rax, rbx
shr rax, 0x18
mov r12, qword [r8 + r12*8]
movzx r13d, al
mov rax, rbx
shr rax, 0x38
xor r12, qword [rcx + r13*8]
xor r12, qword [rdx + rax*8]
mov rax, rbx
shr rax, 0x28
movzx r13d, al
lea rax, [0x1402fe600]
xor r12, qword [rax + r13*8]
mov r13, qword [rsp + 8]
add r12, r9
lea r9, [r12 + r12*4]
movabs r12, 0xa5a5a5a5a5a5a5a5
xor r12, r14
mov qword [rsp + 0x28], r9
mov r9, qword [rsp]
sub r15, r12
xor rdi, r15
mov r12, rdi
add r10, rdi
not r12
shl r12, 0x13
xor r12, r10
sub rbp, r12
xor rsi, rbp
mov r12, rsi
add r9, rsi
not r12
shr r12, 0x17
xor r12, r9
sub r13, r12
xor r14, r13
lea rax, [r15 + r14]
mov r15, r14
mov r12, r14
not r15
xor r11, rax
mov qword [rsp + 8], rax
shl r15, 0x13
xor r15, rax
lea rax, [0x1402fe600]
sub rdi, r15
xor r10, rdi
mov qword [rsp], rdi
mov r14, r10
lea r15, [rbp + r10]
mov rbp, r11
not r14
shr rbp, 0x20
mov rdi, r14
movzx ebp, bpl
shr rdi, 0x17
xor rdi, r15
sub rsi, rdi
mov r14, rsi
mov rsi, r9
mov r9, qword [rsp + 0x28]
xor rsi, r14
add r13, rsi
mov rdi, rsi
movabs rsi, 0x123456789abcdef
xor rsi, r13
sub r12, rsi
mov rsi, r11
shr rsi, 0x10
movzx esi, sil
mov rsi, qword [rax + rsi*8]
xor rsi, qword [rcx + rbp*8]
movzx ebp, r11b
mov rax, r11
xor rsi, qword [rdx + rbp*8]
mov rbp, r11
shr rbp, 0x30
movzx ebp, bpl
xor rsi, qword [r8 + rbp*8]
mov rbp, r11
shr rbp, 0x18
sub r9, rsi
movzx esi, ah
movzx ebp, bpl
mov rsi, qword [r8 + rsi*8]
lea rax, [0x1402fe600]
xor rsi, qword [rcx + rbp*8]
mov rbp, r11
shr rbp, 0x38
xor rsi, qword [rdx + rbp*8]
mov rbp, r11
shr rbp, 0x28
movzx ebp, bpl
xor rsi, qword [rax + rbp*8]
mov rax, qword [rsp]
add rbx, rsi
lea rsi, [rbx*8]
sub rsi, rbx
xor r9, rax
lea rax, [0x1402fe600]
mov rbx, r9
mov rbp, r9
shr rbx, 0x10
shr rbp, 0x20
movzx ebp, bpl
movzx ebx, bl
mov rbx, qword [rax + rbx*8]
xor rbx, qword [rcx + rbp*8]
movzx ebp, r9b
mov rax, r9
xor rbx, qword [rdx + rbp*8]
mov rbp, r9
shr rbp, 0x30
movzx ebp, bpl
xor rbx, qword [r8 + rbp*8]
mov rbp, r9
shr rbp, 0x18
sub rsi, rbx
movzx ebx, ah
movzx ebp, bpl
mov rbx, qword [r8 + rbx*8]
lea rax, [0x1402fe600]
xor rsi, r10
xor rbx, qword [rcx + rbp*8]
mov rbp, r9
shr rbp, 0x38
xor rbx, qword [rdx + rbp*8]
mov rbp, r9
shr rbp, 0x28
movzx ebp, bpl
xor rbx, qword [rax + rbp*8]
mov rbp, rsi
add r11, rbx
shr rbp, 0x20
lea rbx, [r11*8]
movzx ebp, bpl
sub rbx, r11
mov r11, rsi
shr r11, 0x10
movzx r11d, r11b
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + rbp*8]
movzx ebp, sil
mov rax, rsi
xor r11, qword [rdx + rbp*8]
mov rbp, rsi
movzx eax, ah
shr rbp, 0x30
movzx ebp, bpl
xor r11, qword [r8 + rbp*8]
mov rbp, rsi
shr rbp, 0x18
sub rbx, r11
mov r11, qword [r8 + rax*8]
lea rax, [0x1402fe600]
movzx ebp, bpl
xor r11, qword [rcx + rbp*8]
mov rbp, rsi
shr rbp, 0x38
xor r11, qword [rdx + rbp*8]
mov rbp, rsi
shr rbp, 0x28
movzx ebp, bpl
xor r11, qword [rax + rbp*8]
add r9, r11
lea r11, [r9*8]
sub r11, r9
xor rbx, r15
mov r9, rbx
mov rbp, rbx
shr r9, 0x10
shr rbp, 0x20
movzx ebp, bpl
movzx r9d, r9b
mov r9, qword [rax + r9*8]
xor r9, qword [rcx + rbp*8]
movzx ebp, bl
movzx eax, bh
xor r9, qword [rdx + rbp*8]
mov rbp, rbx
shr rbp, 0x30
movzx ebp, bpl
xor r9, qword [r8 + rbp*8]
mov rbp, rbx
shr rbp, 0x18
sub r11, r9
mov r9, qword [r8 + rax*8]
lea rax, [0x1402fe600]
movzx ebp, bpl
xor r11, r14
xor r9, qword [rcx + rbp*8]
mov rbp, rbx
shr rbp, 0x38
xor r9, qword [rdx + rbp*8]
mov rbp, rbx
shr rbp, 0x28
movzx ebp, bpl
xor r9, qword [rax + rbp*8]
mov rbp, r11
add rsi, r9
shr rbp, 0x20
lea r9, [rsi*8]
movzx ebp, bpl
sub r9, rsi
mov rsi, r11
shr rsi, 0x10
movzx esi, sil
mov rsi, qword [rax + rsi*8]
xor rsi, qword [rcx + rbp*8]
movzx ebp, r11b
mov rax, r11
xor rsi, qword [rdx + rbp*8]
mov rbp, r11
shr rbp, 0x30
movzx ebp, bpl
xor rsi, qword [r8 + rbp*8]
mov rbp, r11
shr rbp, 0x18
sub r9, rsi
movzx esi, ah
movzx ebp, bpl
mov rsi, qword [r8 + rsi*8]
lea rax, [0x1402fe600]
xor rsi, qword [rcx + rbp*8]
mov rbp, r11
shr rbp, 0x38
xor rsi, qword [rdx + rbp*8]
mov rbp, r11
shr rbp, 0x28
movzx ebp, bpl
xor rsi, qword [rax + rbp*8]
add rsi, rbx
lea rbx, [rsi*8]
sub rbx, rsi
xor r9, rdi
mov rsi, r9
mov rbp, r9
shr rsi, 0x10
shr rbp, 0x20
movzx ebp, bpl
movzx esi, sil
mov rsi, qword [rax + rsi*8]
xor rsi, qword [rcx + rbp*8]
movzx ebp, r9b
mov rax, r9
xor rsi, qword [rdx + rbp*8]
mov rbp, r9
shr rbp, 0x30
movzx ebp, bpl
xor rsi, qword [r8 + rbp*8]
mov rbp, r9
shr rbp, 0x18
sub rbx, rsi
movzx esi, ah
movzx ebp, bpl
mov rsi, qword [r8 + rsi*8]
lea rax, [0x1402fe600]
xor rbx, r13
xor rsi, qword [rcx + rbp*8]
mov rbp, r9
shr rbp, 0x38
xor rsi, qword [rdx + rbp*8]
mov rbp, r9
shr rbp, 0x28
movzx ebp, bpl
xor rsi, qword [rax + rbp*8]
mov rbp, rbx
add r11, rsi
shr rbp, 0x20
lea rsi, [r11*8]
movzx ebp, bpl
sub rsi, r11
mov r11, rbx
shr r11, 0x10
movzx r11d, r11b
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + rbp*8]
movzx ebp, bl
movzx eax, bh
xor r11, qword [rdx + rbp*8]
mov rbp, rbx
shr rbp, 0x30
movzx ebp, bpl
xor r11, qword [r8 + rbp*8]
mov rbp, rbx
shr rbp, 0x18
sub rsi, r11
mov r11, qword [r8 + rax*8]
lea rax, [0x1402fe600]
movzx ebp, bpl
xor r11, qword [rcx + rbp*8]
mov rbp, rbx
shr rbp, 0x38
xor r11, qword [rdx + rbp*8]
mov rbp, rbx
shr rbp, 0x28
movzx ebp, bpl
xor r11, qword [rax + rbp*8]
add r11, r9
lea rbp, [r11*8]
sub rbp, r11
xor rsi, r12
mov r9, rsi
mov r11, rsi
shr r9, 0x10
shr r11, 0x20
movzx r11d, r11b
movzx r9d, r9b
mov r9, qword [rax + r9*8]
xor r9, qword [rcx + r11*8]
movzx r11d, sil
mov rax, rsi
xor r9, qword [rdx + r11*8]
mov r11, rsi
movzx eax, ah
shr r11, 0x30
movzx r11d, r11b
xor r9, qword [r8 + r11*8]
mov r11, rsi
shr r11, 0x18
sub rbp, r9
mov r9, qword [r8 + rax*8]
lea rax, [0x1402fe600]
movzx r11d, r11b
mov qword [rsp + 0x28], rbp
mov rbp, qword [rsp]
xor r9, qword [rcx + r11*8]
mov r11, rsi
shr r11, 0x38
xor r9, qword [rdx + r11*8]
mov r11, rsi
shr r11, 0x28
movzx r11d, r11b
xor r9, qword [rax + r11*8]
add r9, rbx
mov rbx, qword [rsp + 8]
lea r11, [r9*8]
sub r11, r9
movabs r9, 0xa5a5a5a5a5a5a5a5
xor r9, r12
sub rbx, r9
xor rbp, rbx
mov r9, rbp
add r10, rbp
not r9
shl r9, 0x13
xor r9, r10
sub r15, r9
xor r14, r15
mov rax, r15
mov r9, r14
add rdi, r14
not r9
mov qword [rsp], rdi
shr r9, 0x17
xor r9, rdi
mov rdi, r13
sub rdi, r9
mov r9, r12
xor r9, rdi
mov r15, r9
add rbx, r9
not r15
shl r15, 0x13
xor r15, rbx
sub rbp, r15
xor r10, rbp
lea r13, [rax + r10]
mov rax, r10
not rax
mov r15, rax
lea rax, [0x1402fe600]
shr r15, 0x17
xor r15, r13
sub r14, r15
mov r15, qword [rsp]
mov qword [rsp], r14
xor r15, r14
add rdi, r15
mov r12, r15
mov r15, qword [rsp + 0x28]
xor rbx, r15
mov r15, rbx
shr r15, 0x10
movzx r14d, r15b
mov r15, rbx
shr r15, 0x20
mov r14, qword [rax + r14*8]
movzx eax, bh
movzx r15d, r15b
xor r14, qword [rcx + r15*8]
movzx r15d, bl
xor r14, qword [rdx + r15*8]
mov r15, rbx
shr r15, 0x30
movzx r15d, r15b
xor r14, qword [r8 + r15*8]
mov r15, rbx
shr r15, 0x18
sub r11, r14
mov r14, qword [r8 + rax*8]
lea rax, [0x1402fe600]
movzx r15d, r15b
xor r11, rbp
xor r14, qword [rcx + r15*8]
mov r15, rbx
mov rbp, r11
shr r15, 0x38
shr rbp, 0x10
xor r14, qword [rdx + r15*8]
mov r15, rbx
movzx ebp, bpl
shr r15, 0x28
mov rbp, qword [rax + rbp*8]
movzx r15d, r15b
xor r14, qword [rax + r15*8]
mov r15, r11
mov rax, r11
add r14, rsi
shr r15, 0x20
lea rsi, [r14 + r14*8]
movzx r14d, r15b
mov r15, r11
xor rbp, qword [rcx + r14*8]
shr r15, 0x30
movzx r14d, r11b
xor rbp, qword [rdx + r14*8]
movzx r14d, r15b
mov r15, r11
xor rbp, qword [r8 + r14*8]
shr r15, 0x18
sub rsi, rbp
movzx r14d, r15b
movzx ebp, ah
mov r15, r11
mov rbp, qword [r8 + rbp*8]
xor rbp, qword [rcx + r14*8]
shr r15, 0x38
lea rax, [0x1402fe600]
xor rbp, qword [rdx + r15*8]
mov r15, r11
xor rsi, r10
shr r15, 0x28
mov r10, rsi
movzx r14d, r15b
shr r10, 0x20
xor rbp, qword [rax + r14*8]
movzx r10d, r10b
mov r14, rax
add rbp, rbx
lea rbx, [rbp + rbp*8]
mov rbp, rsi
shr rbp, 0x10
movzx ebp, bpl
mov rbp, qword [rax + rbp*8]
xor rbp, qword [rcx + r10*8]
movzx r10d, sil
mov rax, rsi
xor rbp, qword [rdx + r10*8]
mov r10, rsi
shr r10, 0x30
movzx r10d, r10b
xor rbp, qword [r8 + r10*8]
mov r10, rbx
movzx ebx, ah
sub r10, rbp
mov rbp, rsi
mov rbx, qword [r8 + rbx*8]
shr rbp, 0x18
xor r10, r13
movzx ebp, bpl
mov rax, r10
xor rbx, qword [rcx + rbp*8]
mov rbp, rsi
shr rbp, 0x38
xor rbx, qword [rdx + rbp*8]
mov rbp, rsi
shr rbp, 0x28
movzx ebp, bpl
xor rbx, qword [r14 + rbp*8]
mov rbp, r10
add rbx, r11
shr rbp, 0x20
lea r11, [rbx + rbx*8]
mov rbx, r10
movzx ebp, bpl
shr rbx, 0x10
movzx ebx, bl
mov rbx, qword [r14 + rbx*8]
xor rbx, qword [rcx + rbp*8]
movzx ebp, r10b
xor rbx, qword [rdx + rbp*8]
mov rbp, r10
shr rbp, 0x30
movzx ebp, bpl
xor rbx, qword [r8 + rbp*8]
mov rbp, r10
shr rbp, 0x18
sub r11, rbx
movzx ebx, ah
mov rax, r14
movzx ebp, bpl
mov rbx, qword [r8 + rbx*8]
xor rbx, qword [rcx + rbp*8]
mov rbp, r10
shr rbp, 0x38
xor rbx, qword [rdx + rbp*8]
mov rbp, r10
shr rbp, 0x28
movzx ebp, bpl
xor rbx, qword [r14 + rbp*8]
mov r14, qword [rsp]
add rbx, rsi
xor r11, r14
lea rbx, [rbx + rbx*8]
mov r14, rax
mov rsi, r11
mov rbp, r11
shr rsi, 0x10
shr rbp, 0x20
movzx ebp, bpl
movzx esi, sil
mov rsi, qword [rax + rsi*8]
xor rsi, qword [rcx + rbp*8]
movzx ebp, r11b
mov rax, r11
xor rsi, qword [rdx + rbp*8]
mov rbp, r11
shr rbp, 0x30
movzx ebp, bpl
xor rsi, qword [r8 + rbp*8]
mov rbp, r11
shr rbp, 0x18
sub rbx, rsi
movzx esi, ah
mov rax, r14
movzx ebp, bpl
mov rsi, qword [r8 + rsi*8]
xor rbx, r12
xor rsi, qword [rcx + rbp*8]
mov rbp, r11
shr rbp, 0x38
xor rsi, qword [rdx + rbp*8]
mov rbp, r11
shr rbp, 0x28
movzx ebp, bpl
xor rsi, qword [r14 + rbp*8]
mov rbp, rbx
add rsi, r10
shr rbp, 0x20
lea r10, [rsi + rsi*8]
mov rsi, rbx
movzx ebp, bpl
shr rsi, 0x10
movzx esi, sil
mov rsi, qword [r14 + rsi*8]
xor rsi, qword [rcx + rbp*8]
movzx ebp, bl
xor rsi, qword [rdx + rbp*8]
mov rbp, rbx
shr rbp, 0x30
movzx ebp, bpl
xor rsi, qword [r8 + rbp*8]
mov rbp, rbx
shr rbp, 0x18
sub r10, rsi
movzx esi, bh
movzx ebp, bpl
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + rbp*8]
mov rbp, rbx
shr rbp, 0x38
xor rsi, qword [rdx + rbp*8]
mov rbp, rbx
shr rbp, 0x28
movzx ebp, bpl
xor rsi, qword [r14 + rbp*8]
add rsi, r11
xor r10, rdi
mov r14, r10
mov rbp, r10
lea rsi, [rsi + rsi*8]
shr r14, 0x10
shr rbp, 0x20
movzx r11d, r14b
movzx ebp, bpl
mov r14, rax
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + rbp*8]
movzx ebp, r10b
mov rax, r10
xor r11, qword [rdx + rbp*8]
mov rbp, r10
movzx eax, ah
shr rbp, 0x30
movzx ebp, bpl
xor r11, qword [r8 + rbp*8]
mov rbp, r10
shr rbp, 0x18
sub rsi, r11
mov r11, qword [r8 + rax*8]
mov rax, r14
movzx ebp, bpl
xor r11, qword [rcx + rbp*8]
mov rbp, r10
shr rbp, 0x38
xor r11, qword [rdx + rbp*8]
mov rbp, r10
shr rbp, 0x28
movzx ebp, bpl
xor r11, qword [r14 + rbp*8]
movabs r14, 0x123456789abcdef
xor rdi, r14
add r11, rbx
sub r9, rdi
xor r9, rsi
mov rbx, r9
shr r9, 0x10
mov rsi, rbx
movzx r9d, r9b
movzx edi, bh
shr rsi, 0x20
mov r9, qword [rax + r9*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
movzx esi, bl
xor r9, qword [rdx + rsi*8]
mov rsi, rbx
shr rsi, 0x30
movzx esi, sil
xor r9, qword [r8 + rsi*8]
mov rsi, rbx
mov r8, qword [r8 + rdi*8]
shr rsi, 0x18
movzx esi, sil
xor r8, qword [rcx + rsi*8]
mov rcx, r8
mov r8, rbx
shr r8, 0x38
xor rcx, qword [rdx + r8*8]
mov rdi, qword [rsp + 0x10]
mov rdx, rcx
mov rcx, rbx
mov r13, qword [rsp + 0x18]
shr rcx, 0x28
movzx ecx, cl
mov rax, qword [rax + rcx*8]
xor rax, rdx
mov rdx, qword [rsp + 0x20]
add rax, r10
lea rax, [rax + rax*8]
xor rax, rdi
mov rdi, qword [rsp + 0x88]
sub rbx, r13
mov qword [rdi], rax
lea rax, [r11 + r11*8]
add rax, rdx
mov qword [rdi + 8], rbx
sub rax, r9
mov qword [rdi + 0x10], rax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret