Function at 0x1400c4880
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 + 8]
mov r14, qword [rdx]
mov r15, qword [rcx]
mov rbx, qword [rcx + 0x28]
mov rdi, qword [rcx + 8]
mov r9, qword [rcx + 0x10]
mov rbp, qword [rcx + 0x18]
mov rsi, qword [rcx + 0x20]
mov qword [rsp], rax
mov qword [rsp + 0x88], rdx
mov rax, qword [rcx + 0x30]
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x10], rax
mov r10, rdx
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rdx
xor r10, r15
lea rdx, [0x1401f20e0]
lea rcx, [0x1401f18e0]
mov r11, r10
mov r8, r10
movzx r12d, r10b
mov r13, r10
shr r11, 0x20
shr r8, 0x10
shr r13, 0x38
mov qword [rsp + 0x18], rax
movzx eax, r11b
mov r11, r10
movzx r8d, r8b
shr r11, 0x30
mov rbx, qword [rdx + r8*8]
lea r8, str.U_2
xor rbx, qword [rcx + rax*8]
movzx r11d, r11b
lea rax, [0x1401f28e0]
mov r11, qword [r8 + r11*8]
xor r11, qword [rax + r12*8]
mov r12, r10
mov rax, r10
shr r12, 0x18
movzx eax, ah
movzx r12d, r12b
xor r11, rbx
mov rbx, r14
sub rbx, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + r12*8]
mov r12, r10
shr r12, 0x28
lea rax, [0x1401f28e0]
xor rbx, rdi
movzx r12d, r12b
movzx r14d, bl
mov r12, qword [rdx + r12*8]
xor r12, qword [rax + r13*8]
mov r13, rbx
shr r13, 0x10
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r11, r12
mov r12, qword [rsp]
add r11, r12
mov r12, rbx
shr r12, 0x20
lea r11, [r11 + r11*4]
movzx r12d, r12b
xor r13, qword [rcx + r12*8]
mov r12, rbx
shr r12, 0x30
movzx r12d, r12b
mov r12, qword [r8 + r12*8]
xor r12, qword [rax + r14*8]
movzx eax, bh
mov r14, rbx
shr r14, 0x38
xor r12, r13
mov r13, rbx
shr r13, 0x18
sub r11, r12
mov r12, qword [r8 + rax*8]
lea rax, [0x1401f28e0]
movzx r13d, r13b
xor r11, r9
xor r12, qword [rcx + r13*8]
mov r13, rbx
shr r13, 0x28
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r13, qword [rax + r14*8]
movzx r14d, r11b
xor r12, r13
mov r13, r11
add r12, r10
shr r13, 0x10
lea r10, [r12 + r12*4]
mov r12, r11
movzx r13d, r13b
shr r12, 0x20
mov r13, qword [rdx + r13*8]
movzx r12d, r12b
xor r13, qword [rcx + r12*8]
mov r12, r11
shr r12, 0x30
movzx r12d, r12b
mov r12, qword [r8 + r12*8]
xor r12, qword [rax + r14*8]
mov rax, r11
mov r14, r11
movzx eax, ah
shr r14, 0x38
xor r12, r13
mov r13, r11
shr r13, 0x18
sub r10, r12
mov r12, qword [r8 + rax*8]
lea rax, [0x1401f28e0]
movzx r13d, r13b
xor r10, rbp
xor r12, qword [rcx + r13*8]
mov r13, r11
shr r13, 0x28
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r13, qword [rax + r14*8]
movzx r14d, r10b
xor r12, r13
mov r13, r10
add r12, rbx
shr r13, 0x10
lea rbx, [r12 + r12*4]
mov r12, r10
movzx r13d, r13b
shr r12, 0x20
mov r13, qword [rdx + r13*8]
movzx r12d, r12b
xor r13, qword [rcx + r12*8]
mov r12, r10
shr r12, 0x30
movzx r12d, r12b
mov r12, qword [r8 + r12*8]
xor r12, qword [rax + r14*8]
mov rax, r10
mov r14, r10
movzx eax, ah
shr r14, 0x38
xor r12, r13
mov r13, r10
shr r13, 0x18
sub rbx, r12
mov r12, qword [r8 + rax*8]
lea rax, [0x1401f28e0]
movzx r13d, r13b
xor rbx, rsi
xor r12, qword [rcx + r13*8]
mov r13, r10
shr r13, 0x28
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r13, qword [rax + r14*8]
movzx r14d, bl
xor r12, r13
mov r13, rbx
add r12, r11
shr r13, 0x10
lea r11, [r12 + r12*4]
mov r12, rbx
movzx r13d, r13b
shr r12, 0x20
mov r13, qword [rdx + r13*8]
movzx r12d, r12b
xor r13, qword [rcx + r12*8]
mov r12, rbx
shr r12, 0x30
movzx r12d, r12b
mov r12, qword [r8 + r12*8]
xor r12, qword [rax + r14*8]
movzx eax, bh
mov r14, rbx
shr r14, 0x38
xor r12, r13
mov r13, rbx
shr r13, 0x18
sub r11, r12
mov r12, qword [r8 + rax*8]
lea rax, [0x1401f28e0]
movzx r13d, r13b
xor r12, qword [rcx + r13*8]
mov r13, rbx
shr r13, 0x28
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r13, qword [rax + r14*8]
mov r14, qword [rsp + 8]
xor r12, r13
xor r11, r14
add r12, r10
mov r13, r11
movzx r14d, r11b
lea r10, [r12 + r12*4]
mov r12, r11
shr r13, 0x10
shr r12, 0x20
movzx r13d, r13b
movzx r12d, r12b
mov r13, qword [rdx + r13*8]
xor r13, qword [rcx + r12*8]
mov r12, r11
shr r12, 0x30
movzx r12d, r12b
mov r12, qword [r8 + r12*8]
xor r12, qword [rax + r14*8]
mov rax, r11
mov r14, r11
movzx eax, ah
shr r14, 0x38
xor r12, r13
mov r13, r11
shr r13, 0x18
sub r10, r12
mov r12, qword [r8 + rax*8]
lea rax, [0x1401f28e0]
movzx r13d, r13b
xor r12, qword [rcx + r13*8]
mov r13, r11
shr r13, 0x28
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r13, qword [rax + r14*8]
xor r12, r13
mov r13, qword [rsp + 0x10]
add r12, rbx
lea rbx, [r12 + r12*4]
xor r10, r13
mov r13, r10
mov r12, r10
movzx r14d, r10b
shr r13, 0x10
shr r12, 0x20
movzx r12d, r12b
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r13, qword [rcx + r12*8]
mov r12, r10
shr r12, 0x30
movzx r12d, r12b
mov r12, qword [r8 + r12*8]
xor r12, qword [rax + r14*8]
mov rax, r10
mov r14, r10
movzx eax, ah
xor r12, r13
mov r13, r10
shr r14, 0x38
shr r13, 0x18
sub rbx, r12
mov r12, qword [r8 + rax*8]
lea rax, [0x1401f28e0]
movzx r13d, r13b
xor r12, qword [rcx + r13*8]
mov r13, r10
shr r13, 0x28
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r13, qword [rax + r14*8]
mov rax, qword [rsp + 0x18]
xor r12, r13
xor rbx, rax
lea rax, [0x1401f28e0]
add r12, r11
mov r13, rbx
movzx r14d, bl
lea r11, [r12 + r12*4]
mov r12, rbx
shr r13, 0x10
shr r12, 0x20
movzx r13d, r13b
movzx r12d, r12b
mov r13, qword [rdx + r13*8]
xor r13, qword [rcx + r12*8]
mov r12, rbx
shr r12, 0x30
movzx r12d, r12b
mov r12, qword [r8 + r12*8]
xor r12, qword [rax + r14*8]
movzx eax, bh
mov r14, rbx
shr r14, 0x38
xor r12, r13
mov r13, rbx
shr r13, 0x18
sub r11, r12
mov r12, qword [r8 + rax*8]
lea rax, [0x1401f28e0]
movzx r13d, r13b
xor r12, qword [rcx + r13*8]
mov r13, rbx
shr r13, 0x28
movzx r13d, r13b
mov r13, qword [rdx + r13*8]
xor r13, qword [rax + r14*8]
mov rax, qword [rsp + 0x18]
mov r14, qword [rsp + 8]
xor r12, r13
mov r13, qword [rsp + 0x10]
add r12, r10
lea r10, [r12 + r12*4]
movabs r12, 0xa5a5a5a5a5a5a5a5
xor r12, rax
sub r15, r12
xor rdi, r15
mov r12, rdi
add r9, rdi
not r12
shl r12, 0x13
xor r12, r9
sub rbp, r12
xor rsi, rbp
mov r12, rsi
add r14, rsi
not r12
shr r12, 0x17
xor r12, r14
sub r13, r12
xor rax, r13
mov r12, rax
lea rax, [r15 + rax]
mov r15, r12
mov qword [rsp + 0x18], rax
not r15
shl r15, 0x13
xor r15, rax
sub rdi, r15
xor r9, rdi
mov qword [rsp + 8], rdi
mov r15, r9
add rbp, r9
not r15
mov rdi, r15
shr rdi, 0x17
xor rdi, rbp
sub rsi, rdi
mov r15, rsi
mov rsi, r14
xor rsi, r15
lea r14, [r13 + rsi]
mov rdi, rsi
movabs rsi, 0x123456789abcdef
xor rsi, r14
sub r12, rsi
mov rsi, rax
lea rax, [0x1401f28e0]
xor rsi, r11
mov qword [rsp + 0x10], r12
mov r11, rsi
movzx r13d, sil
shr r11, 0x10
movzx r12d, r11b
mov r11, rsi
shr r11, 0x20
mov r12, qword [rdx + r12*8]
movzx r11d, r11b
xor r12, qword [rcx + r11*8]
mov r11, rsi
shr r11, 0x30
movzx r11d, r11b
mov r11, qword [r8 + r11*8]
xor r11, qword [rax + r13*8]
mov r13, rsi
mov rax, rsi
shr r13, 0x18
movzx eax, ah
xor r11, r12
movzx r12d, r13b
mov r13, rsi
shr r13, 0x28
sub r10, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + r12*8]
movzx r12d, r13b
mov r13, rsi
lea rax, [0x1401f28e0]
shr r13, 0x38
mov r12, qword [rdx + r12*8]
xor r12, qword [rax + r13*8]
xor r11, r12
add rbx, r11
lea r11, [rbx*8]
sub r11, rbx
mov rbx, qword [rsp + 8]
xor rbx, r10
mov r13, rbx
mov r10, rbx
shr r13, 0x10
shr r10, 0x20
movzx r12d, r13b
movzx r10d, r10b
movzx r13d, bl
mov r12, qword [rdx + r12*8]
xor r12, qword [rcx + r10*8]
mov r10, rbx
shr r10, 0x30
movzx r10d, r10b
mov r10, qword [r8 + r10*8]
xor r10, qword [rax + r13*8]
mov r13, rbx
movzx eax, bh
shr r13, 0x18
xor r10, r12
movzx r12d, r13b
mov r13, rbx
shr r13, 0x28
sub r11, r10
mov r10, qword [r8 + rax*8]
xor r10, qword [rcx + r12*8]
movzx r12d, r13b
mov r13, rbx
lea rax, [0x1401f28e0]
shr r13, 0x38
mov r12, qword [rdx + r12*8]
xor r11, r9
xor r12, qword [rax + r13*8]
mov r13, r11
shr r13, 0x10
xor r10, r12
movzx r12d, r13b
mov r13, r11
add rsi, r10
shr r13, 0x20
mov r12, qword [rdx + r12*8]
lea r10, [rsi*8]
sub r10, rsi
movzx esi, r13b
mov r13, r11
shr r13, 0x30
xor r12, qword [rcx + rsi*8]
movzx esi, r13b
movzx r13d, r11b
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rax + r13*8]
mov r13, r11
mov rax, r11
shr r13, 0x18
xor rsi, r12
movzx r12d, r13b
mov r13, r11
shr r13, 0x28
sub r10, rsi
movzx esi, ah
lea rax, [0x1401f28e0]
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + r12*8]
movzx r12d, r13b
mov r13, r11
shr r13, 0x38
mov r12, qword [rdx + r12*8]
xor r12, qword [rax + r13*8]
xor rsi, r12
add rsi, rbx
lea rbx, [rsi*8]
sub rbx, rsi
xor r10, rbp
mov r13, r10
shr r13, 0x10
movzx r12d, r13b
mov r13, r10
shr r13, 0x20
mov r12, qword [rdx + r12*8]
movzx esi, r13b
mov r13, r10
shr r13, 0x30
xor r12, qword [rcx + rsi*8]
movzx esi, r13b
movzx r13d, r10b
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rax + r13*8]
mov r13, r10
mov rax, r10
shr r13, 0x18
xor rsi, r12
movzx r12d, r13b
mov r13, r10
sub rbx, rsi
shr r13, 0x28
movzx esi, ah
lea rax, [0x1401f28e0]
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + r12*8]
movzx r12d, r13b
mov r13, r10
shr r13, 0x38
mov r12, qword [rdx + r12*8]
xor rbx, r15
xor r12, qword [rax + r13*8]
mov r13, rbx
shr r13, 0x10
xor rsi, r12
movzx r12d, r13b
mov r13, rbx
add rsi, r11
shr r13, 0x20
mov r12, qword [rdx + r12*8]
lea r11, [rsi*8]
sub r11, rsi
movzx esi, r13b
mov r13, rbx
shr r13, 0x30
xor r12, qword [rcx + rsi*8]
movzx esi, r13b
movzx r13d, bl
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rax + r13*8]
mov r13, rbx
shr r13, 0x18
xor rsi, r12
movzx r12d, r13b
mov r13, rbx
shr r13, 0x28
sub r11, rsi
movzx esi, bh
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + r12*8]
movzx r12d, r13b
mov r13, rbx
shr r13, 0x38
mov r12, qword [rdx + r12*8]
xor r12, qword [rax + r13*8]
xor rsi, r12
add rsi, r10
lea r10, [rsi*8]
sub r10, rsi
xor r11, rdi
mov r13, r11
shr r13, 0x10
movzx r12d, r13b
mov r13, r11
shr r13, 0x20
mov r12, qword [rdx + r12*8]
movzx esi, r13b
mov r13, r11
shr r13, 0x30
xor r12, qword [rcx + rsi*8]
movzx esi, r13b
movzx r13d, r11b
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rax + r13*8]
mov r13, r11
mov rax, r11
shr r13, 0x18
xor rsi, r12
movzx r12d, r13b
mov r13, r11
sub r10, rsi
shr r13, 0x28
movzx esi, ah
lea rax, [0x1401f28e0]
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + r12*8]
movzx r12d, r13b
mov r13, r11
shr r13, 0x38
mov r12, qword [rdx + r12*8]
xor r10, r14
xor r12, qword [rax + r13*8]
mov r13, r10
shr r13, 0x10
xor rsi, r12
movzx r12d, r13b
mov r13, r10
add rsi, rbx
shr r13, 0x20
mov r12, qword [rdx + r12*8]
lea rbx, [rsi*8]
sub rbx, rsi
movzx esi, r13b
mov r13, r10
shr r13, 0x30
xor r12, qword [rcx + rsi*8]
movzx esi, r13b
movzx r13d, r10b
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rax + r13*8]
mov r13, r10
mov rax, r10
shr r13, 0x18
xor rsi, r12
movzx r12d, r13b
mov r13, r10
shr r13, 0x28
sub rbx, rsi
movzx esi, ah
lea rax, [0x1401f28e0]
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + r12*8]
movzx r12d, r13b
mov r13, r10
shr r13, 0x38
mov r12, qword [rdx + r12*8]
xor r12, qword [rax + r13*8]
mov rax, qword [rsp + 0x10]
xor rsi, r12
add rsi, r11
lea r12, [rsi*8]
sub r12, rsi
xor rbx, rax
lea rax, [0x1401f28e0]
mov r11, rbx
movzx r13d, bl
shr r11, 0x10
movzx esi, r11b
mov r11, rbx
shr r11, 0x20
mov rsi, qword [rdx + rsi*8]
movzx r11d, r11b
xor rsi, qword [rcx + r11*8]
mov r11, rbx
shr r11, 0x30
movzx r11d, r11b
mov r11, qword [r8 + r11*8]
xor r11, qword [rax + r13*8]
mov r13, rbx
movzx eax, bh
shr r13, 0x18
xor r11, rsi
movzx esi, r13b
mov r13, rbx
shr r13, 0x28
sub r12, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + rsi*8]
movzx esi, r13b
mov r13, rbx
lea rax, [0x1401f28e0]
shr r13, 0x38
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [rax + r13*8]
mov rax, qword [rsp + 0x10]
xor r11, rsi
add r11, r10
lea r10, [r11*8]
sub r10, r11
movabs r11, 0xa5a5a5a5a5a5a5a5
xor r11, rax
mov rsi, r11
mov r11, qword [rsp + 0x18]
sub r11, rsi
mov rsi, qword [rsp + 8]
xor rsi, r11
mov r13, rsi
add r9, rsi
not r13
shl r13, 0x13
xor r13, r9
sub rbp, r13
xor r15, rbp
add rdi, r15
mov r13, r15
not r15
shr r15, 0x17
xor r15, rdi
sub r14, r15
xor rax, r14
mov r15, rax
add r11, rax
mov qword [rsp + 8], rax
lea rax, [0x1401f28e0]
not r15
shl r15, 0x13
xor r15, r11
sub rsi, r15
xor r11, r12
xor r9, rsi
mov r15, r9
add rbp, r9
not r15
shr r15, 0x17
xor r15, rbp
sub r13, r15
xor rdi, r13
mov qword [rsp + 0x10], r13
lea r15, [r14 + rdi]
mov r14, r11
shr r14, 0x10
movzx r13d, r14b
mov r14, r11
shr r14, 0x20
mov r13, qword [rdx + r13*8]
movzx r12d, r14b
mov r14, r11
shr r14, 0x30
xor r13, qword [rcx + r12*8]
movzx r12d, r14b
movzx r14d, r11b
mov r12, qword [r8 + r12*8]
xor r12, qword [rax + r14*8]
mov r14, r11
mov rax, r11
shr r14, 0x18
movzx eax, ah
xor r12, r13
movzx r13d, r14b
mov r14, r11
shr r14, 0x28
sub r10, r12
mov r12, qword [r8 + rax*8]
xor r12, qword [rcx + r13*8]
movzx r13d, r14b
mov r14, r11
lea rax, [0x1401f28e0]
shr r14, 0x38
mov r13, qword [rdx + r13*8]
xor r10, rsi
xor r13, qword [rax + r14*8]
mov rsi, r10
mov r14, r10
shr rsi, 0x10
shr r14, 0x18
xor r12, r13
movzx r13d, r10b
add r12, rbx
lea rbx, [r12 + r12*8]
movzx r12d, sil
mov rsi, r10
shr rsi, 0x20
mov r12, qword [rdx + r12*8]
movzx esi, sil
xor r12, qword [rcx + rsi*8]
mov rsi, r10
shr rsi, 0x30
movzx esi, sil
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rax + r13*8]
mov rax, r10
xor rsi, r12
movzx r12d, r14b
mov r14, r10
sub rbx, rsi
movzx esi, ah
lea rax, [0x1401f28e0]
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + r12*8]
shr r14, 0x28
xor rbx, r9
movzx r12d, r14b
mov r14, r10
mov r9, rbx
shr r14, 0x38
mov r12, qword [rdx + r12*8]
shr r9, 0x10
mov r13, rax
xor r12, qword [rax + r14*8]
movzx r9d, r9b
mov r14, rbx
mov r9, qword [rdx + r9*8]
shr r14, 0x38
xor rsi, r12
movzx r12d, bl
add rsi, r11
mov r11, rbx
shr r11, 0x20
lea rsi, [rsi + rsi*8]
movzx r11d, r11b
xor r9, qword [rcx + r11*8]
mov r11, rbx
shr r11, 0x30
movzx r11d, r11b
mov r11, qword [r8 + r11*8]
xor r11, qword [rax + r12*8]
movzx eax, bh
xor r11, r9
sub rsi, r11
mov r11, qword [r8 + rax*8]
mov r9, rsi
mov rsi, rbx
shr rsi, 0x18
xor r9, rbp
movzx esi, sil
movzx ebp, r9b
mov rax, r9
xor r11, qword [rcx + rsi*8]
mov rsi, rbx
movzx eax, ah
shr rsi, 0x28
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [r13 + r14*8]
mov r14, r13
xor r11, rsi
mov rsi, r9
add r11, r10
shr rsi, 0x10
lea r10, [r11 + r11*8]
mov r11, r9
movzx esi, sil
shr r11, 0x20
mov rsi, qword [rdx + rsi*8]
movzx r11d, r11b
xor rsi, qword [rcx + r11*8]
mov r11, r9
shr r11, 0x30
movzx r11d, r11b
mov r11, qword [r8 + r11*8]
xor r11, qword [r13 + rbp*8]
mov rbp, r9
shr rbp, 0x38
xor r11, rsi
mov rsi, r9
shr rsi, 0x18
sub r10, r11
mov r11, qword [r8 + rax*8]
movzx esi, sil
xor r11, qword [rcx + rsi*8]
mov rsi, r9
shr rsi, 0x28
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [r13 + rbp*8]
mov r13, qword [rsp + 0x10]
xor r10, r13
xor r11, rsi
mov rbp, r10
mov rsi, r10
add r11, rbx
mov rax, r10
shr rbp, 0x20
shr rsi, 0x10
lea r11, [r11 + r11*8]
movzx ebx, bpl
mov rbp, r10
movzx esi, sil
shr rbp, 0x30
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [rcx + rbx*8]
movzx ebx, bpl
movzx ebp, r10b
mov rbx, qword [r8 + rbx*8]
xor rbx, qword [r14 + rbp*8]
mov rbp, r10
shr rbp, 0x38
xor rbx, rsi
mov rsi, r10
shr rsi, 0x18
sub r11, rbx
movzx ebx, ah
movzx esi, sil
mov rbx, qword [r8 + rbx*8]
xor r11, rdi
xor rbx, qword [rcx + rsi*8]
mov rsi, r10
movzx edi, r11b
mov rax, r11
shr rsi, 0x28
movzx eax, ah
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [r14 + rbp*8]
xor rbx, rsi
mov rsi, r11
add rbx, r9
mov r9, r11
shr rsi, 0x10
shr r9, 0x20
movzx esi, sil
lea rbx, [rbx + rbx*8]
movzx r9d, r9b
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [rcx + r9*8]
mov r9, r11
shr r9, 0x30
movzx r9d, r9b
mov r9, qword [r8 + r9*8]
xor r9, qword [r14 + rdi*8]
mov rdi, r11
shr rdi, 0x38
xor r9, rsi
mov rsi, r11
shr rsi, 0x18
sub rbx, r9
mov r9, qword [r8 + rax*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
mov rsi, r11
shr rsi, 0x28
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [r14 + rdi*8]
xor r9, rsi
add r9, r10
xor rbx, r15
lea r10, [r9 + r9*8]
mov rsi, rbx
mov r9, rbx
movzx edi, bl
shr rsi, 0x10
shr r9, 0x20
movzx eax, bh
movzx r9d, r9b
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [rcx + r9*8]
mov r9, rbx
shr r9, 0x30
movzx r9d, r9b
mov r9, qword [r8 + r9*8]
xor r9, qword [r14 + rdi*8]
mov rdi, rbx
shr rdi, 0x38
xor r9, rsi
mov rsi, rbx
shr rsi, 0x18
sub r10, r9
mov r9, qword [r8 + rax*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
mov rsi, rbx
shr rsi, 0x28
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [r14 + rdi*8]
movabs rdi, 0x123456789abcdef
xor r15, rdi
xor r9, rsi
add r9, r11
mov r11, qword [rsp + 8]
sub r11, r15
xor r10, r11
mov r11, r10
mov rsi, r10
movzx edi, r10b
mov rax, r10
shr r11, 0x10
shr rsi, 0x20
movzx esi, sil
movzx r11d, r11b
mov r11, qword [rdx + r11*8]
xor r11, qword [rcx + rsi*8]
mov rsi, r10
shr rsi, 0x30
movzx esi, sil
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [r14 + rdi*8]
movzx edi, ah
mov r8, qword [r8 + rdi*8]
mov r12, qword [rsp]
mov rdi, qword [rsp + 0x88]
xor r11, rsi
mov rsi, r10
shr rsi, 0x18
movzx esi, sil
xor r8, qword [rcx + rsi*8]
mov rsi, r10
shr rsi, 0x38
mov rcx, r8
mov r8, r10
shr r8, 0x28
movzx r8d, r8b
mov rax, qword [rdx + r8*8]
xor rax, qword [r14 + rsi*8]
mov rdx, qword [rsp + 0x28]
xor rax, rcx
add rax, rbx
mov rbx, qword [rsp + 0x20]
lea rax, [rax + rax*8]
xor rax, rbx
sub r10, r12
vmovq xmm1, rax
mov rax, qword [rsp + 0x88]
vpinsrq xmm0, xmm1, r10, 1
vmovdqu xmmword [rax], xmm0
lea rax, [r9 + r9*8]
add rax, rdx
sub rax, r11
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