Function at 0x640030
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 r11, qword [rcx]
mov r8, qword [rcx + 0x30]
mov rax, rdx
mov rdx, qword [rdx]
mov r13, qword [rcx + 0x20]
mov rsi, qword [rax + 0x10]
mov rbp, qword [rcx + 8]
mov r15, qword [rcx + 0x18]
mov r14, qword [rcx + 0x28]
mov rdi, rdx
mov rdx, qword [rax + 8]
mov qword [rsp + 8], r8
mov rbx, rsi
mov rsi, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x20], rbx
xor rbx, r11
mov qword [rsp + 0x28], rax
mov r8, rbx
mov r9, rbx
lea rax, [0x007c76c0]
mov qword [rsp + 0x10], rcx
shr r9, 0x20
lea rcx, [0x007c6ec0]
shr r8, 0x10
mov r12, rdx
movzx edx, r9b
movzx r8d, r8b
mov r10, rbx
mov qword [rsp + 0x18], rdi
mov r9, qword [rax + r8*8]
xor r9, qword [rcx + rdx*8]
lea rdx, [0x007c7ec0]
movzx r8d, bl
shr r10, 0x30
movzx eax, bh
xor r9, qword [rdx + r8*8]
lea r8, str.U_2
movzx r10d, r10b
mov qword [rsp], r12
xor r9, qword [r8 + r10*8]
mov r10, rdi
mov rdi, rbx
shr rdi, 0x18
movzx edi, dil
sub r10, r9
mov r9, qword [r8 + rax*8]
xor r9, qword [rcx + rdi*8]
mov rdi, rbx
lea rax, [0x007c76c0]
xor r10, rbp
shr rdi, 0x38
xor r9, qword [rdx + rdi*8]
mov rdi, rbx
shr rdi, 0x28
movzx edi, dil
xor r9, qword [rax + rdi*8]
mov rdi, r10
shr rdi, 0x10
movzx edi, dil
mov rdi, qword [rax + rdi*8]
mov rax, r10
add r9, r12
mov r12, r10
shr r12, 0x20
lea r9, [r9 + r9*4]
movzx r12d, r12b
xor rdi, qword [rcx + r12*8]
movzx r12d, r10b
xor rdi, qword [rdx + r12*8]
mov r12, r10
shr r12, 0x30
movzx r12d, r12b
xor rdi, qword [r8 + r12*8]
mov r12, r10
shr r12, 0x18
movzx r12d, r12b
sub r9, rdi
movzx edi, ah
lea rax, [0x007c76c0]
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, r10
shr r12, 0x38
xor r9, rsi
xor rdi, qword [rdx + r12*8]
mov r12, r10
shr r12, 0x28
movzx r12d, r12b
xor rdi, qword [rax + r12*8]
mov r12, r9
shr r12, 0x20
movzx r12d, r12b
add rbx, rdi
mov rdi, r9
shr rdi, 0x10
lea rbx, [rbx + rbx*4]
movzx edi, dil
mov rdi, qword [rax + rdi*8]
xor rdi, qword [rcx + r12*8]
movzx r12d, r9b
xor rdi, qword [rdx + r12*8]
mov r12, r9
mov rax, r9
shr r12, 0x30
movzx r12d, r12b
xor rdi, qword [r8 + r12*8]
mov r12, r9
shr r12, 0x18
movzx r12d, r12b
sub rbx, rdi
movzx edi, ah
lea rax, [0x007c76c0]
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, r9
shr r12, 0x38
xor rbx, r15
xor rdi, qword [rdx + r12*8]
mov r12, r9
shr r12, 0x28
movzx r12d, r12b
xor rdi, qword [rax + r12*8]
mov r12, rbx
shr r12, 0x20
movzx r12d, r12b
add r10, rdi
mov rdi, rbx
shr rdi, 0x10
lea r10, [r10 + r10*4]
movzx edi, dil
mov rdi, qword [rax + rdi*8]
xor rdi, qword [rcx + r12*8]
movzx r12d, bl
xor rdi, qword [rdx + r12*8]
mov r12, rbx
shr r12, 0x30
movzx r12d, r12b
xor rdi, qword [r8 + r12*8]
mov r12, rbx
shr r12, 0x18
movzx r12d, r12b
sub r10, rdi
movzx edi, bh
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, rbx
shr r12, 0x38
xor r10, r13
xor rdi, qword [rdx + r12*8]
mov r12, rbx
shr r12, 0x28
movzx r12d, r12b
xor rdi, qword [rax + r12*8]
mov r12, r10
shr r12, 0x20
movzx r12d, r12b
add r9, rdi
mov rdi, r10
shr rdi, 0x10
lea r9, [r9 + r9*4]
movzx edi, dil
mov rdi, qword [rax + rdi*8]
xor rdi, qword [rcx + r12*8]
movzx r12d, r10b
xor rdi, qword [rdx + r12*8]
mov r12, r10
mov rax, r10
shr r12, 0x30
movzx r12d, r12b
xor rdi, qword [r8 + r12*8]
mov r12, r10
shr r12, 0x18
movzx r12d, r12b
sub r9, rdi
movzx edi, ah
lea rax, [0x007c76c0]
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, r10
shr r12, 0x38
xor r9, r14
xor rdi, qword [rdx + r12*8]
mov r12, r10
shr r12, 0x28
movzx r12d, r12b
xor rdi, qword [rax + r12*8]
mov r12, r9
shr r12, 0x20
movzx r12d, r12b
add rbx, rdi
mov rdi, r9
shr rdi, 0x10
lea rbx, [rbx + rbx*4]
movzx edi, dil
mov rdi, qword [rax + rdi*8]
xor rdi, qword [rcx + r12*8]
movzx r12d, r9b
xor rdi, qword [rdx + r12*8]
mov r12, r9
mov rax, r9
shr r12, 0x30
movzx r12d, r12b
xor rdi, qword [r8 + r12*8]
mov r12, r9
shr r12, 0x18
movzx r12d, r12b
sub rbx, rdi
movzx edi, ah
lea rax, [0x007c76c0]
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, r9
shr r12, 0x38
xor rbx, qword [rsp + 8]
xor rdi, qword [rdx + r12*8]
mov r12, r9
shr r12, 0x28
movzx r12d, r12b
xor rdi, qword [rax + r12*8]
mov r12, rbx
shr r12, 0x20
movzx r12d, r12b
add r10, rdi
mov rdi, rbx
shr rdi, 0x10
lea r10, [r10 + r10*4]
movzx edi, dil
mov rdi, qword [rax + rdi*8]
xor rdi, qword [rcx + r12*8]
movzx r12d, bl
xor rdi, qword [rdx + r12*8]
mov r12, rbx
shr r12, 0x30
movzx r12d, r12b
xor rdi, qword [r8 + r12*8]
mov r12, rbx
shr r12, 0x18
movzx r12d, r12b
sub r10, rdi
movzx edi, bh
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, rbx
shr r12, 0x38
xor r10, qword [rsp + 0x10]
xor rdi, qword [rdx + r12*8]
mov r12, rbx
shr r12, 0x28
movzx r12d, r12b
xor rdi, qword [rax + r12*8]
mov r12, r10
shr r12, 0x20
movzx r12d, r12b
add r9, rdi
mov rdi, r10
shr rdi, 0x10
lea r9, [r9 + r9*4]
movzx edi, dil
mov rdi, qword [rax + rdi*8]
xor rdi, qword [rcx + r12*8]
movzx r12d, r10b
xor rdi, qword [rdx + r12*8]
mov r12, r10
mov rax, r10
shr r12, 0x30
movzx r12d, r12b
xor rdi, qword [r8 + r12*8]
mov r12, r10
shr r12, 0x18
movzx r12d, r12b
sub r9, rdi
movzx edi, ah
lea rax, [0x007c76c0]
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, r10
shr r12, 0x38
xor rdi, qword [rdx + r12*8]
mov r12, r10
shr r12, 0x28
movzx r12d, r12b
xor rdi, qword [rax + r12*8]
mov rax, qword [rsp + 0x10]
add rbx, rdi
movabs rdi, 0xa5a5a5a5a5a5a5a5
xor rdi, rax
lea rbx, [rbx + rbx*4]
sub r11, rdi
xor rbp, r11
mov rdi, rbp
add rsi, rbp
not rdi
shl rdi, 0x13
xor rdi, rsi
sub r15, rdi
mov rdi, r13
mov r13, qword [rsp + 8]
xor rdi, r15
mov r12, rdi
add r14, rdi
not r12
shr r12, 0x17
xor r12, r14
sub r13, r12
mov r12, rax
xor r12, r13
add r11, r12
mov rax, r11
mov r11, r12
not r11
xor r9, rax
shl r11, 0x13
xor r11, rax
sub rbp, r11
xor rsi, rbp
mov r11, rsi
add r15, rsi
not r11
shr r11, 0x17
xor r11, r15
sub rdi, r11
movabs r11, 0x123456789abcdef
xor r14, rdi
add r13, r14
xor r11, r13
sub r12, r11
mov r11, r9
mov qword [rsp + 0x10], r12
mov r12, r9
mov qword [rsp + 8], rax
shr r11, 0x10
shr r12, 0x20
lea rax, [0x007c76c0]
movzx r12d, r12b
movzx r11d, r11b
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + r12*8]
movzx r12d, r9b
xor r11, qword [rdx + r12*8]
mov r12, r9
mov rax, r9
shr r12, 0x30
movzx eax, ah
movzx r12d, r12b
xor r11, qword [r8 + r12*8]
mov r12, r9
shr r12, 0x18
movzx r12d, r12b
sub rbx, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + r12*8]
mov r12, r9
lea rax, [0x007c76c0]
xor rbx, rbp
shr r12, 0x38
xor r11, qword [rdx + r12*8]
mov r12, r9
shr r12, 0x28
movzx r12d, r12b
xor r11, qword [rax + r12*8]
add r10, r11
mov r11, rbx
lea r12, [r10*8]
shr r11, 0x20
movzx r11d, r11b
sub r12, r10
mov r10, rbx
shr r10, 0x10
movzx r10d, r10b
mov r10, qword [rax + r10*8]
xor r10, qword [rcx + r11*8]
movzx r11d, bl
xor r10, qword [rdx + r11*8]
mov r11, rbx
movzx eax, bh
shr r11, 0x30
movzx r11d, r11b
xor r10, qword [r8 + r11*8]
mov r11, rbx
shr r11, 0x18
movzx r11d, r11b
sub r12, r10
mov r10, qword [r8 + rax*8]
xor r10, qword [rcx + r11*8]
mov r11, rbx
lea rax, [0x007c76c0]
xor r12, rsi
shr r11, 0x38
xor r10, qword [rdx + r11*8]
mov r11, rbx
shr r11, 0x28
movzx r11d, r11b
xor r10, qword [rax + r11*8]
add r9, r10
mov r10, r12
lea r11, [r9*8]
shr r10, 0x20
movzx r10d, r10b
sub r11, r9
mov r9, r12
shr r9, 0x10
movzx r9d, r9b
mov r9, qword [rax + r9*8]
xor r9, qword [rcx + r10*8]
movzx r10d, r12b
xor r9, qword [rdx + r10*8]
mov r10, r12
mov rax, r12
shr r10, 0x30
movzx eax, ah
movzx r10d, r10b
xor r9, qword [r8 + r10*8]
mov r10, r12
shr r10, 0x18
movzx r10d, r10b
sub r11, r9
mov r9, qword [r8 + rax*8]
xor r9, qword [rcx + r10*8]
mov r10, r12
lea rax, [0x007c76c0]
xor r11, r15
shr r10, 0x38
xor r9, qword [rdx + r10*8]
mov r10, r12
shr r10, 0x28
movzx r10d, r10b
xor r9, qword [rax + r10*8]
add rbx, r9
mov r9, r11
lea r10, [rbx*8]
shr r9, 0x10
movzx r9d, r9b
sub r10, rbx
mov rbx, r11
mov r9, qword [rax + r9*8]
shr rbx, 0x20
mov rax, r11
movzx ebx, bl
movzx eax, ah
xor r9, qword [rcx + rbx*8]
movzx ebx, r11b
xor r9, qword [rdx + rbx*8]
mov rbx, r11
shr rbx, 0x30
movzx ebx, bl
xor r9, qword [r8 + rbx*8]
mov rbx, r11
shr rbx, 0x18
movzx ebx, bl
sub r10, r9
mov r9, qword [r8 + rax*8]
xor r9, qword [rcx + rbx*8]
mov rbx, r11
lea rax, [0x007c76c0]
xor r10, rdi
shr rbx, 0x38
xor r9, qword [rdx + rbx*8]
mov rbx, r11
shr rbx, 0x28
movzx ebx, bl
xor r9, qword [rax + rbx*8]
mov rbx, r10
shr rbx, 0x10
movzx ebx, bl
mov rbx, qword [rax + rbx*8]
mov rax, r10
add r12, r9
lea r9, [r12*8]
sub r9, r12
mov r12, r10
shr r12, 0x20
movzx r12d, r12b
xor rbx, qword [rcx + r12*8]
movzx r12d, r10b
xor rbx, qword [rdx + r12*8]
mov r12, r10
shr r12, 0x30
movzx r12d, r12b
xor rbx, qword [r8 + r12*8]
mov r12, r10
shr r12, 0x18
movzx r12d, r12b
sub r9, rbx
movzx ebx, ah
lea rax, [0x007c76c0]
mov rbx, qword [r8 + rbx*8]
xor rbx, qword [rcx + r12*8]
mov r12, r10
shr r12, 0x38
xor r9, r14
xor rbx, qword [rdx + r12*8]
mov r12, r10
shr r12, 0x28
movzx r12d, r12b
xor rbx, qword [rax + r12*8]
mov r12, r9
shr r12, 0x20
movzx r12d, r12b
add r11, rbx
lea rbx, [r11*8]
sub rbx, r11
mov r11, r9
shr r11, 0x10
movzx r11d, r11b
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + r12*8]
movzx r12d, r9b
xor r11, qword [rdx + r12*8]
mov r12, r9
mov rax, r9
shr r12, 0x30
movzx eax, ah
movzx r12d, r12b
xor r11, qword [r8 + r12*8]
mov r12, r9
shr r12, 0x18
movzx r12d, r12b
sub rbx, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + r12*8]
mov r12, r9
lea rax, [0x007c76c0]
xor rbx, r13
shr r12, 0x38
xor r11, qword [rdx + r12*8]
mov r12, r9
shr r12, 0x28
movzx r12d, r12b
xor r11, qword [rax + r12*8]
mov r12, rbx
shr r12, 0x20
movzx r12d, r12b
add r11, r10
lea r10, [r11*8]
sub r10, r11
mov r11, rbx
shr r11, 0x10
movzx r11d, r11b
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + r12*8]
movzx r12d, bl
xor r11, qword [rdx + r12*8]
mov r12, rbx
movzx eax, bh
shr r12, 0x30
movzx r12d, r12b
xor r11, qword [r8 + r12*8]
mov r12, rbx
shr r12, 0x18
movzx r12d, r12b
sub r10, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + r12*8]
mov r12, rbx
lea rax, [0x007c76c0]
xor r10, qword [rsp + 0x10]
shr r12, 0x38
xor r11, qword [rdx + r12*8]
mov r12, rbx
shr r12, 0x28
movzx r12d, r12b
xor r11, qword [rax + r12*8]
mov r12, r10
shr r12, 0x20
movzx r12d, r12b
add r11, r9
lea r9, [r11*8]
sub r9, r11
mov r11, r10
shr r11, 0x10
movzx r11d, r11b
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + r12*8]
movzx r12d, r10b
xor r11, qword [rdx + r12*8]
mov r12, r10
mov rax, r10
shr r12, 0x30
movzx eax, ah
movzx r12d, r12b
xor r11, qword [r8 + r12*8]
mov r12, r10
shr r12, 0x18
movzx r12d, r12b
sub r9, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + r12*8]
mov r12, r10
lea rax, [0x007c76c0]
shr r12, 0x38
xor r11, qword [rdx + r12*8]
mov r12, r10
shr r12, 0x28
movzx r12d, r12b
xor r11, qword [rax + r12*8]
mov rax, qword [rsp + 0x10]
mov r12, qword [rsp + 8]
add r11, rbx
lea rbx, [r11*8]
sub rbx, r11
movabs r11, 0xa5a5a5a5a5a5a5a5
xor r11, rax
sub r12, r11
xor rbp, r12
mov r11, rbp
add rsi, rbp
not r11
shl r11, 0x13
xor r11, rsi
sub r15, r11
xor rdi, r15
mov r11, rdi
add r14, rdi
not r11
shr r11, 0x17
xor r11, r14
sub r13, r11
xor rax, r13
mov r11, rax
add r12, rax
mov qword [rsp + 8], rax
not r11
lea rax, [0x007c76c0]
shl r11, 0x13
xor r11, r12
sub rbp, r11
xor rsi, rbp
mov r11, rsi
add r15, rsi
not r11
shr r11, 0x17
xor r11, r15
sub rdi, r11
xor r14, rdi
add r13, r14
xor r9, r12
mov r11, r9
mov r12, r9
shr r11, 0x10
shr r12, 0x20
movzx r12d, r12b
movzx r11d, r11b
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + r12*8]
movzx r12d, r9b
xor r11, qword [rdx + r12*8]
mov r12, r9
mov rax, r9
shr r12, 0x30
movzx eax, ah
movzx r12d, r12b
xor r11, qword [r8 + r12*8]
mov r12, r9
shr r12, 0x18
movzx r12d, r12b
sub rbx, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + r12*8]
mov r12, r9
lea rax, [0x007c76c0]
xor rbx, rbp
shr r12, 0x38
mov rbp, rbx
xor r11, qword [rdx + r12*8]
mov r12, r9
shr rbp, 0x20
shr r12, 0x28
movzx ebp, bpl
movzx r12d, r12b
xor r11, qword [rax + r12*8]
mov r12, rax
add r10, r11
mov r11, rbx
shr r11, 0x10
lea r10, [r10 + r10*8]
movzx r11d, r11b
mov r11, qword [rax + r11*8]
xor r11, qword [rcx + rbp*8]
movzx ebp, bl
xor r11, qword [rdx + rbp*8]
mov rbp, rbx
movzx eax, bh
shr rbp, 0x30
movzx ebp, bpl
xor r11, qword [r8 + rbp*8]
mov rbp, rbx
shr rbp, 0x18
movzx ebp, bpl
sub r10, r11
mov r11, qword [r8 + rax*8]
xor r11, qword [rcx + rbp*8]
mov rbp, rbx
xor r10, rsi
shr rbp, 0x38
mov rsi, r10
mov rax, r10
xor r11, qword [rdx + rbp*8]
mov rbp, rbx
shr rbp, 0x28
movzx ebp, bpl
xor r11, qword [r12 + rbp*8]
movzx ebp, ah
add r9, r11
mov r11, r10
shr r11, 0x10
shr rsi, 0x20
lea r9, [r9 + r9*8]
movzx esi, sil
movzx r11d, r11b
mov r11, qword [r12 + r11*8]
xor r11, qword [rcx + rsi*8]
movzx esi, r10b
xor r11, qword [rdx + rsi*8]
mov rsi, r10
shr rsi, 0x30
movzx esi, sil
xor r11, qword [r8 + rsi*8]
mov rsi, r10
shr rsi, 0x18
movzx esi, sil
sub r9, r11
mov r11, qword [r8 + rbp*8]
xor r11, qword [rcx + rsi*8]
mov rsi, r10
xor r9, r15
shr rsi, 0x38
mov r15, r9
mov rax, r9
xor r11, qword [rdx + rsi*8]
mov rsi, r10
shr r15, 0x10
shr rsi, 0x28
movzx ebp, ah
movzx esi, sil
xor r11, qword [r12 + rsi*8]
mov rsi, r9
shr rsi, 0x20
movzx esi, sil
add rbx, r11
movzx r11d, r15b
mov r11, qword [r12 + r11*8]
xor r11, qword [rcx + rsi*8]
movzx esi, r9b
xor r11, qword [rdx + rsi*8]
mov rsi, r9
lea rbx, [rbx + rbx*8]
shr rsi, 0x30
movzx esi, sil
xor r11, qword [r8 + rsi*8]
mov rsi, r9
shr rsi, 0x18
movzx esi, sil
sub rbx, r11
mov r11, qword [r8 + rbp*8]
xor r11, qword [rcx + rsi*8]
mov rsi, r9
xor rbx, rdi
shr rsi, 0x38
mov r15, rbx
movzx edi, bh
xor r11, qword [rdx + rsi*8]
mov rsi, r9
shr r15, 0x10
shr rsi, 0x28
movzx esi, sil
xor r11, qword [r12 + rsi*8]
mov rsi, rbx
shr rsi, 0x20
movzx esi, sil
add r10, r11
movzx r11d, r15b
movabs r15, 0x123456789abcdef
mov r11, qword [r12 + r11*8]
xor r11, qword [rcx + rsi*8]
movzx esi, bl
xor r11, qword [rdx + rsi*8]
mov rsi, rbx
lea r10, [r10 + r10*8]
shr rsi, 0x30
movzx esi, sil
xor r11, qword [r8 + rsi*8]
mov rsi, rbx
shr rsi, 0x18
movzx esi, sil
sub r10, r11
mov r11, qword [r8 + rdi*8]
xor r11, qword [rcx + rsi*8]
mov rsi, rbx
xor r10, r14
shr rsi, 0x38
mov r14, r10
mov rax, r10
xor r11, qword [rdx + rsi*8]
mov rsi, rbx
shr r14, 0x10
shr rsi, 0x28
movzx edi, ah
movzx esi, sil
xor r11, qword [r12 + rsi*8]
mov rsi, r10
shr rsi, 0x20
movzx esi, sil
add r9, r11
movzx r11d, r14b
mov r11, qword [r12 + r11*8]
xor r11, qword [rcx + rsi*8]
movzx esi, r10b
xor r11, qword [rdx + rsi*8]
mov rsi, r10
lea r9, [r9 + r9*8]
shr rsi, 0x30
movzx esi, sil
xor r11, qword [r8 + rsi*8]
mov rsi, r10
shr rsi, 0x18
movzx esi, sil
sub r9, r11
mov r11, qword [r8 + rdi*8]
xor r11, qword [rcx + rsi*8]
mov rsi, r10
xor r9, r13
shr rsi, 0x38
mov r14, r9
mov rax, r9
xor r11, qword [rdx + rsi*8]
mov rsi, r10
shr r14, 0x10
shr rsi, 0x28
movzx edi, ah
movzx esi, sil
xor r11, qword [r12 + rsi*8]
mov rsi, r9
shr rsi, 0x20
movzx esi, sil
add rbx, r11
movzx r11d, r14b
mov r11, qword [r12 + r11*8]
xor r11, qword [rcx + rsi*8]
movzx esi, r9b
xor r11, qword [rdx + rsi*8]
mov rsi, r9
lea rbx, [rbx + rbx*8]
shr rsi, 0x30
movzx esi, sil
xor r11, qword [r8 + rsi*8]
mov rsi, r9
sub rbx, r11
shr rsi, 0x18
mov r11, qword [r8 + rdi*8]
movzx esi, sil
xor r13, r15
xor r11, qword [rcx + rsi*8]
mov rsi, r9
shr rsi, 0x38
xor r11, qword [rdx + rsi*8]
mov rsi, r9
shr rsi, 0x28
movzx esi, sil
xor r11, qword [r12 + rsi*8]
add r10, r11
lea r11, [r10 + r10*8]
mov r10, qword [rsp + 8]
sub r10, r13
xor rbx, r10
mov r14, rbx
mov rsi, rbx
movzx edi, bh
shr r14, 0x10
shr rsi, 0x20
movzx r10d, r14b
movzx esi, sil
mov r10, qword [r12 + r10*8]
xor r10, qword [rcx + rsi*8]
movzx esi, bl
xor r10, qword [rdx + rsi*8]
mov rsi, rbx
shr rsi, 0x30
movzx esi, sil
xor r10, 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, rbx
shr rcx, 0x38
xor r8, qword [rdx + rcx*8]
mov rcx, rbx
shr rcx, 0x28
movzx edx, cl
xor r8, qword [r12 + rdx*8]
mov rdx, qword [rsp + 0x28]
add r9, r8
lea rax, [r9 + r9*8]
xor rax, qword [rsp + 0x18]
mov qword [rdx], rax
add r11, qword [rsp + 0x20]
sub rbx, qword [rsp]
sub r11, r10
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], r11
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret