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