Function at 0x18010a290
Capabilities:
Decompress data using quicklz

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x68
call fcn.180188f30
sub rsp, rax
movzx r11d, byte [rcx + 0x34]
movzx r8d, byte [rcx + 0x30]
movzx eax, byte [rcx + 0x2f]
shr rax, 2
mov rbx, rcx
and r11d, 0xf
movzx esi, byte [rbx + 0x37]
movzx edi, byte [rbx + 0x3c]
movzx r14d, byte [rbx + 0x37]
movzx r13d, byte [rbx + 0x3e]
movzx r15d, byte [rbx + 0x2c]
shl r8, 6
or r8, rax
movzx eax, byte [rcx + 0x31]
and esi, 1
and eax, 0x7f
shl r11, 8
shl r13, 8
shl rax, 0xe
shl rsi, 8
and edi, 7
shr r14, 1
and r8d, 0x1fffff
shl rdi, 8
or r8, rax
movzx eax, byte [rcx + 0x33]
movzx ecx, byte [rcx + 0x32]
and eax, 0xfff
add rcx, rcx
or r11, rax
movzx eax, byte [rbx + 0x31]
shr rax, 7
shl r11, 9
or rcx, rax
movzx eax, byte [rbx + 0x36]
and eax, 0x1ff
and ecx, 0x1fffff
or rsi, rax
movzx eax, byte [rbx + 0x35]
or r11, rcx
movzx ecx, byte [rbx + 0x34]
shl rax, 4
shl rsi, 0xc
shr rcx, 4
mov qword [rsp + 0xc0], r11
or rcx, rax
movzx eax, byte [rbx + 0x38]
shl rax, 7
and ecx, 0x1fffff
or r14, rax
movzx eax, byte [rbx + 0x39]
or rsi, rcx
movzx ecx, byte [rbx + 0x3a]
and eax, 0x3f
and r14d, 0x1fffff
shl rax, 0xf
shl rcx, 2
or r14, rax
movzx eax, byte [rbx + 0x3b]
and eax, 0x7ff
or rdi, rax
movzx eax, byte [rbx + 0x39]
shr rax, 6
shl rdi, 0xa
or rcx, rax
movzx eax, byte [rbx + 0x3d]
or r13, rax
and ecx, 0x1fffff
movabs rax, 0xffffffffffffff
and r13, rax
movzx eax, byte [rbx + 0x3f]
or rdi, rcx
movabs rcx, 0xffffffffff
and rax, rcx
shl rax, 0x10
or r13, rax
movzx eax, byte [rbx + 0x3c]
shr rax, 3
shl r13, 5
or r13, rax
shl r15, 8
movzx eax, byte [rbx + 0x2b]
movzx r12d, byte [rbx + 0x27]
movzx ecx, byte [rbx + 0x25]
or r15, rax
movzx eax, byte [rbx + 0x2a]
movzx ebp, byte [rbx + 0x22]
movzx edx, byte [rbx + 0x12]
movzx r10d, byte [rbx + 0x17]
shl rcx, 2
and ebp, 1
and r12d, 7
shl r15, 8
or r15, rax
shl rbp, 8
shl r12, 8
and r15d, 0x1fffff
and edx, 7
mov rax, r13
shl rdx, 8
imul rax, rax, 0xa6f7d
sub r15, rax
movzx eax, byte [rbx + 0x26]
and eax, 0x7ff
or r12, rax
movzx eax, byte [rbx + 0x24]
shr rax, 6
shl r12, 0xa
or rcx, rax
mov rax, r14
and ecx, 0x1fffff
or r12, rcx
movzx ecx, byte [rbx + 0x1f]
imul rax, rax, 0xa6f7d
sub r12, rax
shr rcx, 4
mov rax, r13
imul rax, rax, 0xf39ad
sub r12, rax
mov rax, rdi
imul rax, rax, 0x215d1
add r12, rax
movzx eax, byte [rbx + 0x21]
and eax, 0x1ff
or rbp, rax
movzx eax, byte [rbx + 0x20]
shl rax, 4
shl rbp, 0xc
or rcx, rax
mov rax, rdi
and ecx, 0x1fffff
or rbp, rcx
movzx ecx, byte [rbx + 0xf]
imul rax, rax, 0x9fb67
add rbp, rax
shr rcx, 6
mov rax, r11
imul rax, rax, 0xa6f7d
sub rbp, rax
mov rax, r14
imul rax, rax, 0xf39ad
sub rbp, rax
mov rax, r13
imul rax, rax, 0x72d18
add rbp, rax
mov rax, rsi
imul rax, rax, 0x215d1
add rbp, rax
movzx eax, byte [rbx + 0x11]
and eax, 0x7ff
or rdx, rax
movzx eax, byte [rbx + 0x10]
shl rax, 2
shl rdx, 0xa
or rcx, rax
mov rax, r8
and ecx, 0x1fffff
or rdx, rcx
imul rax, rax, 0xa2c13
add rdx, rax
shl r10, 8
mov qword [rsp + 0xb8], rdx
movzx eax, byte [rbx + 0x16]
movzx r9d, byte [rbx + 0x1a]
or r10, rax
movzx eax, byte [rbx + 0x15]
shr r9, 2
shl r10, 8
or r10, rax
mov rax, r8
and r10d, 0x1fffff
imul rax, rax, 0x9fb67
add r10, rax
mov rax, r11
imul rax, rax, 0x72d18
add r10, rax
mov rax, rsi
imul rax, rax, 0xa2c13
add r10, rax
movzx eax, byte [rbx + 0x1b]
shl rax, 6
mov qword [rsp + 0xc8], r10
or r9, rax
movzx eax, byte [rbx + 0x1c]
lea rbx, [rdx + 0x100000]
mov rdx, qword [rsp + 0xb0]
and eax, 0x7f
and r9d, 0x1fffff
movzx ecx, byte [rdx + 0x12]
shl rax, 0xe
sar rbx, 0x15
or r9, rax
shr rcx, 3
mov rax, rsi
imul rax, rax, 0x9fb67
add r9, rax
mov rax, r11
imul rax, rax, 0xf39ad
sub r9, rax
mov rax, r14
imul rax, rax, 0x72d18
add r9, rax
mov rax, rdi
imul rax, rax, 0xa2c13
add r9, rax
mov rax, r8
imul rax, rax, 0x215d1
add r9, rax
movzx eax, byte [rdx + 0x13]
shl rax, 5
mov qword [rsp + 0x10], r9
or rcx, rax
movzx eax, byte [rdx + 0x14]
mov rdx, r11
shl rax, 0xd
and ecx, 0x1fffff
lea r11, [r10 + 0x100000]
imul rdx, rdx, 0xa2c13
mov r10, qword [rsp + 0xb0]
or rcx, rax
mov rax, r8
sar r11, 0x15
imul rax, rax, 0x72d18
add rax, rbx
add rax, rcx
movzx ecx, byte [r10 + 0x18]
add rdx, rax
movzx eax, byte [r10 + 0x19]
shl rcx, 3
mov qword [rsp + 8], rdx
movzx edx, byte [r10 + 0x1a]
and eax, 0x3ff
and edx, 3
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x17]
shr rax, 5
shl rdx, 0xb
or rcx, rax
mov rax, qword [rsp + 0xc0]
and ecx, 0x1fffff
or rdx, rcx
imul rax, rax, 0x9fb67
add rdx, rax
mov rax, r8
lea r10, [r9 + 0x100000]
mov r9, qword [rsp + 0xb0]
mov rcx, r14
imul r8, r8, 0xa6f7d
imul rax, rax, 0xf39ad
sub rdx, rax
mov rax, rsi
sar r10, 0x15
imul rcx, rcx, 0xa2c13
imul rax, rax, 0x72d18
add rax, r11
add rax, rdx
movzx edx, byte [r9 + 0x1f]
add rcx, rax
movzx eax, byte [r9 + 0x1e]
and edx, 0xf
and eax, 0xfff
mov qword [rsp + 0x20], rcx
movzx ecx, byte [r9 + 0x1c]
shr rcx, 7
shl rdx, 8
or rdx, rax
movzx eax, byte [r9 + 0x1d]
lea r9, [rbp + 0x100000]
add rax, rax
shl rdx, 9
sar r9, 0x15
or rcx, rax
mov rax, r14
and ecx, 0x1fffff
or rdx, rcx
mov rcx, qword [rsp + 0xc0]
imul r14, r14, 0x215d1
imul rax, rax, 0x9fb67
add rdx, rax
mov rax, rsi
sub rdx, r8
lea r8, [r12 + 0x100000]
imul rcx, rcx, 0x215d1
sar r8, 0x15
imul rax, rax, 0xf39ad
imul rsi, rsi, 0xa6f7d
sub rdx, rax
mov rax, rdi
imul rax, rax, 0x72d18
add rdx, rax
mov rax, r13
imul rax, rax, 0xa2c13
add rax, r10
add rax, rdx
mov rdx, qword [rsp + 0xb0]
add rcx, rax
movzx eax, byte [rdx + 0x23]
shl rax, 7
mov qword [rsp + 0xc0], rcx
movzx ecx, byte [rdx + 0x22]
shr rcx, 1
or rcx, rax
movzx eax, byte [rdx + 0x24]
and eax, 0x3f
and ecx, 0x1fffff
shl rax, 0xf
or rcx, rax
mov rax, r13
imul rax, rax, 0x9fb67
add rcx, rax
mov rax, rdi
sub rcx, rsi
mov rsi, rdx
imul rax, rax, 0xf39ad
sub rcx, rax
lea rax, [r9 + rcx]
movzx ecx, byte [rdx + 0x28]
add r14, rax
movzx eax, byte [rdx + 0x27]
shl rcx, 5
shr rax, 3
mov qword [rsp], r14
or rcx, rax
movzx eax, byte [rdx + 0x29]
movzx r14d, byte [rsi + 0x2f]
and ecx, 0x1fffff
imul rdi, rdi, 0xa6f7d
imul r13, r13, 0x215d1
shl rax, 0xd
and r14d, 3
shl r9, 0x15
or rcx, rax
shl r14, 8
neg r10
sub rcx, rdi
mov rdi, qword [rsp + 8]
shl r10, 0x15
lea rax, [r8 + rcx]
movzx ecx, byte [rsi + 0x2c]
lea rdx, [r15 + 0x100000]
add r13, rax
movzx eax, byte [rsi + 0x2e]
shr rcx, 5
and eax, 0x3ff
mov qword [rsp + 0x28], r13
mov r13, qword [rsp + 0xc0]
or r14, rax
movzx eax, byte [rsi + 0x2d]
mov rsi, qword [rsp + 0x20]
shl rax, 3
sar rdx, 0x15
shl r14, 0xb
or rcx, rax
add r13, 0x100000
shl r8, 0x15
and ecx, 0x1fffff
sar r13, 0x15
add rsi, 0x100000
or r14, rcx
mov rax, r13
sar rsi, 0x15
sub rax, r9
mov r9, qword [rsp]
add r14, rdx
add rbp, rax
shl rdx, 0x15
lea rcx, [r9 + 0x100000]
sar rcx, 0x15
add rdi, 0x100000
mov rax, rcx
neg rcx
sar rdi, 0x15
shl rcx, 0x15
sub rax, r8
add r9, rcx
mov rcx, qword [rsp + 0x28]
add r12, rax
add rcx, 0x100000
mov qword [rsp + 0x48], r12
mov qword [rsp], r9
sar rcx, 0x15
mov rax, rcx
neg rcx
sub rax, rdx
mov rdx, qword [rsp + 0x28]
shl rcx, 0x15
add r15, rax
add rdx, rcx
mov rax, r14
mov rcx, r14
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x28], rdx
imul rax, rax, 0xa6f7d
imul rcx, rcx, 0xfffffffffff0c653
sub r10, rax
mov rax, rdx
add r10, rsi
add qword [rsp + 0x10], r10
imul rax, rax, 0xa6f7d
sub rcx, rax
mov rax, r15
imul rax, rax, 0x215d1
add rcx, rax
shl r11, 0x15
mov r10, qword [rsp + 0xb0]
sub rcx, r11
mov rax, r9
movzx r11d, byte [r10 + 5]
movzx r9d, byte [r10 + 2]
movzx r8d, byte [r10 + 5]
imul rax, rax, 0xa6f7d
add rcx, rdi
and r11d, 3
shl r9, 8
add qword [rsp + 0xc8], rcx
shl r11, 8
shr r8, 2
mov rcx, r15
shl rbx, 0x15
imul rcx, rcx, 0x9fb67
sub rcx, rax
mov rax, rdx
imul rax, rax, 0xf39ad
sub rcx, rax
mov rax, r14
imul rax, rax, 0x72d18
add rcx, rax
mov rax, r12
imul rax, rax, 0x215d1
add rcx, rax
movzx eax, byte [r10 + 1]
or r9, rax
movzx eax, byte [r10]
sub rcx, rbx
add qword [rsp + 0xb8], rcx
movzx ecx, byte [r10 + 3]
mov rbx, qword [rsp]
shl r9, 8
shl rcx, 3
or r9, rax
mov rax, rbp
and r9d, 0x1fffff
imul rax, rax, 0xa2c13
add r9, rax
movzx eax, byte [r10 + 4]
and eax, 0x3ff
mov qword [rsp + 0x18], r9
or r11, rax
movzx eax, byte [r10 + 2]
shr rax, 5
shl r11, 0xb
or rcx, rax
mov rax, rbp
and ecx, 0x1fffff
or r11, rcx
imul rax, rax, 0x72d18
add r11, rax
mov rax, rbx
imul rax, rax, 0xa2c13
add r11, rax
movzx eax, byte [r10 + 6]
shl rax, 6
or r8, rax
movzx eax, byte [r10 + 7]
movzx r10d, byte [r10 + 0xa]
and eax, 0x7f
and r8d, 0x1fffff
and r10d, 0xf
shl rax, 0xe
shl r10, 8
or r8, rax
mov rax, rbp
imul rax, rax, 0x9fb67
add r8, rax
mov rax, rbx
imul rax, rax, 0x72d18
add r8, rax
mov rax, r12
imul rax, rax, 0xa2c13
add r8, rax
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 9]
mov qword [rsp + 0x30], r8
and eax, 0xfff
or r10, rax
mov rax, qword [rsp + 0xb0]
shl r10, 9
movzx ecx, byte [rax + 7]
movzx eax, byte [rax + 8]
add rax, rax
shr rcx, 7
or rcx, rax
mov rax, rbx
and ecx, 0x1fffff
or r10, rcx
mov rcx, qword [rsp + 0xb0]
imul rax, rax, 0x9fb67
add r10, rax
mov rax, rbp
imul rax, rax, 0xf39ad
sub r10, rax
mov rax, r12
imul rax, rax, 0x72d18
add r10, rax
mov rax, rdx
movzx edx, byte [rcx + 0xd]
and edx, 1
imul rax, rax, 0xa2c13
add r10, rax
movzx eax, byte [rcx + 0xc]
movzx ecx, byte [rcx + 0xa]
and eax, 0x1ff
shl rdx, 8
or rdx, rax
mov rax, qword [rsp + 0xb0]
shr rcx, 4
movzx eax, byte [rax + 0xb]
shl rdx, 0xc
shl rax, 4
or rcx, rax
mov rax, r12
and ecx, 0x1fffff
or rdx, rcx
mov rcx, qword [rsp + 0x28]
imul rax, rax, 0x9fb67
add rdx, rax
mov rax, rbx
imul rax, rax, 0xf39ad
sub rdx, rax
mov rax, rcx
imul rax, rax, 0x72d18
add rdx, rax
mov rax, r15
imul rax, rax, 0xa2c13
add rdx, rax
mov rax, rbp
imul rbp, rbp, 0xa6f7d
imul rax, rax, 0x215d1
add rdx, rax
mov rax, qword [rsp + 0xb0]
movzx r15d, byte [rax + 0xe]
movzx eax, byte [rax + 0xd]
mov qword [rsp + 0x50], rdx
shr rax, 1
shl r15, 7
or r15, rax
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0xf]
and r15d, 0x1fffff
and eax, 0x3f
shl rax, 0xf
or r15, rax
mov rax, rcx
imul rax, rax, 0x9fb67
add r15, rax
mov rax, r12
sub r15, rbp
imul rax, rax, 0xf39ad
sub r15, rax
mov rax, qword [rsp + 0x40]
imul rax, rax, 0x72d18
add r15, rax
mov rax, r14
imul rax, rax, 0xa2c13
add r15, rax
imul rbx, rbx, 0x215d1
mov rax, qword [rsp + 0x48]
mov rcx, r14
shl rsi, 0x15
shl rdi, 0x15
lea rbp, [r8 + 0x100000]
mov r8, qword [rsp + 0x40]
imul rcx, rcx, 0x9fb67
imul r14, r14, 0x215d1
imul rax, rax, 0xa6f7d
sub rcx, rax
mov rax, r8
lea r12, [rdx + 0x100000]
mov rdx, qword [rsp + 0xc8]
add r15, rbx
imul r8, r8, 0xa6f7d
imul rax, rax, 0xf39ad
sub rcx, rax
mov rax, qword [rsp + 0x28]
lea rbx, [r9 + 0x100000]
mov r9, qword [rsp + 0xb8]
sub r14, r8
shl r13, 0x15
imul rax, rax, 0x215d1
add rcx, rax
add r9, 0x100000
sub r14, rsi
mov rsi, qword [rsp + 0x10]
sub rcx, rdi
mov rdi, qword [rsp + 0x20]
sar r9, 0x15
add rdx, 0x100000
sar rbx, 0x15
add rcx, r9
add r11, rbx
shl r9, 0x15
add qword [rsp + 8], rcx
lea rcx, [rsi + 0x100000]
lea r8, [r11 + 0x100000]
sar rcx, 0x15
sar rdx, 0x15
sar r12, 0x15
add r14, rdx
add r15, r12
mov rax, rcx
sub rax, r13
mov r13, qword [rsp + 0xc0]
add rdi, r14
add r13, rax
mov qword [rsp], r11
shl rdx, 0x15
mov qword [rsp + 0x20], rdi
add rdi, 0x100000
shl rcx, 0x15
sar rdi, 0x15
lea r11, [r15 + 0x100000]
sar rbp, 0x15
add r10, rbp
sar r11, 0x15
sar r8, 0x15
mov rax, r11
mov qword [rsp + 0x38], r10
add r10, 0x100000
sub rax, r9
mov r9, qword [rsp + 8]
sar r10, 0x15
add qword [rsp + 0xb8], rax
add r9, 0x100000
mov qword [rsp + 0xc0], r13
sar r9, 0x15
mov rax, r9
sub rax, rdx
add qword [rsp + 0xc8], rax
mov rax, rdi
sub rax, rcx
add rsi, rax
mov qword [rsp + 0x10], rsi
lea rsi, [r13 + 0x100000]
sar rsi, 0x15
mov rax, rsi
imul rax, rax, 0xa2c13
shl rbx, 0x15
mov r13, qword [rsp + 0x18]
mov rdx, qword [rsp]
sub rax, rbx
mov rbx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x50]
add r13, rax
mov rax, r8
shl rbp, 0x15
shl r12, 0x15
shl rax, 0x15
shl r9, 0x15
shl r11, 0x15
mov rcx, rsi
shl rdi, 0x15
mov qword [rsp + 0x18], r13
imul rcx, rcx, 0x72d18
sub rcx, rax
mov rax, rsi
add rdx, rcx
mov rcx, rsi
imul rax, rax, 0x9fb67
sub rax, rbp
add rax, r8
mov r8, qword [rsp + 0x30]
imul rcx, rcx, 0xf39ad
add r8, rax
mov rax, r10
neg rax
shl rax, 0x15
sub rax, rcx
mov rcx, r13
add rbx, rax
sar rcx, 0x15
mov rax, rsi
add rdx, rcx
mov qword [rsp], rdx
sar rdx, 0x15
imul rax, rax, 0x215d1
sub rax, r12
add r8, rdx
add rax, r10
mov qword [rsp + 0x30], r8
sar r8, 0x15
add r14, rax
add rbx, r8
mov rax, rsi
mov r10, rbx
mov qword [rsp + 0x38], rbx
imul rax, rax, 0xfffffffffff59083
sub rax, r11
sar r10, 0x15
add r15, rax
mov rax, qword [rsp + 0xb8]
add r14, r10
mov r11, r14
sar r11, 0x15
add r15, r11
mov rbx, r15
sar rbx, 0x15
add rax, rbx
mov rbp, rax
mov qword [rsp + 0xb8], rax
sar rbp, 0x15
mov rax, rbp
sub rax, r9
mov r9, qword [rsp + 8]
add r9, rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 8], r9
sar r9, 0x15
add rax, r9
mov r12, rax
mov qword [rsp + 0xc8], rax
sar r12, 0x15
mov rax, r12
sub rax, rdi
mov rdi, qword [rsp + 0x20]
add rdi, rax
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x20], rdi
sar rdi, 0x15
add rax, rdi
shl rcx, 0x15
shl rdx, 0x15
mov r13, rax
mov qword [rsp + 0x10], rax
shl rsi, 0x15
shl r8, 0x15
sar r13, 0x15
neg r10
mov rax, r13
shl r10, 0x15
shl r11, 0x15
sub rax, rsi
mov rsi, qword [rsp + 0xc0]
shl rbx, 0x15
add rsi, rax
mov qword [rsp + 0xc0], rsi
sar rsi, 0x15
mov rax, rsi
imul rax, rax, 0xa2c13
sub rax, rcx
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov rax, rsi
mov qword [rsp + 0x18], rcx
sar rcx, 0x15
imul rax, rax, 0x72d18
sub rax, rdx
mov rdx, qword [rsp]
add rax, rcx
neg rcx
add rdx, rax
shl rcx, 0x15
mov rax, rsi
add qword [rsp + 0x18], rcx
mov rcx, rdx
imul rax, rax, 0x9fb67
sar rcx, 0x15
sub rax, r8
mov r8, qword [rsp + 0x30]
add rax, rcx
neg rcx
shl rcx, 0x15
add r8, rax
mov rax, rsi
add rdx, rcx
mov rcx, r8
sar rcx, 0x15
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x38]
imul rax, rax, 0xf39ad
sub r10, rax
mov rax, rsi
add r10, rcx
neg rcx
shl rcx, 0x15
add rdx, r10
imul rax, rax, 0x215d1
add r8, rcx
sub rax, r11
mov rcx, rdx
sar rcx, 0x15
add rax, rcx
neg rcx
add r14, rax
shl rcx, 0x15
mov rax, rsi
add rdx, rcx
mov rcx, r14
sar rcx, 0x15
imul rax, rax, 0xfffffffffff59083
sub rax, rbx
add rax, rcx
neg rcx
shl rcx, 0x15
add r15, rax
add r14, rcx
mov rcx, r15
sar rcx, 0x15
shl rbp, 0x15
mov rax, rcx
mov r10, qword [rsp + 0xb8]
mov r11, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
sub rax, rbp
mov rbp, qword [rsp + 0xc8]
neg rcx
add r10, rax
shl rcx, 0x15
shl r9, 0x15
add r15, rcx
mov rcx, r10
shl rdi, 0x15
sar rcx, 0x15
shl r12, 0x15
shl rsi, 0x15
mov rax, rcx
neg rcx
shl r13, 0x15
sub rax, r9
mov r9, qword [rsp + 0x18]
shl rcx, 0x15
add r10, rcx
add r11, rax
mov qword [rsp + 0xb8], r10
mov r10, qword [rsp + 0x20]
mov rcx, r11
sar rcx, 0x15
mov rax, rcx
neg rcx
sub rax, r12
shl rcx, 0x15
add rbp, rax
add r11, rcx
mov rcx, rbp
sar rcx, 0x15
mov rax, rcx
neg rcx
sub rax, rdi
mov rdi, qword [rsp + 0xc0]
shl rcx, 0x15
add r10, rax
add rbp, rcx
mov rcx, r10
sar rcx, 0x15
mov rax, rcx
neg rcx
sub rax, r13
shl rcx, 0x15
add rbx, rax
add r10, rcx
mov rcx, rbx
sar rcx, 0x15
mov rax, rcx
neg rcx
sub rax, rsi
mov rsi, qword [rsp + 0xb0]
shl rcx, 0x15
add rdi, rax
add rbx, rcx
mov rcx, qword [rsp]
mov rax, r9
mov byte [rsi], r9b
sar r9, 0x10
sar rax, 8
mov byte [rsi + 1], al
movzx eax, cl
shl al, 5
or r9b, al
mov rax, rcx
sar rax, 3
mov byte [rsi + 2], r9b
mov byte [rsi + 3], al
mov rax, rcx
sar rcx, 0x13
sar rax, 0xb
mov byte [rsi + 4], al
movzx eax, r8b
shl al, 2
or cl, al
mov rax, r8
mov byte [rsi + 5], cl
sar rax, 6
mov rcx, qword [rsp + 0xb8]
sar r8, 0xe
mov byte [rsi + 6], al
movzx eax, dl
mov byte [rsi + 0x15], bpl
shl al, 7
or r8b, al
mov rax, rdx
sar rax, 1
mov byte [rsi + 7], r8b
mov byte [rsi + 8], al
mov rax, rdx
sar rdx, 0x11
sar rax, 9
mov byte [rsi + 9], al
movzx eax, r14b
shl al, 4
or dl, al
mov rax, r14
sar rax, 4
mov byte [rsi + 0xa], dl
mov byte [rsi + 0xb], al
mov rax, r14
sar r14, 0x14
sar rax, 0xc
mov byte [rsi + 0xc], al
movzx eax, r15b
add al, al
or r14b, al
mov rax, r15
sar r15, 0xf
sar rax, 7
mov byte [rsi + 0xd], r14b
mov byte [rsi + 0xe], al
movzx eax, cl
shl al, 6
or r15b, al
mov rax, rcx
sar rax, 2
mov byte [rsi + 0xf], r15b
mov byte [rsi + 0x10], al
mov rax, rcx
sar rcx, 0x12
sar rax, 0xa
mov byte [rsi + 0x11], al
movzx eax, r11b
shl al, 3
or cl, al
mov rax, r11
sar r11, 0xd
sar rax, 5
mov byte [rsi + 0x12], cl
mov byte [rsi + 0x14], r11b
mov byte [rsi + 0x13], al
mov rax, rbp
sar rbp, 0x10
sar rax, 8
mov byte [rsi + 0x16], al
movzx eax, r10b
shl al, 5
or bpl, al
mov rax, r10
sar rax, 3
mov byte [rsi + 0x17], bpl
mov byte [rsi + 0x18], al
mov rax, r10
sar r10, 0x13
sar rax, 0xb
mov byte [rsi + 0x19], al
movzx eax, bl
shl al, 2
or r10b, al
mov rax, rbx
sar rbx, 0xe
sar rax, 6
mov byte [rsi + 0x1a], r10b
mov byte [rsi + 0x1b], al
movzx eax, dil
shl al, 7
or bl, al
mov rax, rdi
mov byte [rsi + 0x1c], bl
sar rax, 1
mov byte [rsi + 0x1d], al
mov rax, rdi
sar rax, 9
sar rdi, 0x11
mov byte [rsi + 0x1f], dil
mov byte [rsi + 0x1e], al
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret