Function at 0x140270600
Capabilities:
Hash data using tiger

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x18
vmovq xmm4, qword [rcx]
mov r12, qword [rcx + 0x38]
vmovq xmm5, qword [rcx + 8]
vmovq xmm3, qword [rcx + 0x10]
vmovq xmm1, qword [rcx + 0x18]
mov rdi, qword [rcx + 0x28]
mov r11, qword [rcx + 0x20]
mov r13, qword [rcx + 0x30]
lea rcx, [0x140371a80]
mov rbp, rdx
mov r15, qword [rbp]
vmovq rbx, xmm4
xor rbx, qword [rdx + 0x10]
lea rdx, [0x140372280]
mov rax, rbx
movzx esi, bl
mov r14, rbx
shr rax, 0x10
shr r14, 0x38
movzx r8d, al
mov rax, rbx
shr rax, 0x20
mov r9, qword [rdx + r8*8]
lea r8, str.U_2
movzx eax, al
xor r9, qword [rcx + rax*8]
mov rax, rbx
shr rax, 0x30
movzx r10d, al
lea rax, [0x140372a80]
mov r10, qword [r8 + r10*8]
xor r10, qword [rax + rsi*8]
mov rsi, rbx
vmovq xmm21, rax
shr rsi, 0x18
movzx eax, bh
movzx esi, sil
xor r9, r10
sub r15, r9
mov r9, qword [r8 + rax*8]
xor r9, qword [rcx + rsi*8]
mov rsi, rbx
shr rsi, 0x28
vmovq rax, xmm21
movzx esi, sil
mov r10, qword [rdx + rsi*8]
xor r10, qword [rax + r14*8]
vmovq rax, xmm5
xor r15, rax
mov rsi, r15
movzx eax, r15b
shr rsi, 0x10
xor r9, r10
add r9, qword [rbp + 8]
lea r14, [r9 + r9*4]
movzx r9d, sil
mov rsi, r15
shr rsi, 0x20
mov r9, qword [rdx + r9*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
mov rsi, r15
shr rsi, 0x30
movzx esi, sil
mov r10, qword [r8 + rsi*8]
vmovq rsi, xmm21
xor r10, qword [rsi + rax*8]
mov rsi, r15
mov rax, r15
shr rsi, 0x18
movzx eax, ah
movzx esi, sil
xor r9, r10
sub r14, r9
mov r9, qword [r8 + rax*8]
xor r9, qword [rcx + rsi*8]
mov rsi, r15
shr rsi, 0x28
mov rax, r15
movzx esi, sil
shr rax, 0x38
mov r10, qword [rdx + rsi*8]
vmovq rsi, xmm21
xor r10, qword [rsi + rax*8]
vmovq rax, xmm3
xor r14, rax
mov rsi, r14
movzx eax, r14b
shr rsi, 0x10
xor r9, r10
add r9, rbx
lea rbx, [r9 + r9*4]
movzx r9d, sil
mov rsi, r14
shr rsi, 0x20
mov r9, qword [rdx + r9*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
mov rsi, r14
shr rsi, 0x30
movzx esi, sil
mov r10, qword [r8 + rsi*8]
vmovq rsi, xmm21
xor r10, qword [rsi + rax*8]
mov rsi, r14
mov rax, r14
shr rsi, 0x18
movzx eax, ah
movzx esi, sil
xor r9, r10
sub rbx, r9
mov r9, qword [r8 + rax*8]
xor r9, qword [rcx + rsi*8]
mov rsi, r14
shr rsi, 0x28
mov rax, r14
movzx esi, sil
shr rax, 0x38
mov r10, qword [rdx + rsi*8]
vmovq rsi, xmm21
xor r10, qword [rsi + rax*8]
vmovq rax, xmm1
xor rbx, rax
mov rsi, rbx
movzx eax, bl
shr rsi, 0x10
xor r9, r10
add r9, r15
lea r15, [r9 + r9*4]
movzx r9d, sil
mov rsi, rbx
shr rsi, 0x20
mov r9, qword [rdx + r9*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
mov rsi, rbx
shr rsi, 0x30
movzx esi, sil
mov r10, qword [r8 + rsi*8]
vmovq rsi, xmm21
xor r10, qword [rsi + rax*8]
mov rsi, rbx
movzx eax, bh
shr rsi, 0x18
xor r9, r10
mov r10, rbx
sub r15, r9
movzx r9d, sil
mov rsi, qword [r8 + rax*8]
shr r10, 0x38
xor rsi, qword [rcx + r9*8]
mov r9, rbx
vmovq rax, xmm21
xor r15, r11
shr r9, 0x28
movzx r9d, r9b
mov r9, qword [rdx + r9*8]
xor r9, qword [rax + r10*8]
movzx eax, r15b
xor rsi, r9
add rsi, r14
lea r14, [rsi + rsi*4]
mov rsi, r15
shr rsi, 0x10
movzx r9d, sil
mov rsi, r15
shr rsi, 0x20
mov r9, qword [rdx + r9*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
mov rsi, r15
shr rsi, 0x30
movzx esi, sil
mov r10, qword [r8 + rsi*8]
vmovq rsi, xmm21
xor r10, qword [rsi + rax*8]
mov rsi, r15
mov rax, r15
shr rsi, 0x18
movzx eax, ah
xor r9, r10
mov r10, r15
sub r14, r9
movzx r9d, sil
mov rsi, qword [r8 + rax*8]
shr r10, 0x38
xor rsi, qword [rcx + r9*8]
mov r9, r15
vmovq rax, xmm21
xor r14, rdi
shr r9, 0x28
movzx r9d, r9b
mov r9, qword [rdx + r9*8]
xor r9, qword [rax + r10*8]
movzx eax, r14b
xor rsi, r9
add rsi, rbx
lea rbx, [rsi + rsi*4]
mov rsi, r14
shr rsi, 0x10
movzx r9d, sil
mov rsi, r14
shr rsi, 0x20
mov r9, qword [rdx + r9*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
mov rsi, r14
shr rsi, 0x30
movzx esi, sil
mov r10, qword [r8 + rsi*8]
vmovq rsi, xmm21
xor r10, qword [rsi + rax*8]
mov rsi, r14
mov rax, r14
shr rsi, 0x18
movzx eax, ah
xor r9, r10
mov r10, r14
sub rbx, r9
movzx r9d, sil
mov rsi, qword [r8 + rax*8]
shr r10, 0x38
xor rsi, qword [rcx + r9*8]
mov r9, r14
vmovq rax, xmm21
xor rbx, r13
shr r9, 0x28
movzx r9d, r9b
mov r9, qword [rdx + r9*8]
xor r9, qword [rax + r10*8]
xor rsi, r9
add rsi, r15
movzx r15d, bl
lea r10, [rsi + rsi*4]
mov rsi, rbx
shr rsi, 0x10
movzx r9d, sil
mov rsi, rbx
shr rsi, 0x20
mov r9, qword [rdx + r9*8]
movzx esi, sil
xor r9, qword [rcx + rsi*8]
mov rsi, rbx
shr rsi, 0x30
movzx esi, sil
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rax + r15*8]
movzx eax, bh
mov r15, rbx
xor r9, rsi
mov rsi, rbx
shr r15, 0x38
shr rsi, 0x18
sub r10, r9
movzx r9d, sil
mov rsi, qword [r8 + rax*8]
vmovq rax, xmm21
xor r10, r12
xor rsi, qword [rcx + r9*8]
mov r9, rbx
shr r9, 0x28
movzx r9d, r9b
mov r9, qword [rdx + r9*8]
xor r9, qword [rax + r15*8]
xor rsi, r9
add rsi, r14
lea r9, [rsi + rsi*4]
mov rsi, r10
shr rsi, 0x10
movzx r15d, sil
mov rsi, r10
shr rsi, 0x20
movzx r14d, sil
mov rsi, qword [rdx + r15*8]
movzx r15d, r10b
xor rsi, qword [rcx + r14*8]
mov r14, rsi
mov rsi, r10
shr rsi, 0x30
movzx esi, sil
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rax + r15*8]
mov rax, r10
mov r15, r10
movzx eax, ah
shr r15, 0x38
xor rsi, r14
sub r9, rsi
mov rsi, r10
shr rsi, 0x18
movzx r14d, sil
mov rsi, qword [r8 + rax*8]
vmovq rax, xmm21
xor rsi, qword [rcx + r14*8]
mov r14, r10
shr r14, 0x28
movzx r14d, r14b
mov r14, qword [rdx + r14*8]
xor r14, qword [rax + r15*8]
xor rsi, r14
vmovq r14, xmm5
add rsi, rbx
lea rax, [rsi + rsi*4]
vmovq xmm19, rax
movabs rax, 0xa5a5a5a5a5a5a5a5
mov rbx, rax
vmovq xmm16, rax
vmovq rax, xmm4
xor rbx, r12
sub rax, rbx
xor r14, rax
vmovq xmm4, rax
vmovq rax, xmm3
mov rsi, r14
lea rbx, [rax + r14]
vmovq rax, xmm1
not rsi
shl rsi, 0x13
xor rsi, rbx
sub rax, rsi
xor r11, rax
vmovq xmm2, rax
vmovq rax, xmm4
mov r15, r11
lea rsi, [rdi + r11]
not r15
shr r15, 0x17
xor r15, rsi
sub r13, r15
mov r15, r12
xor r15, r13
lea rdi, [rax + r15]
mov rax, r15
not rax
xor r9, rdi
shl rax, 0x13
xor rax, rdi
sub r14, rax
vmovq rax, xmm2
xor rbx, r14
vmovq xmm1, r14
mov r12, rbx
lea r14, [rax + rbx]
movabs rax, 0x123456789abcdef
not r12
vmovq xmm20, rax
shr r12, 0x17
xor r12, r14
sub r11, r12
xor rsi, r11
mov r12, r11
lea r11, [r13 + rsi]
vmovq xmm5, rsi
vmovq rsi, xmm21
xor rax, r11
mov qword [rsp + 8], r11
sub r15, rax
mov r13, r15
mov r15, r9
shr r15, 0x10
movzx eax, r15b
mov r15, r9
vmovq xmm0, qword [rdx + rax*8]
shr r15, 0x20
movzx r15d, r15b
vmovq rax, xmm0
xor rax, qword [rcx + r15*8]
mov r15, r9
shr r15, 0x30
movzx r15d, r15b
mov r15, qword [r8 + r15*8]
vmovq xmm0, rax
movzx eax, r9b
xor r15, qword [rsi + rax*8]
vmovq rax, xmm0
xor rax, r15
vmovq r15, xmm19
sub r15, rax
mov rax, r9
movzx eax, ah
vmovq xmm0, rax
mov rax, r9
shr rax, 0x18
movzx eax, al
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [r8 + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rcx + r11*8]
vmovq xmm0, rax
mov rax, r9
shr rax, 0x28
movzx eax, al
vmovq xmm17, rax
mov rax, r9
shr rax, 0x38
vmovq xmm18, rax
vmovq rax, xmm17
vmovq xmm17, qword [rdx + rax*8]
vmovq r11, xmm18
vmovq rax, xmm17
xor rax, qword [rsi + r11*8]
vmovq xmm17, rax
vmovq rax, xmm0
vmovq r11, xmm17
xor rax, r11
add r10, rax
lea rax, [r10*8]
sub rax, r10
vmovq xmm0, rax
vmovq rax, xmm1
xor r15, rax
mov r10, r15
shr r10, 0x10
movzx eax, r10b
mov r10, r15
vmovq xmm17, qword [rdx + rax*8]
shr r10, 0x20
movzx r10d, r10b
vmovq rax, xmm17
xor rax, qword [rcx + r10*8]
mov r10, r15
shr r10, 0x30
movzx r10d, r10b
mov r10, qword [r8 + r10*8]
vmovq xmm17, rax
movzx eax, r15b
xor r10, qword [rsi + rax*8]
vmovq rax, xmm17
xor rax, r10
vmovq r10, xmm0
sub r10, rax
mov rax, r15
movzx eax, ah
xor r10, rbx
vmovq xmm0, rax
mov rax, r15
shr rax, 0x18
movzx eax, al
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [r8 + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rcx + r11*8]
vmovq xmm0, rax
mov rax, r15
shr rax, 0x28
movzx eax, al
vmovq xmm17, rax
mov rax, r15
shr rax, 0x38
vmovq xmm18, rax
vmovq rax, xmm17
vmovq xmm17, qword [rdx + rax*8]
vmovq r11, xmm18
vmovq rax, xmm17
xor rax, qword [rsi + r11*8]
vmovq xmm17, rax
vmovq rax, xmm0
vmovq r11, xmm17
xor rax, r11
add r9, rax
lea rax, [r9*8]
sub rax, r9
mov r9, r10
shr r9, 0x10
vmovq xmm0, rax
movzx eax, r9b
mov r9, r10
vmovq xmm17, qword [rdx + rax*8]
shr r9, 0x20
movzx r9d, r9b
vmovq rax, xmm17
xor rax, qword [rcx + r9*8]
mov r9, r10
shr r9, 0x30
movzx r9d, r9b
mov r9, qword [r8 + r9*8]
vmovq xmm17, rax
movzx eax, r10b
xor r9, qword [rsi + rax*8]
vmovq rax, xmm17
xor rax, r9
vmovq r9, xmm0
sub r9, rax
mov rax, r10
movzx eax, ah
xor r9, r14
vmovq xmm0, rax
mov rax, r10
shr rax, 0x18
movzx eax, al
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [r8 + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rcx + r11*8]
vmovq xmm0, rax
mov rax, r10
shr rax, 0x28
movzx eax, al
vmovq xmm17, rax
mov rax, r10
shr rax, 0x38
vmovq xmm18, rax
vmovq rax, xmm17
vmovq xmm17, qword [rdx + rax*8]
vmovq r11, xmm18
vmovq rax, xmm17
xor rax, qword [rsi + r11*8]
vmovq xmm17, rax
vmovq rax, xmm0
vmovq r11, xmm17
xor rax, r11
add r15, rax
lea rax, [r15*8]
sub rax, r15
mov r15, r9
shr r15, 0x10
vmovq xmm0, rax
movzx eax, r15b
mov r15, r9
vmovq xmm17, qword [rdx + rax*8]
shr r15, 0x20
movzx r15d, r15b
vmovq rax, xmm17
xor rax, qword [rcx + r15*8]
mov r15, r9
shr r15, 0x30
movzx r15d, r15b
mov r15, qword [r8 + r15*8]
vmovq xmm17, rax
movzx eax, r9b
xor r15, qword [rsi + rax*8]
vmovq rax, xmm17
xor rax, r15
vmovq r15, xmm0
sub r15, rax
mov rax, r9
movzx eax, ah
xor r15, r12
vmovq xmm0, rax
mov rax, r9
shr rax, 0x18
movzx eax, al
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [r8 + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rcx + r11*8]
vmovq xmm0, rax
mov rax, r9
shr rax, 0x28
movzx eax, al
vmovq xmm17, rax
mov rax, r9
shr rax, 0x38
vmovq xmm18, rax
vmovq rax, xmm17
vmovq xmm17, qword [rdx + rax*8]
vmovq r11, xmm18
vmovq rax, xmm17
xor rax, qword [rsi + r11*8]
vmovq xmm17, rax
vmovq rax, xmm0
vmovq r11, xmm17
xor rax, r11
add r10, rax
lea rax, [r10*8]
sub rax, r10
mov r10, r15
shr r10, 0x10
vmovq xmm0, rax
movzx eax, r10b
mov r10, r15
vmovq xmm17, qword [rdx + rax*8]
shr r10, 0x20
movzx r10d, r10b
vmovq rax, xmm17
xor rax, qword [rcx + r10*8]
mov r10, r15
shr r10, 0x30
movzx r10d, r10b
mov r10, qword [r8 + r10*8]
vmovq xmm17, rax
movzx eax, r15b
xor r10, qword [rsi + rax*8]
vmovq rax, xmm17
xor r10, rax
vmovq rax, xmm0
sub rax, r10
mov r10, r15
vmovq xmm2, rax
mov rax, r15
shr r10, 0x18
movzx eax, ah
movzx r10d, r10b
vmovq xmm0, qword [r8 + rax*8]
vmovq rax, xmm0
xor rax, qword [rcx + r10*8]
mov r10, r15
shr r10, 0x28
movzx r10d, r10b
mov r10, qword [rdx + r10*8]
vmovq xmm0, rax
mov rax, r15
shr rax, 0x38
xor r10, qword [rsi + rax*8]
vmovq rax, xmm0
xor r10, rax
vmovq rax, xmm5
add r10, r9
lea r9, [r10*8]
sub r9, r10
vmovq r10, xmm2
xor r10, rax
mov rax, r10
shr rax, 0x10
movzx eax, al
vmovq xmm0, rax
mov rax, r10
shr rax, 0x20
movzx eax, al
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [rdx + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rcx + r11*8]
vmovq xmm0, rax
mov rax, r10
shr rax, 0x30
movzx eax, al
vmovq xmm17, rax
movzx eax, r10b
vmovq xmm18, rax
vmovq rax, xmm17
vmovq xmm17, qword [r8 + rax*8]
vmovq r11, xmm18
vmovq rax, xmm17
xor rax, qword [rsi + r11*8]
vmovq xmm17, rax
vmovq rax, xmm0
vmovq r11, xmm17
xor rax, r11
mov r11, qword [rsp + 8]
sub r9, rax
mov rax, r10
movzx eax, ah
vmovq xmm2, r9
mov r9, r10
vmovq xmm0, qword [r8 + rax*8]
shr r9, 0x18
movzx r9d, r9b
vmovq rax, xmm0
xor rax, qword [rcx + r9*8]
mov r9, r10
shr r9, 0x28
movzx r9d, r9b
mov r9, qword [rdx + r9*8]
vmovq xmm0, rax
mov rax, r10
shr rax, 0x38
xor r9, qword [rsi + rax*8]
vmovq rax, xmm0
xor r9, rax
add r9, r15
lea r15, [r9*8]
sub r15, r9
vmovq r9, xmm2
xor r9, r11
mov rax, r9
shr rax, 0x10
movzx eax, al
vmovq xmm0, rax
mov rax, r9
shr rax, 0x20
movzx eax, al
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [rdx + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rcx + r11*8]
vmovq xmm0, rax
mov rax, r9
shr rax, 0x30
movzx eax, al
vmovq xmm17, rax
movzx eax, r9b
vmovq xmm18, rax
vmovq rax, xmm17
vmovq xmm17, qword [r8 + rax*8]
vmovq r11, xmm18
vmovq rax, xmm17
xor rax, qword [rsi + r11*8]
vmovq xmm17, rax
vmovq rax, xmm0
vmovq r11, xmm17
xor rax, r11
sub r15, rax
mov rax, r9
movzx eax, ah
xor r15, r13
vmovq xmm0, rax
mov rax, r9
shr rax, 0x18
movzx eax, al
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [r8 + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rcx + r11*8]
vmovq xmm0, rax
mov rax, r9
shr rax, 0x28
movzx eax, al
vmovq xmm17, rax
mov rax, r9
shr rax, 0x38
vmovq xmm18, rax
vmovq rax, xmm17
vmovq xmm17, qword [rdx + rax*8]
vmovq r11, xmm18
vmovq rax, xmm17
xor rax, qword [rsi + r11*8]
vmovq xmm17, rax
vmovq rax, xmm0
vmovq r11, xmm17
xor rax, r11
add r10, rax
lea rax, [r10*8]
sub rax, r10
mov r10, r15
vmovq xmm18, rax
mov rax, r15
shr r10, 0x10
shr rax, 0x20
movzx r10d, r10b
movzx eax, al
mov r10, qword [rdx + r10*8]
xor r10, qword [rcx + rax*8]
mov rax, r15
shr rax, 0x30
movzx eax, al
vmovq xmm0, rax
movzx eax, r15b
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [r8 + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rsi + r11*8]
xor r10, rax
vmovq rax, xmm18
sub rax, r10
vmovq xmm18, rax
mov rax, r15
movzx eax, ah
mov r10, rax
mov rax, r15
shr rax, 0x18
mov r10, qword [r8 + r10*8]
movzx eax, al
xor r10, qword [rcx + rax*8]
mov rax, r15
shr rax, 0x28
movzx eax, al
vmovq xmm0, rax
mov rax, r15
shr rax, 0x38
vmovq xmm17, rax
vmovq rax, xmm0
vmovq xmm0, qword [rdx + rax*8]
vmovq r11, xmm17
vmovq rax, xmm0
xor rax, qword [rsi + r11*8]
mov r11, qword [rsp + 8]
xor r10, rax
add r10, r9
lea r9, [r10*8]
sub r9, r10
vmovq r10, xmm1
vmovq xmm17, r9
vmovq r9, xmm16
xor r9, r13
sub rdi, r9
xor r10, rdi
mov r9, r10
lea rax, [rbx + r10]
vmovq rbx, xmm5
not r9
shl r9, 0x13
xor r9, rax
sub r14, r9
mov r9, r12
xor r9, r14
mov rsi, r9
add rbx, r9
not rsi
shr rsi, 0x17
xor rsi, rbx
sub r11, rsi
mov r12, r11
mov r11, r13
xor r11, r12
lea rsi, [rdi + r11]
mov rdi, r11
not rdi
shl rdi, 0x13
xor rdi, rsi
sub r10, rdi
vmovq xmm4, r10
mov r10, rax
vmovq rax, xmm4
xor r10, rax
mov rdi, r10
add r14, r10
not rdi
shr rdi, 0x17
xor rdi, r14
sub r9, rdi
vmovq rdi, xmm18
xor rdi, rsi
xor rbx, r9
vmovq xmm2, r9
vmovq r9, xmm21
mov rsi, rdi
mov rax, rdi
add r12, rbx
shr rsi, 0x10
shr rax, 0x20
movzx eax, al
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [rcx + rax*8]
mov rax, rdi
shr rax, 0x30
movzx eax, al
vmovq xmm1, rax
movzx eax, dil
vmovq xmm5, rax
vmovq rax, xmm1
vmovq xmm1, qword [r8 + rax*8]
vmovq r13, xmm5
vmovq rax, xmm1
xor rax, qword [r9 + r13*8]
xor rsi, rax
vmovq rax, xmm17
sub rax, rsi
mov rsi, rdi
vmovq xmm17, rax
mov rax, rdi
shr rsi, 0x18
movzx eax, ah
movzx esi, sil
vmovq xmm1, qword [r8 + rax*8]
vmovq rax, xmm1
xor rax, qword [rcx + rsi*8]
mov rsi, rdi
shr rsi, 0x28
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
vmovq xmm1, rax
mov rax, rdi
shr rax, 0x38
xor rsi, qword [r9 + rax*8]
vmovq rax, xmm1
xor rsi, rax
vmovq rax, xmm17
add r15, rsi
lea rsi, [r15 + r15*8]
vmovq r15, xmm4
xor r15, rax
mov rax, r15
shr rax, 0x10
movzx eax, al
vmovq xmm1, rax
mov rax, r15
shr rax, 0x20
movzx eax, al
vmovq xmm4, rax
vmovq rax, xmm1
vmovq xmm1, qword [rdx + rax*8]
vmovq r13, xmm4
vmovq rax, xmm1
xor rax, qword [rcx + r13*8]
vmovq xmm1, rax
mov rax, r15
shr rax, 0x30
movzx eax, al
vmovq xmm4, rax
movzx eax, r15b
vmovq xmm5, rax
vmovq rax, xmm4
vmovq xmm4, qword [r8 + rax*8]
vmovq r13, xmm5
vmovq rax, xmm4
xor rax, qword [r9 + r13*8]
vmovq xmm4, rax
vmovq rax, xmm1
vmovq r13, xmm4
xor rax, r13
sub rsi, rax
mov rax, r15
movzx eax, ah
vmovq xmm1, rax
mov rax, r15
shr rax, 0x18
movzx eax, al
vmovq xmm4, rax
vmovq rax, xmm1
vmovq xmm1, qword [r8 + rax*8]
vmovq r13, xmm4
vmovq rax, xmm1
xor rax, qword [rcx + r13*8]
vmovq xmm1, rax
mov rax, r15
shr rax, 0x28
movzx eax, al
vmovq xmm4, rax
mov rax, r15
shr rax, 0x38
vmovq xmm5, rax
vmovq rax, xmm4
vmovq xmm4, qword [rdx + rax*8]
vmovq r13, xmm5
vmovq rax, xmm4
xor rax, qword [r9 + r13*8]
vmovq xmm4, rax
vmovq rax, xmm1
vmovq r13, xmm4
xor rax, r13
add rdi, rax
xor rsi, r10
lea rax, [rdi + rdi*8]
mov r10, rsi
mov rdi, rsi
shr r10, 0x10
shr rdi, 0x20
vmovq xmm1, rax
movzx eax, sil
movzx edi, dil
movzx r10d, r10b
mov r10, qword [rdx + r10*8]
xor r10, qword [rcx + rdi*8]
mov rdi, r10
mov r10, rsi
shr r10, 0x30
movzx r10d, r10b
mov r10, qword [r8 + r10*8]
xor r10, qword [r9 + rax*8]
vmovq rax, xmm1
xor r10, rdi
sub rax, r10
mov r10, rsi
vmovq xmm1, rax
shr r10, 0x18
mov rax, rsi
movzx edi, r10b
movzx eax, ah
mov r10, qword [r8 + rax*8]
xor r10, qword [rcx + rdi*8]
mov rdi, rsi
mov rax, rsi
shr rdi, 0x28
shr rax, 0x38
movzx edi, dil
mov rdi, qword [rdx + rdi*8]
xor rdi, qword [r9 + rax*8]
xor r10, rdi
add r10, r15
lea r15, [r10 + r10*8]
vmovq r10, xmm1
xor r10, r14
mov rdi, r10
mov r13, r10
movzx eax, r10b
shr r13, 0x20
shr rdi, 0x10
movzx r14d, r13b
movzx edi, dil
vmovq r13, xmm21
mov rdi, qword [rdx + rdi*8]
xor rdi, qword [rcx + r14*8]
mov r14, r10
shr r14, 0x30
movzx r14d, r14b
mov r14, qword [r8 + r14*8]
xor r14, qword [r9 + rax*8]
mov rax, r10
movzx eax, ah
xor rdi, r14
sub r15, rdi
mov rdi, r10
shr rdi, 0x18
movzx r14d, dil
mov rdi, qword [r8 + rax*8]
mov rax, r10
xor rdi, qword [rcx + r14*8]
mov r14, r10
shr rax, 0x38
shr r14, 0x28
movzx r14d, r14b
mov r14, qword [rdx + r14*8]
xor r14, qword [r9 + rax*8]
xor rdi, r14
add rdi, rsi
vmovq rsi, xmm2
xor rsi, r15
lea r14, [rdi + rdi*8]
mov r9, rsi
mov rax, rsi
shr r9, 0x10
movzx eax, ah
movzx r15d, r9b
mov r9, rsi
shr r9, 0x20
movzx edi, r9b
mov r9, qword [rdx + r15*8]
movzx r15d, sil
xor r9, qword [rcx + rdi*8]
mov rdi, rsi
shr rdi, 0x30
movzx edi, dil
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [r13 + r15*8]
mov r15, rsi
shr r15, 0x38
xor r9, rdi
sub r14, r9
mov r9, rsi
shr r9, 0x18
xor rbx, r14
movzx edi, r9b
mov r9, qword [r8 + rax*8]
movzx eax, bh
xor r9, qword [rcx + rdi*8]
mov rdi, rsi
shr rdi, 0x28
movzx edi, dil
mov rdi, qword [rdx + rdi*8]
xor rdi, qword [r13 + r15*8]
xor r9, rdi
add r9, r10
mov r10, rbx
shr r10, 0x10
lea r9, [r9 + r9*8]
movzx r14d, r10b
mov r10, rbx
shr r10, 0x20
movzx edi, r10b
mov r10, qword [rdx + r14*8]
movzx r14d, bl
xor r10, qword [rcx + rdi*8]
mov rdi, rbx
shr rdi, 0x30
movzx edi, dil
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [r13 + r14*8]
mov r14, rbx
shr r14, 0x38
xor r10, rdi
sub r9, r10
mov r10, rbx
shr r10, 0x18
xor r9, r12
movzx edi, r10b
mov r10, qword [r8 + rax*8]
mov rax, r9
xor r10, qword [rcx + rdi*8]
mov rdi, rbx
movzx eax, ah
shr rdi, 0x28
movzx edi, dil
mov rdi, qword [rdx + rdi*8]
xor rdi, qword [r13 + r14*8]
xor r10, rdi
add r10, rsi
lea rdi, [r10 + r10*8]
mov r10, r9
shr r10, 0x10
movzx r14d, r10b
mov r10, r9
shr r10, 0x20
movzx esi, r10b
mov r10, qword [rdx + r14*8]
movzx r14d, r9b
xor r10, qword [rcx + rsi*8]
mov rsi, r9
shr rsi, 0x30
movzx esi, sil
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [r13 + r14*8]
mov r14, r9
shr r14, 0x38
xor r10, rsi
sub rdi, r10
mov r10, r9
shr r10, 0x18
movzx esi, r10b
mov r10, qword [r8 + rax*8]
xor r10, qword [rcx + rsi*8]
mov rsi, r9
shr rsi, 0x28
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [r13 + r14*8]
xor r10, rsi
vmovq rsi, xmm20
add r10, rbx
xor rsi, r12
mov rbx, r11
sub rbx, rsi
xor rbx, rdi
mov r11, rbx
shr r11, 0x10
movzx edi, r11b
mov r11, rbx
shr r11, 0x20
movzx esi, r11b
mov r11, qword [rdx + rdi*8]
movzx edi, bl
xor r11, qword [rcx + rsi*8]
mov rsi, rbx
shr rsi, 0x30
movzx esi, sil
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [r13 + rdi*8]
movzx edi, bh
mov r8, qword [r8 + rdi*8]
xor r11, rsi
mov rsi, rbx
shr rsi, 0x18
movzx esi, sil
xor r8, qword [rcx + rsi*8]
mov rsi, rbx
shr rsi, 0x38
mov rcx, r8
mov r8, rbx
sub rbx, qword [rbp + 8]
shr r8, 0x28
movzx r8d, r8b
mov rax, qword [rdx + r8*8]
xor rax, qword [r13 + rsi*8]
xor rax, rcx
add rax, r9
lea rax, [rax + rax*8]
xor rax, qword [rbp]
vmovq xmm0, rax
lea rax, [r10 + r10*8]
add rax, qword [rbp + 0x10]
vpinsrq xmm0, xmm0, rbx, 1
vmovdqu xmmword [rbp], xmm0
sub rax, r11
mov qword [rbp + 0x10], rax
add rsp, 0x18
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret