Function at 0x5faeb0
Capabilities:
Hash data using tiger

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rax, qword [rdx + 0x10]
mov r11, qword [rcx]
mov rsi, qword [rdx]
mov r13, qword [rdx + 8]
mov rbp, rax
mov r15, qword [rcx + 0x20]
mov r14, qword [rcx + 0x38]
xor rbp, r11
mov rdi, qword [rcx + 8]
mov r9, qword [rcx + 0x10]
mov r8, rbp
mov rbx, rbp
mov r12, qword [rcx + 0x18]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x98], rdx
mov rdx, qword [rcx + 0x28]
shr rbx, 0x20
shr r8, 0x10
lea rax, [0x0070bac0]
movzx r8d, r8b
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
mov rdx, qword [rcx + 0x30]
lea rcx, [0x0070b2c0]
mov r10, qword [rax + r8*8]
movzx r8d, bpl
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x18], rdx
movzx edx, bl
mov rbx, rbp
xor r10, qword [rcx + rdx*8]
shr rbx, 0x30
lea rdx, [0x0070c2c0]
xor r10, qword [rdx + r8*8]
movzx ebx, bl
lea r8, str.U_2
xor r10, qword [r8 + rbx*8]
mov rbx, rsi
mov rsi, rbp
sub rbx, r10
shr rsi, 0x18
mov r10, rbx
mov rbx, rbp
movzx esi, sil
movzx ebx, bh
xor r10, rdi
mov rbx, qword [r8 + rbx*8]
xor rbx, qword [rcx + rsi*8]
mov rsi, rbp
shr rsi, 0x38
xor rbx, qword [rdx + rsi*8]
mov rsi, rbp
shr rsi, 0x28
movzx esi, sil
xor rbx, qword [rax + rsi*8]
add rbx, r13
mov r13, r10
lea rsi, [rbx + rbx*4]
mov rbx, r10
shr r13, 0x20
shr rbx, 0x10
movzx r13d, r13b
movzx ebx, bl
mov rbx, qword [rax + rbx*8]
xor rbx, qword [rcx + r13*8]
movzx r13d, r10b
xor rbx, qword [rdx + r13*8]
mov r13, r10
shr r13, 0x30
movzx r13d, r13b
xor rbx, qword [r8 + r13*8]
mov r13, r10
sub rsi, rbx
shr r13, 0x18
mov rbx, r10
movzx r13d, r13b
movzx ebx, bh
xor rsi, r9
mov rbx, qword [r8 + rbx*8]
xor rbx, qword [rcx + r13*8]
mov r13, r10
shr r13, 0x38
xor rbx, qword [rdx + r13*8]
mov r13, r10
shr r13, 0x28
movzx r13d, r13b
xor rbx, qword [rax + r13*8]
mov r13, rsi
mov qword [rsp + 0x38], r15
add rbx, rbp
mov rbp, rsi
shr rbp, 0x10
shr r13, 0x20
lea rbx, [rbx + rbx*4]
movzx r13d, r13b
movzx ebp, bpl
mov rbp, qword [rax + rbp*8]
xor rbp, qword [rcx + r13*8]
movzx r13d, sil
xor rbp, qword [rdx + r13*8]
mov r13, rsi
shr r13, 0x30
movzx r13d, r13b
xor rbp, qword [r8 + r13*8]
sub rbx, rbp
mov qword [rsp + 8], rbx
mov rbx, rsi
movzx ebp, bh
shr rbx, 0x18
movzx r13d, bl
mov rbx, rsi
mov rbp, qword [r8 + rbp*8]
shr rbx, 0x38
xor rbp, qword [rcx + r13*8]
xor rbp, qword [rdx + rbx*8]
mov rbx, rsi
shr rbx, 0x28
movzx r13d, bl
xor rbp, qword [rax + r13*8]
mov r13, qword [rsp + 8]
add rbp, r10
xor r13, r12
lea r10, [rbp + rbp*4]
mov rbx, r13
mov qword [rsp + 8], r13
shr rbx, 0x10
movzx ebp, bl
mov rbx, r13
shr rbx, 0x20
mov rbp, qword [rax + rbp*8]
movzx r13d, bl
mov rbx, qword [rsp + 8]
xor rbp, qword [rcx + r13*8]
movzx r13d, bl
shr rbx, 0x30
xor rbp, qword [rdx + r13*8]
movzx r13d, bl
mov rbx, qword [rsp + 8]
xor rbp, qword [r8 + r13*8]
sub r10, rbp
movzx ebp, bh
shr rbx, 0x18
movzx r13d, bl
mov rbx, qword [rsp + 8]
mov rbp, qword [r8 + rbp*8]
xor r10, r15
xor rbp, qword [rcx + r13*8]
shr rbx, 0x38
xor rbp, qword [rdx + rbx*8]
mov rbx, qword [rsp + 8]
shr rbx, 0x28
movzx r13d, bl
mov rbx, r10
xor rbp, qword [rax + r13*8]
shr rbx, 0x10
add rbp, rsi
lea rsi, [rbp + rbp*4]
movzx ebp, bl
mov rbx, r10
shr rbx, 0x20
mov rbp, qword [rax + rbp*8]
movzx r13d, bl
mov rbx, r10
xor rbp, qword [rcx + r13*8]
movzx r13d, r10b
xor rbp, qword [rdx + r13*8]
shr rbx, 0x30
movzx r13d, bl
mov rbx, r10
xor rbp, qword [r8 + r13*8]
sub rsi, rbp
movzx ebp, bh
shr rbx, 0x18
movzx r13d, bl
mov rbx, r10
mov rbp, qword [r8 + rbp*8]
shr rbx, 0x38
xor rbp, qword [rcx + r13*8]
xor rbp, qword [rdx + rbx*8]
mov rbx, r10
shr rbx, 0x28
movzx r13d, bl
xor rbp, qword [rax + r13*8]
xor rsi, qword [rsp + 0x10]
add rbp, qword [rsp + 8]
mov r13, rsi
lea rbx, [rbp + rbp*4]
mov rbp, rsi
shr r13, 0x20
shr rbp, 0x10
movzx r13d, r13b
movzx ebp, bpl
mov rbp, qword [rax + rbp*8]
xor rbp, qword [rcx + r13*8]
movzx r13d, sil
xor rbp, qword [rdx + r13*8]
mov r13, rsi
shr r13, 0x30
movzx r13d, r13b
xor rbp, qword [r8 + r13*8]
sub rbx, rbp
mov qword [rsp + 8], rbx
mov rbx, rsi
movzx ebp, bh
shr rbx, 0x18
movzx r13d, bl
mov rbx, rsi
mov rbp, qword [r8 + rbp*8]
shr rbx, 0x38
xor rbp, qword [rcx + r13*8]
xor rbp, qword [rdx + rbx*8]
mov rbx, rsi
shr rbx, 0x28
movzx r13d, bl
xor rbp, qword [rax + r13*8]
mov r13, qword [rsp + 8]
xor r13, qword [rsp + 0x18]
add rbp, r10
mov rbx, r13
lea r15, [rbp + rbp*4]
mov qword [rsp + 8], r13
shr rbx, 0x10
movzx r10d, bl
mov rbx, r13
shr rbx, 0x20
mov r10, qword [rax + r10*8]
movzx ebp, bl
mov rbx, r13
xor r10, qword [rcx + rbp*8]
shr rbx, 0x30
movzx ebp, r13b
xor r10, qword [rdx + rbp*8]
movzx ebp, bl
mov rbx, r13
xor r10, qword [r8 + rbp*8]
movzx ebx, bh
sub r15, r10
mov r10, rbx
mov rbx, r13
shr rbx, 0x18
mov r10, qword [r8 + r10*8]
xor r15, r14
movzx ebp, bl
mov rbx, r13
shr rbx, 0x38
xor r10, qword [rcx + rbp*8]
xor r10, qword [rdx + rbx*8]
mov rbx, r13
shr rbx, 0x28
movzx ebp, bl
mov rbx, r15
xor r10, qword [rax + rbp*8]
add r10, rsi
mov rsi, r15
lea r13, [r10 + r10*4]
mov r10, r15
shr rsi, 0x20
shr r10, 0x10
movzx esi, sil
movzx r10d, r10b
mov r10, qword [rax + r10*8]
xor r10, qword [rcx + rsi*8]
movzx esi, r15b
xor r10, qword [rdx + rsi*8]
mov rsi, r15
shr rsi, 0x30
movzx esi, sil
xor r10, qword [r8 + rsi*8]
movzx esi, bh
sub r13, r10
mov r10, rsi
mov rsi, r15
shr rsi, 0x18
mov r10, qword [r8 + r10*8]
movzx esi, sil
xor r10, qword [rcx + rsi*8]
mov rsi, r15
shr rsi, 0x38
xor r10, qword [rdx + rsi*8]
mov rsi, r15
shr rsi, 0x28
movzx esi, sil
xor r10, qword [rax + rsi*8]
add r10, qword [rsp + 8]
lea rsi, [r10 + r10*4]
movabs r10, 0xa5a5a5a5a5a5a5a5
xor r10, r14
mov qword [rsp + 8], rsi
mov rbx, qword [rsp + 0x18]
sub r11, r10
xor rdi, r11
mov r10, rdi
add r9, rdi
not r10
shl r10, 0x13
xor r10, r9
sub r12, r10
mov r10, qword [rsp + 0x38]
xor r10, r12
mov rsi, r10
mov r10, qword [rsp + 0x10]
lea rbp, [r10 + rsi]
mov r10, rsi
not r10
shr r10, 0x17
xor r10, rbp
sub rbx, r10
xor r14, rbx
mov r10, r14
lea r14, [r11 + r14]
mov r11, r10
mov qword [rsp + 0x10], r14
xor r13, qword [rsp + 0x10]
not r11
shl r11, 0x13
xor r11, r14
mov r14, rbp
sub rdi, r11
xor r9, rdi
mov r11, r9
add r12, r9
not r11
shr r11, 0x17
xor r11, r12
sub rsi, r11
xor r14, rsi
lea r11, [rbx + r14]
mov rbx, r13
mov rbp, r11
movzx ebx, bh
movabs r11, 0x123456789abcdef
xor r11, rbp
mov qword [rsp + 0x18], rbp
sub r10, r11
mov r11, r13
mov qword [rsp + 0x38], r10
mov r10, r13
shr r11, 0x20
shr r10, 0x10
movzx r11d, r11b
movzx r10d, r10b
mov r10, qword [rax + r10*8]
xor r10, qword [rcx + r11*8]
movzx r11d, r13b
xor r10, qword [rdx + r11*8]
mov r11, r13
shr r11, 0x30
movzx r11d, r11b
xor r10, qword [r8 + r11*8]
mov r11, qword [rsp + 8]
sub r11, r10
mov r10, qword [r8 + rbx*8]
mov rbp, r11
mov r11, r13
shr r11, 0x18
xor rbp, rdi
movzx r11d, r11b
mov rbx, rbp
xor r10, qword [rcx + r11*8]
mov r11, r13
mov qword [rsp + 8], rbx
shr r11, 0x38
xor r10, qword [rdx + r11*8]
mov r11, r13
shr r11, 0x28
movzx r11d, r11b
xor r10, qword [rax + r11*8]
add r15, r10
mov r10, rbp
lea r11, [r15*8]
sub r11, r15
mov r15, rbp
shr r10, 0x10
shr r15, 0x20
movzx r10d, r10b
movzx ebp, r15b
mov r15, rbx
mov r10, qword [rax + r10*8]
shr r15, 0x30
xor r10, qword [rcx + rbp*8]
movzx ebp, bl
movzx ebx, bh
xor r10, qword [rdx + rbp*8]
movzx ebp, r15b
xor r10, qword [r8 + rbp*8]
sub r11, r10
mov r10, rbx
mov rbx, qword [rsp + 8]
mov r10, qword [r8 + r10*8]
xor r11, r9
mov r15, rbx
shr r15, 0x18
movzx ebp, r15b
mov r15, rbx
shr r15, 0x38
xor r10, qword [rcx + rbp*8]
xor r10, qword [rdx + r15*8]
mov r15, rbx
mov rbx, r11
shr r15, 0x28
movzx ebp, r15b
mov r15, r11
xor r10, qword [rax + rbp*8]
shr r15, 0x10
add r13, r10
movzx ebp, r15b
mov r15, r11
shr r15, 0x20
lea r10, [r13*8]
mov rbp, qword [rax + rbp*8]
sub r10, r13
movzx r13d, r15b
mov r15, r11
xor rbp, qword [rcx + r13*8]
shr r15, 0x30
movzx r13d, r11b
xor rbp, qword [rdx + r13*8]
movzx r13d, r15b
mov r15, r11
shr r15, 0x18
xor rbp, qword [r8 + r13*8]
movzx r13d, r15b
mov r15, r11
sub r10, rbp
movzx ebp, bh
shr r15, 0x38
mov rbp, qword [r8 + rbp*8]
xor rbp, qword [rcx + r13*8]
xor r10, r12
xor rbp, qword [rdx + r15*8]
mov r15, r11
shr r15, 0x28
movzx r13d, r15b
mov r15, r10
xor rbp, qword [rax + r13*8]
add rbp, qword [rsp + 8]
lea rbx, [rbp*8]
sub rbx, rbp
shr r15, 0x10
movzx ebp, r15b
mov r15, r10
shr r15, 0x20
mov rbp, qword [rax + rbp*8]
movzx r13d, r15b
mov r15, r10
xor rbp, qword [rcx + r13*8]
shr r15, 0x30
movzx r13d, r10b
xor rbp, qword [rdx + r13*8]
movzx r13d, r15b
mov r15, r10
xor rbp, qword [r8 + r13*8]
shr r15, 0x18
sub rbx, rbp
movzx r13d, r15b
mov r15, r10
mov qword [rsp + 8], rbx
mov rbx, r10
shr r15, 0x38
movzx ebp, bh
mov rbx, qword [rsp + 8]
mov rbp, qword [r8 + rbp*8]
xor rbp, qword [rcx + r13*8]
xor rbp, qword [rdx + r15*8]
mov r15, r10
xor rbx, rsi
shr r15, 0x28
mov qword [rsp + 8], rbx
movzx r13d, r15b
mov r15, rbx
xor rbp, qword [rax + r13*8]
shr r15, 0x10
add rbp, r11
lea r11, [rbp*8]
sub r11, rbp
movzx ebp, r15b
mov r15, rbx
shr r15, 0x20
mov rbp, qword [rax + rbp*8]
movzx r13d, r15b
mov r15, rbx
xor rbp, qword [rcx + r13*8]
shr r15, 0x30
movzx r13d, bl
xor rbp, qword [rdx + r13*8]
movzx r13d, r15b
mov r15, rbx
shr r15, 0x18
xor rbp, qword [r8 + r13*8]
movzx r13d, r15b
mov r15, rbx
sub r11, rbp
movzx ebp, bh
shr r15, 0x38
mov rbp, qword [r8 + rbp*8]
xor rbp, qword [rcx + r13*8]
xor r11, r14
xor rbp, qword [rdx + r15*8]
mov r15, rbx
mov rbx, r11
shr r15, 0x28
movzx r13d, r15b
mov r15, r11
xor rbp, qword [rax + r13*8]
add rbp, r10
lea r10, [rbp*8]
sub r10, rbp
shr r15, 0x10
movzx ebp, r15b
mov r15, r11
shr r15, 0x20
mov rbp, qword [rax + rbp*8]
movzx r13d, r15b
mov r15, r11
xor rbp, qword [rcx + r13*8]
shr r15, 0x30
movzx r13d, r11b
xor rbp, qword [rdx + r13*8]
movzx r13d, r15b
mov r15, r11
shr r15, 0x18
xor rbp, qword [r8 + r13*8]
movzx r13d, r15b
mov r15, r11
sub r10, rbp
movzx ebp, bh
shr r15, 0x38
mov rbp, qword [r8 + rbp*8]
xor rbp, qword [rcx + r13*8]
xor rbp, qword [rdx + r15*8]
mov r15, r11
xor r10, qword [rsp + 0x18]
shr r15, 0x28
movzx r13d, r15b
mov r15, r10
xor rbp, qword [rax + r13*8]
add rbp, qword [rsp + 8]
shr r15, 0x10
lea rbx, [rbp*8]
sub rbx, rbp
movzx ebp, r15b
mov r15, r10
shr r15, 0x20
mov rbp, qword [rax + rbp*8]
movzx r13d, r15b
mov r15, r10
xor rbp, qword [rcx + r13*8]
shr r15, 0x30
movzx r13d, r10b
xor rbp, qword [rdx + r13*8]
movzx r13d, r15b
mov r15, r10
xor rbp, qword [r8 + r13*8]
shr r15, 0x18
sub rbx, rbp
movzx r13d, r15b
mov r15, r10
mov qword [rsp + 8], rbx
mov rbx, r10
shr r15, 0x38
movzx ebp, bh
mov rbx, qword [rsp + 8]
mov rbp, qword [r8 + rbp*8]
xor rbp, qword [rcx + r13*8]
xor rbp, qword [rdx + r15*8]
mov r15, r10
shr r15, 0x28
movzx r13d, r15b
mov r15, qword [rsp + 0x38]
xor rbp, qword [rax + r13*8]
xor rbx, r15
add rbp, r11
lea r13, [rbp*8]
mov r11, rbx
mov qword [rsp + 8], rbx
sub r13, rbp
shr r11, 0x10
movzx ebp, r11b
mov r11, rbx
shr r11, 0x20
mov rbp, qword [rax + rbp*8]
movzx r11d, r11b
xor rbp, qword [rcx + r11*8]
movzx r11d, bl
xor rbp, qword [rdx + r11*8]
mov r11, rbx
movzx ebx, bh
shr r11, 0x30
movzx r11d, r11b
xor rbp, qword [r8 + r11*8]
mov r11, rbx
mov rbx, qword [rsp + 8]
sub r13, rbp
mov r11, qword [r8 + r11*8]
shr rbx, 0x18
movzx ebp, bl
mov rbx, qword [rsp + 8]
xor r11, qword [rcx + rbp*8]
shr rbx, 0x38
xor r11, qword [rdx + rbx*8]
mov rbx, qword [rsp + 8]
shr rbx, 0x28
movzx ebp, bl
mov rbx, qword [rsp + 0x10]
xor r11, qword [rax + rbp*8]
add r11, r10
lea r10, [r11*8]
sub r10, r11
movabs r11, 0xa5a5a5a5a5a5a5a5
xor r11, r15
sub rbx, r11
xor rdi, rbx
mov r11, rbx
mov rbx, rdi
add r9, rdi
not rbx
mov rbp, rbx
mov rbx, qword [rsp + 0x18]
shl rbp, 0x13
xor rbp, r9
sub r12, rbp
xor rsi, r12
lea rbp, [r14 + rsi]
mov r14, rsi
not r14
shr r14, 0x17
xor r14, rbp
sub rbx, r14
xor r15, rbx
mov r14, rbx
add r11, r15
mov qword [rsp + 0x10], r15
not r15
shl r15, 0x13
xor r15, r11
sub rdi, r15
xor r9, rdi
mov rbx, r9
add r12, r9
xor r11, r13
not rbx
mov r15, rbx
mov rbx, r11
shr r15, 0x17
movzx ebx, bh
xor r15, r12
sub rsi, r15
xor rbp, rsi
lea r15, [r14 + rbp]
mov r14, r11
shr r14, 0x10
movzx r13d, r14b
mov r14, r11
shr r14, 0x20
mov r13, qword [rax + r13*8]
movzx r14d, r14b
xor r13, qword [rcx + r14*8]
movzx r14d, r11b
xor r13, qword [rdx + r14*8]
mov r14, r11
shr r14, 0x30
movzx r14d, r14b
xor r13, qword [r8 + r14*8]
mov r14, rbx
mov rbx, r11
shr rbx, 0x18
sub r10, r13
mov r14, qword [r8 + r14*8]
movzx r13d, bl
mov rbx, r11
xor r10, rdi
shr rbx, 0x38
xor r14, qword [rcx + r13*8]
mov rdi, r10
xor r14, qword [rdx + rbx*8]
mov rbx, r11
shr rdi, 0x10
shr rbx, 0x28
movzx edi, dil
movzx r13d, bl
mov rdi, qword [rax + rdi*8]
xor r14, qword [rax + r13*8]
add r14, qword [rsp + 8]
lea rbx, [r14 + r14*8]
mov r14, r10
shr r14, 0x20
movzx r13d, r14b
mov r14, r10
xor rdi, qword [rcx + r13*8]
shr r14, 0x30
movzx r13d, r10b
xor rdi, qword [rdx + r13*8]
movzx r13d, r14b
xor rdi, qword [r8 + r13*8]
sub rbx, rdi
mov r14, rbx
mov rbx, r10
movzx edi, bh
mov r13, rdi
mov rdi, r10
shr rdi, 0x18
mov r13, qword [r8 + r13*8]
movzx edi, dil
xor r13, qword [rcx + rdi*8]
mov rdi, r10
shr rdi, 0x38
xor r13, qword [rdx + rdi*8]
mov rdi, r10
shr rdi, 0x28
xor r14, r9
movzx edi, dil
mov r9, r14
mov rbx, r14
xor r13, qword [rax + rdi*8]
mov rdi, r14
shr r9, 0x10
shr rdi, 0x20
movzx r9d, r9b
add r13, r11
movzx edi, dil
mov r9, qword [rax + r9*8]
lea r11, [r13 + r13*8]
xor r9, qword [rcx + rdi*8]
movzx edi, r14b
xor r9, qword [rdx + rdi*8]
mov rdi, r14
shr rdi, 0x30
movzx edi, dil
xor r9, qword [r8 + rdi*8]
movzx edi, bh
sub r11, r9
mov r9, r14
mov rdi, qword [r8 + rdi*8]
shr r9, 0x18
xor r12, r11
movzx r9d, r9b
mov r11, r12
mov rbx, r12
xor rdi, qword [rcx + r9*8]
mov r9, r14
shr r11, 0x20
shr r9, 0x38
movzx r11d, r11b
xor rdi, qword [rdx + r9*8]
mov r9, r14
shr r9, 0x28
movzx r9d, r9b
xor rdi, qword [rax + r9*8]
mov r9, r12
shr r9, 0x10
add rdi, r10
movzx r9d, r9b
lea r10, [rdi + rdi*8]
movzx edi, bh
mov r9, qword [rax + r9*8]
xor r9, qword [rcx + r11*8]
movzx r11d, r12b
xor r9, qword [rdx + r11*8]
mov r11, r12
shr r11, 0x30
movzx r11d, r11b
xor r9, qword [r8 + r11*8]
mov r11, r12
shr r11, 0x18
sub r10, r9
mov r9, qword [r8 + rdi*8]
movzx r11d, r11b
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]
add r9, r14
xor rsi, r10
mov r10, rsi
mov r11, rsi
lea r9, [r9 + r9*8]
mov rbx, rsi
shr r10, 0x10
shr r11, 0x20
movzx edi, bh
movzx r11d, r11b
movzx r10d, r10b
mov r10, qword [rax + r10*8]
xor r10, qword [rcx + r11*8]
movzx r11d, sil
xor r10, qword [rdx + r11*8]
mov r11, rsi
shr r11, 0x30
movzx r11d, r11b
xor r10, qword [r8 + r11*8]
mov r11, qword [r8 + rdi*8]
sub r9, r10
mov r10, rsi
shr r10, 0x18
xor rbp, r9
movzx r10d, r10b
mov r9, rbp
xor r11, qword [rcx + r10*8]
mov r10, rsi
shr r9, 0x10
shr r10, 0x38
movzx r9d, r9b
xor r11, qword [rdx + r10*8]
mov r10, rsi
mov r9, qword [rax + r9*8]
shr r10, 0x28
movzx r10d, r10b
xor r11, qword [rax + r10*8]
mov r10, rbp
shr r10, 0x20
add r11, r12
movzx r10d, r10b
lea rbx, [r11 + r11*8]
xor r9, qword [rcx + r10*8]
movzx r10d, bpl
xor r9, qword [rdx + r10*8]
mov r10, rbp
shr r10, 0x30
movzx r10d, r10b
xor r9, qword [r8 + r10*8]
sub rbx, r9
mov r9, rbp
mov r14, rbx
shr r9, 0x18
mov rbx, rbp
movzx edi, bh
movzx r9d, r9b
xor r14, r15
mov r10, qword [r8 + rdi*8]
xor r10, qword [rcx + r9*8]
mov r9, rbp
mov rbx, r14
shr r9, 0x38
movzx edi, bh
mov r12, r14
xor r10, qword [rdx + r9*8]
mov r9, rbp
shr r9, 0x28
movzx r9d, r9b
xor r10, qword [rax + r9*8]
mov r9, r14
add rsi, r10
mov r10, r14
shr r9, 0x10
shr r10, 0x20
movzx r9d, r9b
lea r11, [rsi + rsi*8]
movzx r10d, r10b
mov r9, qword [rax + r9*8]
xor r9, qword [rcx + r10*8]
movzx r10d, r14b
xor r9, qword [rdx + r10*8]
mov r10, r14
shr r10, 0x30
movzx r10d, r10b
xor r9, qword [r8 + r10*8]
mov r10, qword [r8 + rdi*8]
sub r11, r9
mov r9, r14
shr r9, 0x18
movzx r9d, r9b
xor r10, qword [rcx + r9*8]
mov r9, r14
shr r9, 0x38
xor r10, qword [rdx + r9*8]
mov r9, r14
movabs r14, 0x123456789abcdef
xor r14, r15
mov r15, qword [rsp + 0x10]
shr r9, 0x28
movzx r9d, r9b
sub r15, r14
xor r10, qword [rax + r9*8]
xor r11, r15
add rbp, r10
mov r9, r11
mov r10, r11
mov rbx, r11
shr r9, 0x10
shr r10, 0x20
movzx esi, bh
movzx r10d, r10b
movzx r9d, r9b
mov r9, qword [rax + r9*8]
xor r9, qword [rcx + r10*8]
movzx r10d, r11b
xor r9, qword [rdx + r10*8]
mov r10, r11
shr r10, 0x30
movzx r10d, r10b
xor r9, qword [r8 + r10*8]
mov r10, r11
mov r8, qword [r8 + rsi*8]
shr r10, 0x18
movzx r10d, r10b
xor r8, qword [rcx + r10*8]
mov rcx, r8
mov r8, r11
shr r8, 0x38
xor rcx, qword [rdx + r8*8]
mov rdx, rcx
mov rcx, r11
sub r11, qword [rsp + 0x28]
shr rcx, 0x28
movzx ecx, cl
xor rdx, qword [rax + rcx*8]
lea rbx, [r12 + rdx]
mov rdx, qword [rsp + 0x98]
lea rax, [rbx + rbx*8]
xor rax, qword [rsp + 0x20]
mov qword [rdx], rax
lea rax, [rbp + rbp*8]
mov qword [rdx + 8], r11
add rax, qword [rsp + 0x30]
sub rax, r9
mov qword [rdx + 0x10], rax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret