Function at 0x140181db0
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1a0], xmm7
movdqa xmmword [rbp + 0x190], xmm6
mov qword [rbp + 0x188], 0xfffffffffffffffe
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x140182d2e
mov rbx, r9
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov rdx, qword [rdx + 8]
lea rax, [rax + rax*2]
lea r8, [rdx + rax*8]
lea rcx, [rbp + 0xe0]
call fcn.140186d50
mov rax, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xe8]
mov rcx, rax
neg rcx
mov rcx, qword [rbp + 0xf0]
mov rdi, qword [rbp + 0xf8]
jno 0x1401820a3
movzx eax, byte [r15 + 0x18]
test eax, eax
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x58], rdx
je 0x1401820c2
cmp eax, 1
jne 0x1401822ed
lea rcx, [rbp + 0xe0]
mov rdx, r14
mov r8, rbx
call fcn.1401879f0
movdqa xmm0, xmmword [str.6666666666666666]
movdqa xmm1, xmmword [rbp + 0xe0]
pxor xmm1, xmm0
movdqa xmm2, xmmword [rbp + 0xf0]
pxor xmm2, xmm0
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xf0], xmm2
movdqa xmm1, xmmword [rbp + 0x100]
pxor xmm1, xmm0
pxor xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x100], xmm1
movdqa xmmword [rbp + 0x110], xmm0
movdqu xmm6, xmmword [0x140271ff0]
movdqa xmmword [rbp + 0xc0], xmm6
movups xmm7, xmmword [0x140271fe0]
movaps xmmword [rbp + 0xb0], xmm7
mov qword [rbp + 0xd0], 1
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0xe0]
mov r8d, 1
call fcn.1401a5d10
movdqa xmm0, xmmword [str.jjjjjjjjjjjjjjjj]
movdqa xmm1, xmmword [rbp + 0xe0]
pxor xmm1, xmm0
movdqa xmm2, xmmword [rbp + 0xf0]
pxor xmm2, xmm0
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xf0], xmm2
movdqa xmm1, xmmword [rbp + 0x100]
pxor xmm1, xmm0
pxor xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x100], xmm1
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmmword [rbp - 0x30], xmm6
movaps xmmword [rbp - 0x40], xmm7
mov qword [rbp - 0x20], 1
lea rcx, [rbp - 0x40]
lea rdx, [rbp + 0xe0]
mov r8d, 1
call fcn.1401a5d10
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xa8], rax
movaps xmm0, xmmword [rbp - 0x40]
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x98], xmm1
movups xmmword [rbp + 0x88], xmm0
movaps xmm0, xmmword [rbp + 0xb0]
movaps xmm1, xmmword [rbp + 0xc0]
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x70], xmm1
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x80], rax
xorps xmm0, xmm0
movaps xmmword [rbp + 0x130], xmm0
movaps xmmword [rbp + 0x140], xmm0
movaps xmmword [rbp + 0x150], xmm0
movaps xmmword [rbp + 0x160], xmm0
mov byte [rbp + 0x170], 0
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x120], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmm1, xmmword [rbp + 0x70]
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x88]
movdqa xmm2, xmmword [rbp + 0x90]
movdqa xmmword [rbp + 0x110], xmm2
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rcx
movdqa xmmword [rbp + 0xf0], xmm1
movdqa xmmword [rbp + 0xe0], xmm0
lea rcx, [rbp - 0x40]
lea rdx, [rbp + 0xe0]
mov r8d, 0x98
call sub.VCRUNTIME140.dll_memcpy
lea rbx, [rbp + 0x10]
movzx eax, byte [rbp + 0x50]
movzx r12d, al
mov r14d, 0x40
sub r14, r12
mov r13, rdi
sub r13, r14
jae 0x14018266a
add rbx, r12
mov rcx, rbx
mov rdx, qword [rbp + 0x180]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r12
jmp 0x1401826e1
movups xmm0, xmmword [rbp + 0x100]
movups xmmword [rsi + 0x20], xmm0
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rdi
mov qword [rsi], rax
jmp 0x140182d09
lea rcx, [rbp + 0xe0]
mov rdx, r14
mov r8, rbx
call fcn.140187780
movaps xmm0, xmmword [str.6666666666666666]
movaps xmm1, xmmword [rbp + 0xe0]
xorps xmm1, xmm0
movaps xmm2, xmmword [rbp + 0xf0]
xorps xmm2, xmm0
movaps xmmword [rbp + 0xe0], xmm1
movaps xmmword [rbp + 0xf0], xmm2
movaps xmm1, xmmword [rbp + 0x100]
xorps xmm1, xmm0
xorps xmm0, xmmword [rbp + 0x110]
movaps xmmword [rbp + 0x100], xmm1
movaps xmmword [rbp + 0x110], xmm0
movdqu xmm6, xmmword [0x140271fc8]
movdqa xmmword [rbp - 0x60], xmm6
mov qword [rbp - 0x50], 1
lea rbx, [rbp - 0x60]
lea r14, [rbp + 0xe0]
mov r8d, 1
mov rcx, rbx
mov rdx, r14
call fcn.140180020
movaps xmm0, xmmword [str.jjjjjjjjjjjjjjjj]
movaps xmm1, xmmword [rbp + 0xe0]
xorps xmm1, xmm0
movaps xmm2, xmmword [rbp + 0xf0]
xorps xmm2, xmm0
movaps xmmword [rbp + 0xe0], xmm1
movaps xmmword [rbp + 0xf0], xmm2
movaps xmm1, xmmword [rbp + 0x100]
xorps xmm1, xmm0
xorps xmm0, xmmword [rbp + 0x110]
movaps xmmword [rbp + 0x100], xmm1
movaps xmmword [rbp + 0x110], xmm0
movdqa xmmword [rbp + 0xb0], xmm6
mov qword [rbp + 0xc0], 1
lea rcx, [rbp + 0xb0]
mov r8d, 1
mov rdx, r14
call fcn.140180020
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x70], rax
movaps xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x60], xmm0
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x88], rax
movaps xmm1, xmmword [rbp + 0xb0]
movups xmmword [rbp + 0x78], xmm1
xorps xmm1, xmm1
movaps xmmword [rbp + 0x110], xmm1
movaps xmmword [rbp + 0x120], xmm1
movaps xmmword [rbp + 0x130], xmm1
movaps xmmword [rbp + 0x140], xmm1
mov byte [rbp + 0x150], 0
movaps xmmword [rbp + 0xe0], xmm0
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x100], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x108], rax
movaps xmmword [rbp - 0x10], xmm1
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x30], rax
movaps xmm0, xmmword [rbp + 0x140]
movaps xmmword [rbp + 0x20], xmm0
movaps xmm0, xmmword [rbp + 0x130]
movaps xmmword [rbp + 0x10], xmm0
movaps xmm0, xmmword [rbp + 0xe0]
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0xf8]
mov rdx, qword [rbp + 0x100]
mov r8, qword [rbp + 0x108]
movaps xmm1, xmmword [rbp + 0x120]
movaps xmmword [rbp], xmm1
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rcx
movaps xmmword [rbp - 0x40], xmm0
lea r14, [rbp - 0x10]
movzx eax, byte [rbp + 0x30]
movzx r12d, al
mov r15d, 0x40
sub r15, r12
mov r13, rdi
sub r13, r15
jae 0x1401824da
add r14, r12
mov rcx, r14
mov rdx, qword [rbp + 0x180]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r12
mov r15, rdi
jmp 0x140182555
lea rcx, [rbp + 0xe0]
mov rdx, r14
mov r8, rbx
call fcn.1401874d0
movdqa xmm0, xmmword [str.6666666666666666]
movdqa xmm1, xmmword [rbp + 0xe0]
pxor xmm1, xmm0
movdqa xmm2, xmmword [rbp + 0xf0]
pxor xmm2, xmm0
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xf0], xmm2
movdqa xmm1, xmmword [rbp + 0x100]
pxor xmm1, xmm0
pxor xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x100], xmm1
movdqa xmmword [rbp + 0x110], xmm0
lea rcx, [rbp + 0xb8]
movdqa xmm6, xmmword [0x140271eb0]
movdqu xmmword [rbp + 0xb8], xmm6
mov dword [rbp + 0xc8], 0xc3d2e1f0
mov qword [rbp + 0xb0], 1
lea rdx, [rbp + 0xe0]
mov r8d, 1
call fcn.1401a8eb0
movdqa xmm0, xmmword [str.jjjjjjjjjjjjjjjj]
movdqa xmm1, xmmword [rbp + 0xe0]
pxor xmm1, xmm0
movdqa xmm2, xmmword [rbp + 0xf0]
pxor xmm2, xmm0
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xf0], xmm2
movdqa xmm1, xmmword [rbp + 0x100]
pxor xmm1, xmm0
pxor xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x100], xmm1
movdqa xmmword [rbp + 0x110], xmm0
lea rcx, [rbp - 0x38]
movdqu xmmword [rbp - 0x38], xmm6
mov dword [rbp - 0x28], 0xc3d2e1f0
mov qword [rbp - 0x40], 1
lea rdx, [rbp + 0xe0]
mov r8d, 1
call fcn.1401a8eb0
movdqu xmm0, xmmword [rbp - 0x40]
movdqu xmm1, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x90], xmm1
movdqa xmmword [rbp + 0x80], xmm0
movdqu xmm2, xmmword [rbp + 0xb0]
movups xmm3, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x70], xmm3
xorps xmm4, xmm4
movaps xmmword [rbp + 0x120], xmm4
movaps xmmword [rbp + 0x130], xmm4
movaps xmmword [rbp + 0x140], xmm4
movaps xmmword [rbp + 0x150], xmm4
mov byte [rbp + 0x160], 0
movdqa xmmword [rbp + 0x110], xmm1
movdqa xmmword [rbp + 0x100], xmm0
movaps xmmword [rbp + 0xf0], xmm3
movdqa xmmword [rbp + 0xe0], xmm2
lea rcx, [rbp - 0x40]
lea rdx, [rbp + 0xe0]
mov r8d, 0x88
call sub.VCRUNTIME140.dll_memcpy
lea rbx, [rbp]
movzx eax, byte [rbp + 0x40]
movzx r12d, al
mov r14d, 0x40
sub r14, r12
mov r13, rdi
sub r13, r14
jae 0x1401827b4
add rbx, r12
mov rcx, rbx
mov rdx, qword [rbp + 0x180]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r12
jmp 0x14018282b
mov rbx, qword [rbp + 0x180]
mov rdx, rbx
test al, al
je 0x140182518
add r12, r14
mov rcx, r12
mov rdx, rbx
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r15, rbx
inc qword [rbp - 0x30]
lea rcx, [rbp - 0x40]
mov r8d, 1
mov rdx, r14
call fcn.140180020
mov rdi, r13
mov rdx, r15
mov r12, rdi
and r12, 0xffffffffffffffc0
mov r15d, edi
and r15d, 0x3f
add r12, rdx
cmp rdi, 0x40
jb 0x140182543
shr rdi, 6
add qword [rbp - 0x30], rdi
lea rcx, [rbp - 0x40]
mov r8, rdi
call fcn.140180020
mov rcx, r14
mov rdx, r12
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rbx, [rbp - 0x60]
mov byte [rbp + 0x30], r15b
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x150], rax
movaps xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x140], xmm0
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x130], xmm0
movaps xmm0, xmmword [rbp]
movaps xmmword [rbp + 0x120], xmm0
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmm1, xmmword [rbp - 0x30]
movdqa xmm2, xmmword [rbp - 0x20]
movaps xmm3, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0x110], xmm3
movdqa xmmword [rbp + 0x100], xmm2
movdqa xmmword [rbp + 0xf0], xmm1
movaps xmmword [rbp + 0xe0], xmm0
lea rdi, [rbp + 0x110]
mov rcx, qword [rbp + 0xf0]
movzx edx, al
shl rcx, 9
lea r15d, [rdx*8]
or r15, rcx
movzx r14d, al
movaps xmm0, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0xb0], xmm0
mov byte [rbp + r14 + 0x110], 0x80
cmp edx, 0x3f
je 0x14018261c
lea rcx, [r14 + rbp]
add rcx, 0x110
inc rcx
mov r8, r14
xor r8, 0x3f
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r14d, 0x38
cmp r14d, 7
ja 0x140182914
lea r14, [rbp + 0xb0]
mov r8d, 1
mov rcx, r14
mov rdx, rdi
call fcn.140180020
xorps xmm0, xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], r15
lea rdx, [rbp + 0x60]
mov r8d, 1
mov rcx, r14
jmp 0x14018292b
mov rdx, qword [rbp + 0x180]
mov r15, rdx
test al, al
je 0x1401826a9
add r12, rbx
mov rcx, r12
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
inc qword [rbp - 0x20]
lea rcx, [rbp - 0x40]
mov r8d, 1
mov rdx, rbx
call fcn.1401a5d10
add r14, qword [rbp + 0x180]
mov rdi, r13
mov r15, r14
cmp rdi, 0x40
jb 0x1401826c6
mov r8, rdi
shr r8, 6
add qword [rbp - 0x20], r8
lea rcx, [rbp - 0x40]
mov rdx, r15
call fcn.1401a5d10
mov rax, rdi
and rax, 0xffffffffffffffc0
and edi, 0x3f
add r15, rax
mov rcx, rbx
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + 0x50], dil
lea rcx, [rbp + 0xe0]
lea rdx, [rbp - 0x40]
mov r8d, 0x98
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [rbp + 0x130]
movzx r14d, byte [rbp + 0x170]
mov rax, qword [rbp + 0x100]
shl rax, 9
lea ebx, [r14*8]
or rbx, rax
bswap rbx
mov byte [rbp + r14 + 0x130], 0x80
cmp r14d, 0x3f
je 0x14018275c
lea rcx, [r14 + rbp]
add rcx, 0x130
inc rcx
mov r8, r14
xor r8, 0x3f
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r14d, 0x38
cmp r14d, 7
ja 0x1401829ee
lea rcx, [rbp + 0xe0]
mov r8d, 1
mov rdx, rdi
call fcn.1401a5d10
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x80], xmm0
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], rbx
lea rcx, [rbp + 0xe0]
lea rdx, [rbp + 0x60]
mov r8d, 1
call fcn.1401a5d10
jmp 0x140182a0a
mov rdx, qword [rbp + 0x180]
mov r15, rdx
test al, al
je 0x1401827f3
add r12, rbx
mov rcx, r12
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
inc qword [rbp - 0x40]
lea rcx, [rbp - 0x38]
mov r8d, 1
mov rdx, rbx
call fcn.1401a8eb0
add r14, qword [rbp + 0x180]
mov rdi, r13
mov r15, r14
cmp rdi, 0x40
jb 0x140182810
mov r8, rdi
shr r8, 6
add qword [rbp - 0x40], r8
lea rcx, [rbp - 0x38]
mov rdx, r15
call fcn.1401a8eb0
mov rax, rdi
and rax, 0xffffffffffffffc0
and edi, 0x3f
add r15, rax
mov rcx, rbx
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + 0x40], dil
lea rcx, [rbp + 0xe0]
lea rdx, [rbp - 0x40]
mov r8d, 0x88
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [rbp + 0x120]
movzx r14d, byte [rbp + 0x160]
mov rax, qword [rbp + 0xe0]
shl rax, 9
lea ebx, [r14*8]
or rbx, rax
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0xc0], eax
movdqu xmm0, xmmword [rbp - 0x38]
movdqa xmmword [rbp + 0xb0], xmm0
bswap rbx
mov byte [rbp + r14 + 0x120], 0x80
cmp r14d, 0x3f
je 0x1401828bc
lea rcx, [r14 + rbp]
add rcx, 0x120
inc rcx
mov r8, r14
xor r8, 0x3f
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r14d, 0x38
cmp r14d, 7
ja 0x140182b84
lea rcx, [rbp + 0xb0]
mov r8d, 1
mov rdx, rdi
call fcn.1401a8eb0
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x80], xmm0
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], rbx
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x60]
mov r8d, 1
call fcn.1401a8eb0
jmp 0x140182ba0
mov qword [rbp + 0x148], r15
lea rcx, [rbp + 0xb0]
mov r8d, 1
mov rdx, rdi
call fcn.140180020
movaps xmm0, xmmword [rbp + 0xb0]
movaps xmmword [rbp - 0x60], xmm0
movups xmmword [rdi], xmm0
mov byte [rbp + 0x150], 0x10
mov rax, qword [rbp + 0x108]
shl rax, 9
or rax, 0x80
movups xmm0, xmmword [rbp + 0xf8]
movaps xmmword [rbp + 0x60], xmm0
mov byte [rbp + 0x120], 0x80
xorps xmm0, xmm0
movups xmmword [rbp + 0x121], xmm0
movups xmmword [rbp + 0x131], xmm0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x60]
mov r8d, 1
mov rdx, rdi
call fcn.140180020
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmmword [rbp - 0x60], xmm0
lea rax, [rbp - 0x50]
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rax
lea rax, [0x140272e78]
mov qword [rbp + 0xf0], rax
mov dword [rbp + 0xf8], 0x110000
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0xe0]
call fcn.140188c40
jmp 0x140182cd1
mov qword [rbp + 0x168], rbx
lea rcx, [rbp + 0xe0]
mov r8d, 1
mov rdx, rdi
call fcn.1401a5d10
pxor xmm6, xmm6
movdqa xmm0, xmmword [rbp + 0xe0]
movdqa xmm1, xmmword [rbp + 0xf0]
movdqa xmm2, xmm0
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmm0, xmm1
punpckhbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm0
movdqa xmmword [rbp + 0x140], xmm1
lea rcx, [rbp + 0x108]
mov byte [rbp + 0x170], 0x20
mov rax, qword [rbp + 0x128]
shl rax, 9
or rax, 0x100
bswap rax
mov byte [rbp + 0x150], 0x80
movdqu xmmword [rbp + 0x151], xmm6
mov qword [rbp + 0x160], 0
mov qword [rbp + 0x168], rax
mov r8d, 1
mov rdx, rdi
call fcn.1401a5d10
movdqu xmm0, xmmword [rbp + 0x108]
movdqu xmm1, xmmword [rbp + 0x118]
movdqa xmm2, xmm0
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqa xmm2, xmm1
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqa xmmword [rbp + 0x60], xmm0
movdqa xmmword [rbp + 0x70], xmm1
lea rax, [rbp + 0x80]
lea rcx, [rbp + 0x60]
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
lea rax, [0x140272e78]
mov qword [rbp + 0xf0], rax
mov dword [rbp + 0xf8], 0x110000
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0xe0]
call fcn.140188c40
mov rax, qword [rbp + 0xc0]
mov qword [rsi + 0x18], rax
movups xmm0, xmmword [rbp + 0xb0]
jmp 0x140182cdd
mov qword [rbp + 0x158], rbx
lea rcx, [rbp + 0xb0]
mov r8d, 1
mov rdx, rdi
call fcn.1401a8eb0
mov eax, dword [rbp + 0xc0]
bswap eax
pxor xmm6, xmm6
movdqa xmm0, xmmword [rbp + 0xb0]
movdqa xmm1, xmm0
punpckhbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [rbp + 0x120], xmm0
mov dword [rbp + 0x130], eax
mov byte [rbp + 0x160], 0x14
mov rax, qword [rbp + 0x100]
shl rax, 9
or rax, 0xa0
mov ecx, dword [rbp + 0x118]
mov dword [rbp + 0x70], ecx
movdqu xmm0, xmmword [rbp + 0x108]
movdqa xmmword [rbp + 0x60], xmm0
bswap rax
mov byte [rbp + 0x134], 0x80
movdqu xmmword [rbp + 0x135], xmm6
movdqu xmmword [rbp + 0x145], xmm6
mov dword [rbp + 0x154], 0
mov qword [rbp + 0x158], rax
lea rcx, [rbp + 0x60]
mov r8d, 1
mov rdx, rdi
call fcn.1401a8eb0
mov eax, dword [rbp + 0x70]
bswap eax
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmm1, xmm0
punpckhbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqa xmmword [rbp + 0xb0], xmm0
mov dword [rbp + 0xc0], eax
lea rax, [rbp + 0xc4]
lea rcx, [rbp + 0xb0]
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
lea rax, [0x140272e78]
mov qword [rbp + 0xf0], rax
mov dword [rbp + 0xf8], 0x110000
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0xe0]
call fcn.140188c40
mov rax, qword [rbp + 0x70]
mov qword [rsi + 0x18], rax
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [rsi + 8], xmm0
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rdx, qword [rbp + 0x58]
test rdx, rdx
mov rcx, qword [rbp + 0x180]
je 0x140182d09
mov r8d, 1
call fcn.140016e60
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x190]
movaps xmm7, xmmword [rbp + 0x1a0]
add rsp, 0x238
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x140272036]
lea r8, str.l__
mov edx, 0x36
call fcn.1401f7e10
int3