Function at 0x14001d9a0
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x130
movaps xmmword [rsp + 0x120], xmm15
movaps xmmword [rsp + 0x110], xmm14
movaps xmmword [rsp + 0x100], xmm13
movaps xmmword [rsp + 0xf0], xmm12
movaps xmmword [rsp + 0xe0], xmm11
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm9
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm6
mov rsi, r8
mov ebx, edx
mov rdi, rcx
mov rax, qword [0x14005a298]
test rax, rax
je 0x14001ca4e
test ax, ax
js 0x14001ca5c
mov rax, qword [0x14005a298]
test rax, rax
je 0x14001cacb
test eax, 0x4000
jne 0x14001cadb
mov rax, qword [0x14005a298]
test rax, rax
je 0x14001cd85
test eax, 0x400
jne 0x14001cd95
mov rax, qword [0x14005a298]
test rax, rax
je 0x14001ce04
test eax, 0x200
jne 0x14001ce14
mov rax, qword [rdi + 0x20]
movdqa xmm6, xmmword [rdi]
movdqa xmm12, xmmword [rdi + 0x10]
movaps xmm0, xmmword [rdi + 0x20]
lea rcx, [rax + 1]
movd xmm1, ecx
shr rcx, 0x20
movd xmm2, ecx
pslldq xmm2, 8
shufps xmm2, xmm0, 0xe8
por xmm1, xmm2
lea rcx, [rax + 2]
movd xmm15, ecx
shr rcx, 0x20
movd xmm2, ecx
pslldq xmm2, 8
shufps xmm2, xmm0, 0xe8
por xmm15, xmm2
add rax, 3
movd xmm14, eax
shr rax, 0x20
movd xmm2, eax
pslldq xmm2, 8
shufps xmm2, xmm0, 0xe8
por xmm14, xmm2
test ebx, ebx
movdqa xmmword [rsp + 0x80], xmm12
movdqa xmmword [rsp + 0x70], xmm6
je 0x14001cb4a
movdqa xmm5, xmmword [str.expand_32_byte_k]
movdqa xmm4, xmm5
movdqa xmm10, xmm5
movdqa xmm8, xmm5
movdqa xmmword [rsp + 0x20], xmm12
movdqa xmmword [rsp + 0x30], xmm12
movdqa xmm3, xmm12
movdqa xmm13, xmm6
movdqa xmm11, xmm6
movdqa xmm9, xmm6
movdqa xmm7, xmm6
nop word cs:[rax + rax]
paddd xmm5, xmm13
paddd xmm4, xmm11
paddd xmm10, xmm9
paddd xmm8, xmm7
movdqa xmmword [rsp + 0x40], xmm8
xorps xmm0, xmm5
pxor xmm1, xmm4
pxor xmm15, xmm10
pxor xmm14, xmm8
pshuflw xmm0, xmm0, 0xb1
pshufhw xmm2, xmm0, 0xb1
pshuflw xmm0, xmm1, 0xb1
movdqa xmm1, xmm14
pshufhw xmm14, xmm0, 0xb1
pshuflw xmm0, xmm15, 0xb1
pshufhw xmm6, xmm0, 0xb1
pshuflw xmm0, xmm1, 0xb1
pshufhw xmm15, xmm0, 0xb1
paddd xmm12, xmm2
paddd xmm3, xmm14
movdqa xmm1, xmm3
movdqa xmm3, xmmword [rsp + 0x30]
paddd xmm3, xmm6
movdqa xmm8, xmmword [rsp + 0x20]
paddd xmm8, xmm15
pxor xmm13, xmm12
pxor xmm11, xmm1
pxor xmm9, xmm3
pxor xmm7, xmm8
movdqa xmm0, xmm13
psrld xmm0, 0x14
pslld xmm13, 0xc
por xmm13, xmm0
movdqa xmm0, xmm11
psrld xmm0, 0x14
pslld xmm11, 0xc
por xmm11, xmm0
movdqa xmm0, xmm9
psrld xmm0, 0x14
pslld xmm9, 0xc
por xmm9, xmm0
movdqa xmm0, xmm7
psrld xmm0, 0x14
pslld xmm7, 0xc
por xmm7, xmm0
paddd xmm5, xmm13
paddd xmm4, xmm11
paddd xmm10, xmm9
movdqa xmm0, xmmword [rsp + 0x40]
paddd xmm0, xmm7
movdqa xmmword [rsp + 0x40], xmm0
pxor xmm2, xmm5
movdqa xmm0, xmm2
psrld xmm0, 0x18
pslld xmm2, 8
por xmm2, xmm0
pxor xmm14, xmm4
movdqa xmm0, xmm14
psrld xmm0, 0x18
pslld xmm14, 8
por xmm14, xmm0
pxor xmm6, xmm10
movdqa xmm0, xmm6
psrld xmm0, 0x18
pslld xmm6, 8
por xmm6, xmm0
pxor xmm15, xmmword [rsp + 0x40]
movdqa xmm0, xmm15
psrld xmm0, 0x18
pslld xmm15, 8
por xmm15, xmm0
paddd xmm12, xmm2
paddd xmm1, xmm14
movdqa xmmword [rsp + 0x20], xmm1
paddd xmm3, xmm6
paddd xmm8, xmm15
pxor xmm13, xmm12
pxor xmm11, xmm1
pxor xmm9, xmm3
pxor xmm7, xmm8
movdqa xmm0, xmm13
psrld xmm0, 0x19
pslld xmm13, 7
por xmm13, xmm0
movdqa xmm0, xmm11
psrld xmm0, 0x19
pslld xmm11, 7
por xmm11, xmm0
movdqa xmm0, xmm9
psrld xmm0, 0x19
pslld xmm9, 7
por xmm9, xmm0
movdqa xmm0, xmm7
psrld xmm0, 0x19
pslld xmm7, 7
por xmm7, xmm0
pshufd xmm0, xmm13, 0x39
pshufd xmm1, xmm11, 0x39
pshufd xmm9, xmm9, 0x39
pshufd xmm7, xmm7, 0x39
pshufd xmm12, xmm12, 0x4e
pshufd xmm11, xmmword [rsp + 0x20], 0x4e
movdqa xmmword [rsp + 0x30], xmm11
pshufd xmm3, xmm3, 0x4e
pshufd xmm8, xmm8, 0x4e
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmm8, xmmword [rsp + 0x40]
pshufd xmm2, xmm2, 0x93
pshufd xmm11, xmm14, 0x93
pshufd xmm6, xmm6, 0x93
pshufd xmm13, xmm15, 0x93
paddd xmm5, xmm0
paddd xmm4, xmm1
paddd xmm10, xmm9
paddd xmm8, xmm7
pshuflw xmm14, xmm5, 0xb1
pshufhw xmm15, xmm14, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm14, xmm2, 0xb1
pxor xmm14, xmm15
pshuflw xmm2, xmm4, 0xb1
pshufhw xmm2, xmm2, 0xb1
pshuflw xmm11, xmm11, 0xb1
pshufhw xmm15, xmm11, 0xb1
pxor xmm15, xmm2
pshuflw xmm2, xmm10, 0xb1
pshufhw xmm11, xmm2, 0xb1
pshuflw xmm2, xmm6, 0xb1
pshufhw xmm2, xmm2, 0xb1
pxor xmm2, xmm11
pshuflw xmm6, xmm8, 0xb1
pshufhw xmm11, xmm6, 0xb1
pshuflw xmm6, xmm13, 0xb1
pshufhw xmm6, xmm6, 0xb1
pxor xmm6, xmm11
paddd xmm12, xmm14
movdqa xmm11, xmmword [rsp + 0x30]
paddd xmm11, xmm15
movdqa xmmword [rsp + 0x30], xmm11
movdqa xmm13, xmm3
paddd xmm13, xmm2
movdqa xmm3, xmmword [rsp + 0x20]
paddd xmm3, xmm6
movdqa xmmword [rsp + 0x20], xmm3
pxor xmm0, xmm12
pxor xmm1, xmm11
pxor xmm9, xmm13
pxor xmm7, xmm3
movdqa xmm11, xmm0
psrld xmm11, 0x14
pslld xmm0, 0xc
por xmm0, xmm11
movdqa xmm11, xmm1
psrld xmm11, 0x14
pslld xmm1, 0xc
por xmm1, xmm11
movdqa xmm11, xmm9
psrld xmm11, 0x14
pslld xmm9, 0xc
por xmm9, xmm11
movdqa xmm11, xmm7
psrld xmm11, 0x14
pslld xmm7, 0xc
por xmm7, xmm11
paddd xmm5, xmm0
paddd xmm4, xmm1
paddd xmm10, xmm9
paddd xmm8, xmm7
pxor xmm14, xmm5
movdqa xmm11, xmm14
psrld xmm11, 0x18
pslld xmm14, 8
por xmm14, xmm11
pxor xmm15, xmm4
movdqa xmm11, xmm15
psrld xmm11, 0x18
pslld xmm15, 8
por xmm15, xmm11
pxor xmm2, xmm10
movdqa xmm11, xmm2
psrld xmm11, 0x18
pslld xmm2, 8
por xmm2, xmm11
pxor xmm6, xmm8
movdqa xmm11, xmm6
psrld xmm11, 0x18
pslld xmm6, 8
por xmm6, xmm11
paddd xmm12, xmm14
movdqa xmm3, xmmword [rsp + 0x30]
paddd xmm3, xmm15
movdqa xmm11, xmm13
paddd xmm11, xmm2
movdqa xmmword [rsp + 0x40], xmm11
movdqa xmm13, xmmword [rsp + 0x20]
paddd xmm13, xmm6
movdqa xmmword [rsp + 0x20], xmm13
pxor xmm0, xmm12
pxor xmm1, xmm3
pxor xmm9, xmm11
pxor xmm7, xmm13
movdqa xmm11, xmm0
psrld xmm11, 0x19
pslld xmm0, 7
por xmm0, xmm11
movdqa xmm11, xmm1
psrld xmm11, 0x19
pslld xmm1, 7
por xmm1, xmm11
movdqa xmm11, xmm9
psrld xmm11, 0x19
pslld xmm9, 7
por xmm9, xmm11
movdqa xmm11, xmm7
psrld xmm11, 0x19
pslld xmm7, 7
por xmm7, xmm11
pshufd xmm13, xmm0, 0x93
pshufd xmm11, xmm1, 0x93
pshufd xmm9, xmm9, 0x93
pshufd xmm7, xmm7, 0x93
pshufd xmm12, xmm12, 0x4e
pshufd xmm3, xmm3, 0x4e
pshufd xmm0, xmmword [rsp + 0x40], 0x4e
movdqa xmmword [rsp + 0x30], xmm0
pshufd xmm0, xmmword [rsp + 0x20], 0x4e
movdqa xmmword [rsp + 0x20], xmm0
pshufd xmm0, xmm14, 0x39
pshufd xmm1, xmm15, 0x39
pshufd xmm15, xmm2, 0x39
pshufd xmm14, xmm6, 0x39
dec ebx
jne 0x14001c540
movdqa xmmword [rsp + 0x50], xmm14
mov rax, qword [rdi + 0x20]
movdqa xmm6, xmmword [rdi + 0x20]
pshufd xmm14, xmm6, 0xf8
pslldq xmm14, 4
movdqa xmm2, xmmword [str.expand_32_byte_k]
paddd xmm5, xmm2
paddd xmm4, xmm2
paddd xmm10, xmm2
paddd xmm8, xmm2
movdqa xmm2, xmm14
jmp 0x14001cba2
call fcn.140041ab0
test ax, ax
jns 0x14001c423
mov rcx, rdi
mov edx, ebx
mov r8, rsi
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x130
pop rbx
pop rdi
pop rsi
jmp 0x14001ce90
call fcn.140041ab0
test eax, 0x4000
je 0x14001c43e
mov rcx, rdi
mov edx, ebx
mov r8, rsi
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x130
pop rbx
pop rdi
pop rsi
jmp 0x14001d2e0
movdqa xmmword [rsp + 0x50], xmm14
pshufd xmm2, xmm0, 0xf8
pslldq xmm2, 4
movq rax, xmm0
movdqa xmm8, xmmword [0x140047a10]
movdqa xmm7, xmm6
movdqa xmmword [rsp + 0x20], xmm12
movdqa xmm9, xmm6
movdqa xmmword [rsp + 0x30], xmm12
movdqa xmm11, xmm6
movdqa xmm3, xmm12
movdqa xmm13, xmm6
movdqa xmm6, xmm0
movdqa xmm10, xmm8
movdqa xmm4, xmm8
movdqa xmm5, xmm8
paddd xmm0, xmm6
lea r8, [rax + 1]
mov rcx, r8
shr rcx, 0x20
movd xmm14, ecx
por xmm14, xmm2
lea rdx, [rax + 2]
mov rcx, rdx
shr rcx, 0x20
movd xmm6, ecx
por xmm6, xmm2
movdqa xmmword [rsp + 0x60], xmm6
lea rcx, [rax + 3]
mov r9, rcx
shr r9, 0x20
movd xmm6, r9d
por xmm6, xmm2
movdqa xmmword [rsp + 0x40], xmm6
add rax, 4
mov r9, rax
shr r9, 0x20
movd xmm6, r9d
por xmm6, xmm2
movdqa xmm2, xmm6
pslldq xmm2, 8
shufps xmm2, xmm6, 0xe8
movd xmm6, eax
por xmm6, xmm2
movdqa xmmword [rdi + 0x20], xmm6
movdqu xmmword [rsi], xmm5
movdqa xmm6, xmmword [rsp + 0x70]
paddd xmm13, xmm6
movdqu xmmword [rsi + 0x10], xmm13
movdqa xmm5, xmmword [rsp + 0x80]
paddd xmm12, xmm5
movdqu xmmword [rsi + 0x20], xmm12
movdqu xmmword [rsi + 0x30], xmm0
movdqa xmm0, xmm14
pslldq xmm0, 8
shufps xmm0, xmm14, 0xe8
movd xmm2, r8d
orps xmm0, xmm2
paddd xmm0, xmm1
movdqu xmmword [rsi + 0x40], xmm4
paddd xmm11, xmm6
movdqu xmmword [rsi + 0x50], xmm11
paddd xmm3, xmm5
movdqu xmmword [rsi + 0x60], xmm3
movdqu xmmword [rsi + 0x70], xmm0
movdqa xmm1, xmmword [rsp + 0x60]
movdqa xmm0, xmm1
pslldq xmm0, 8
shufps xmm0, xmm1, 0xe8
movd xmm1, edx
orps xmm0, xmm1
paddd xmm0, xmm15
movdqu xmmword [rsi + 0x80], xmm10
paddd xmm9, xmm6
movdqu xmmword [rsi + 0x90], xmm9
movdqa xmm1, xmmword [rsp + 0x30]
paddd xmm1, xmm5
movdqu xmmword [rsi + 0xa0], xmm1
movdqu xmmword [rsi + 0xb0], xmm0
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmm0, xmm1
pslldq xmm0, 8
shufps xmm0, xmm1, 0xe8
movd xmm1, ecx
orps xmm0, xmm1
paddd xmm0, xmmword [rsp + 0x50]
movdqu xmmword [rsi + 0xc0], xmm8
paddd xmm7, xmm6
movdqu xmmword [rsi + 0xd0], xmm7
movdqa xmm1, xmmword [rsp + 0x20]
paddd xmm1, xmm5
movdqu xmmword [rsi + 0xe0], xmm1
movdqu xmmword [rsi + 0xf0], xmm0
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x130
pop rbx
pop rdi
pop rsi
ret
call fcn.140041ab0
test eax, 0x400
je 0x14001c459
mov rcx, rdi
mov edx, ebx
mov r8, rsi
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x130
pop rbx
pop rdi
pop rsi
jmp 0x14001d9a0
call fcn.140041ab0
test eax, 0x200
je 0x14001c474
mov rcx, rdi
mov edx, ebx
mov r8, rsi
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x130
pop rbx
pop rdi
pop rsi
jmp 0x14001e140
sub rsp, 0xa8
vmovaps xmmword [rsp + 0x90], xmm15
vmovaps xmmword [rsp + 0x80], xmm14
vmovaps xmmword [rsp + 0x70], xmm13
vmovdqa xmmword [rsp + 0x60], xmm12
vmovdqa xmmword [rsp + 0x50], xmm11
vmovdqa xmmword [rsp + 0x40], xmm10
vmovdqa xmmword [rsp + 0x30], xmm9
vmovdqa xmmword [rsp + 0x20], xmm8
vmovaps xmmword [rsp + 0x10], xmm7
vmovaps xmmword [rsp], xmm6
mov rax, qword [rcx + 0x20]
vmovdqa xmm6, xmmword [rcx + 0x20]
lea r9, [rax + 1]
vpinsrd xmm0, xmm6, r9d, 0
shr r9, 0x20
vpinsrd xmm0, xmm0, r9d, 1
lea r9, [rax + 2]
vpinsrd xmm1, xmm6, r9d, 0
shr r9, 0x20
vpinsrd xmm2, xmm1, r9d, 1
lea r9, [rax + 3]
vpinsrd xmm1, xmm6, r9d, 0
shr r9, 0x20
vpinsrd xmm4, xmm1, r9d, 1
vbroadcasti128 ymm1, xmmword [rcx]
vbroadcasti128 ymm5, xmmword [rcx + 0x10]
vinserti128 ymm3, ymm6, xmm0, 1
vinserti128 ymm0, ymm2, xmm4, 1
test edx, edx
je 0x14001d124
vbroadcasti128 ymm2, xmmword [str.expand_32_byte_k]
vbroadcasti128 ymm6, xmmword [0x140047a40]
vmovdqa ymm7, ymmword [0x140047a20]
vmovdqa ymm4, ymm2
vmovdqa ymm11, ymm5
vmovdqa ymm12, ymm1
nop word cs:[rax + rax]
vpaddd ymm4, ymm12, ymm4
vpaddd ymm2, ymm2, ymm1
vpxor ymm3, ymm3, ymm4
vpxor ymm0, ymm0, ymm2
vpshuflw ymm3, ymm3, 0xb1
vpshufhw ymm3, ymm3, 0xb1
vpshuflw ymm0, ymm0, 0xb1
vpshufhw ymm0, ymm0, 0xb1
vpaddd ymm8, ymm11, ymm3
vpaddd ymm5, ymm5, ymm0
vpxor ymm9, ymm8, ymm12
vpsrld ymm10, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm10
vpxor ymm1, ymm5, ymm1
vpsrld ymm10, ymm1, 0x14
vpslld ymm1, ymm1, 0xc
vpor ymm1, ymm10, ymm1
vpaddd ymm4, ymm9, ymm4
vpaddd ymm2, ymm1, ymm2
vpshufb ymm10, ymm4, ymm6
vpshufb ymm3, ymm3, ymm6
vpxor ymm3, ymm10, ymm3
vpshufb ymm10, ymm2, ymm6
vpshufb ymm0, ymm0, ymm6
vpxor ymm0, ymm10, ymm0
vpaddd ymm8, ymm8, ymm3
vpaddd ymm5, ymm5, ymm0
vpxor ymm9, ymm8, ymm9
vpxor ymm1, ymm5, ymm1
vpsrld ymm10, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm9, ymm9, ymm10
vpsrld ymm10, ymm1, 0x19
vpslld ymm1, ymm1, 7
vpor ymm1, ymm10, ymm1
vpshufd ymm9, ymm9, 0x39
vpshufd ymm1, ymm1, 0x39
vpshufd ymm8, ymm8, 0x4e
vpshufd ymm5, ymm5, 0x4e
vpaddd ymm4, ymm9, ymm4
vpaddd ymm2, ymm1, ymm2
vpshuflw ymm10, ymm4, 0xb1
vpshufhw ymm10, ymm10, 0xb1
vpshufb ymm3, ymm3, ymm7
vpxor ymm3, ymm10, ymm3
vpshuflw ymm10, ymm2, 0xb1
vpshufhw ymm10, ymm10, 0xb1
vpshufb ymm0, ymm0, ymm7
vpxor ymm0, ymm10, ymm0
vpaddd ymm8, ymm8, ymm3
vpaddd ymm5, ymm5, ymm0
vpxor ymm9, ymm8, ymm9
vpxor ymm1, ymm5, ymm1
vpsrld ymm10, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm10
vpsrld ymm10, ymm1, 0x14
vpslld ymm1, ymm1, 0xc
vpor ymm1, ymm10, ymm1
vpaddd ymm4, ymm9, ymm4
vpaddd ymm2, ymm1, ymm2
vpxor ymm3, ymm3, ymm4
vpshufb ymm3, ymm3, ymm6
vpxor ymm0, ymm0, ymm2
vpshufb ymm0, ymm0, ymm6
vpaddd ymm8, ymm8, ymm3
vpaddd ymm5, ymm5, ymm0
vpxor ymm9, ymm8, ymm9
vpxor ymm1, ymm5, ymm1
vpsrld ymm10, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm9, ymm9, ymm10
vpsrld ymm10, ymm1, 0x19
vpslld ymm1, ymm1, 7
vpor ymm1, ymm10, ymm1
vpshufd ymm12, ymm9, 0x93
vpshufd ymm1, ymm1, 0x93
vpshufd ymm11, ymm8, 0x4e
vpshufd ymm5, ymm5, 0x4e
vpshufd ymm3, ymm3, 0x39
vpshufd ymm0, ymm0, 0x39
dec edx
jne 0x14001cf70
vmovdqa ymm9, ymm5
vmovdqa ymm10, ymm1
mov rax, qword [rcx + 0x20]
vmovdqa xmm8, xmmword [rcx]
vmovdqa xmm7, xmmword [rcx + 0x10]
vmovdqa xmm6, xmmword [rcx + 0x20]
vmovdqa ymm1, ymm12
vmovdqa ymm5, ymm11
jmp 0x14001d141
vbroadcasti128 ymm4, xmmword [str.expand_32_byte_k]
vmovdqa xmm7, xmm5
vmovdqa xmm8, xmm1
vmovdqa ymm10, ymm1
vmovdqa ymm9, ymm5
vmovdqa ymm2, ymm4
lea rdx, [rax + 1]
vpinsrd xmm11, xmm6, edx, 0
shr rdx, 0x20
vpinsrd xmm12, xmm11, edx, 1
lea rdx, [rax + 2]
vpinsrd xmm11, xmm6, edx, 0
shr rdx, 0x20
vpinsrd xmm11, xmm11, edx, 1
lea rdx, [rax + 3]
vpinsrd xmm13, xmm6, edx, 0
shr rdx, 0x20
vpinsrd xmm13, xmm13, edx, 1
add rax, 4
mov rdx, rax
shr rdx, 0x20
vpinsrd xmm14, xmm6, eax, 0
vpinsrd xmm14, xmm14, edx, 1
vextracti128 xmm15, ymm3, 1
vpaddd xmm12, xmm12, xmm15
vextracti128 xmm15, ymm0, 1
vpaddd xmm13, xmm13, xmm15
vextracti128 xmm15, ymm4, 1
vmovdqa xmmword [rcx + 0x20], xmm14
vmovdqa xmm14, xmmword [str.expand_32_byte_k]
vpaddd xmm4, xmm14, xmm4
vmovdqu xmmword [r8], xmm4
vpaddd xmm4, xmm8, xmm1
vmovdqu xmmword [r8 + 0x10], xmm4
vpaddd xmm4, xmm7, xmm5
vmovdqu xmmword [r8 + 0x20], xmm4
vextracti128 xmm4, ymm2, 1
vextracti128 xmm1, ymm1, 1
vpaddd xmm3, xmm6, xmm3
vextracti128 xmm6, ymm10, 1
vextracti128 xmm5, ymm5, 1
vmovdqu xmmword [r8 + 0x30], xmm3
vextracti128 xmm3, ymm9, 1
vpaddd xmm15, xmm15, xmm14
vmovdqu xmmword [r8 + 0x40], xmm15
vpaddd xmm1, xmm8, xmm1
vmovdqu xmmword [r8 + 0x50], xmm1
vpaddd xmm1, xmm7, xmm5
vmovdqu xmmword [r8 + 0x60], xmm1
vmovdqu xmmword [r8 + 0x70], xmm12
vpaddd xmm1, xmm14, xmm2
vmovdqu xmmword [r8 + 0x80], xmm1
vpaddd xmm1, xmm8, xmm10
vmovdqu xmmword [r8 + 0x90], xmm1
vpaddd xmm1, xmm9, xmm7
vmovdqu xmmword [r8 + 0xa0], xmm1
vpaddd xmm0, xmm11, xmm0
vmovdqu xmmword [r8 + 0xb0], xmm0
vpaddd xmm0, xmm14, xmm4
vmovdqu xmmword [r8 + 0xc0], xmm0
vpaddd xmm0, xmm8, xmm6
vmovdqu xmmword [r8 + 0xd0], xmm0
vpaddd xmm0, xmm7, xmm3
vmovdqu xmmword [r8 + 0xe0], xmm0
vmovdqu xmmword [r8 + 0xf0], xmm13
vzeroupper
vmovaps xmm6, xmmword [rsp]
vmovaps xmm7, xmmword [rsp + 0x10]
vmovaps xmm8, xmmword [rsp + 0x20]
vmovaps xmm9, xmmword [rsp + 0x30]
vmovaps xmm10, xmmword [rsp + 0x40]
vmovaps xmm11, xmmword [rsp + 0x50]
vmovaps xmm12, xmmword [rsp + 0x60]
vmovaps xmm13, xmmword [rsp + 0x70]
vmovaps xmm14, xmmword [rsp + 0x80]
vmovaps xmm15, xmmword [rsp + 0x90]
add rsp, 0xa8
ret
sub rsp, 0x128
vmovaps xmmword [rsp + 0x110], xmm15
vmovaps xmmword [rsp + 0x100], xmm14
vmovaps xmmword [rsp + 0xf0], xmm13
vmovdqa xmmword [rsp + 0xe0], xmm12
vmovdqa xmmword [rsp + 0xd0], xmm11
vmovaps xmmword [rsp + 0xc0], xmm10
vmovaps xmmword [rsp + 0xb0], xmm9
vmovdqa xmmword [rsp + 0xa0], xmm8
vmovdqa xmmword [rsp + 0x90], xmm7
vmovaps xmmword [rsp + 0x80], xmm6
mov rax, qword [rcx + 0x20]
vmovdqa xmm6, xmmword [rcx]
vmovdqa xmm2, xmmword [rcx + 0x20]
lea r9, [rax + 1]
vpinsrd xmm0, xmm2, r9d, 0
shr r9, 0x20
vpinsrd xmm10, xmm0, r9d, 1
vmovdqa xmm15, xmmword [rcx + 0x10]
lea r9, [rax + 2]
vpinsrd xmm0, xmm2, r9d, 0
shr r9, 0x20
vpinsrd xmm14, xmm0, r9d, 1
add rax, 3
vpinsrd xmm0, xmm2, eax, 0
shr rax, 0x20
vpinsrd xmm0, xmm0, eax, 1
test edx, edx
je 0x14001d7cc
vmovdqa xmm7, xmmword [str.expand_32_byte_k]
vmovdqa xmm3, xmm7
vmovdqa xmm4, xmm7
vmovdqa xmmword [rsp + 0x50], xmm7
vmovdqa xmm8, xmm15
vmovdqa xmmword [rsp + 0x10], xmm15
vmovdqa xmm5, xmm15
vmovdqa xmm1, xmm15
vmovdqa xmm9, xmm6
vmovdqa xmmword [rsp], xmm6
vmovdqa xmmword [rsp + 0x30], xmm6
vmovdqa xmm13, xmm6
nop word cs:[rax + rax]
vpaddd xmm6, xmm9, xmm7
vmovdqa xmmword [rsp + 0x40], xmm6
vpxor xmm2, xmm2, xmm6
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm12, xmm2, 0xb1
vpaddd xmm1, xmm12, xmm1
vmovdqa xmmword [rsp + 0x20], xmm1
vmovdqa xmm2, xmm13
vpxor xmm13, xmm9, xmm1
vpsrld xmm6, xmm13, 0x14
vpslld xmm13, xmm13, 0xc
vpor xmm13, xmm13, xmm6
vmovdqa xmm1, xmmword [rsp]
vpaddd xmm6, xmm1, xmm3
vpxor xmm3, xmm10, xmm6
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm7, xmm3, 0xb1
vpaddd xmm15, xmm5, xmm7
vpxor xmm10, xmm15, xmm1
vpsrld xmm11, xmm10, 0x14
vpslld xmm10, xmm10, 0xc
vpor xmm9, xmm10, xmm11
vmovdqa xmm3, xmmword [rsp + 0x30]
vpaddd xmm10, xmm3, xmm4
vpxor xmm1, xmm10, xmm14
vpshuflw xmm1, xmm1, 0xb1
vpshufhw xmm4, xmm1, 0xb1
vpaddd xmm1, xmm4, xmmword [rsp + 0x10]
vmovdqa xmmword [rsp + 0x10], xmm1
vpxor xmm1, xmm1, xmm3
vpsrld xmm5, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm3, xmm1, xmm5
vpaddd xmm14, xmm2, xmmword [rsp + 0x50]
vpxor xmm1, xmm14, xmm0
vpshuflw xmm1, xmm1, 0xb1
vpshufhw xmm0, xmm1, 0xb1
vpaddd xmm8, xmm8, xmm0
vpxor xmm5, xmm8, xmm2
vpsrld xmm11, xmm5, 0x14
vpslld xmm5, xmm5, 0xc
vpor xmm1, xmm11, xmm5
vpaddd xmm5, xmm13, xmmword [rsp + 0x40]
vmovdqa xmm2, xmmword [0x140047a40]
vpshufb xmm11, xmm12, xmm2
vpshufb xmm12, xmm5, xmm2
vpxor xmm11, xmm12, xmm11
vpaddd xmm6, xmm9, xmm6
vpshufb xmm7, xmm7, xmm2
vpshufb xmm12, xmm6, xmm2
vpxor xmm7, xmm12, xmm7
vpaddd xmm10, xmm10, xmm3
vpshufb xmm4, xmm4, xmm2
vpshufb xmm12, xmm10, xmm2
vpxor xmm4, xmm12, xmm4
vpaddd xmm12, xmm14, xmm1
vmovdqa xmmword [rsp], xmm12
vpshufb xmm0, xmm0, xmm2
vpshufb xmm12, xmm12, xmm2
vpxor xmm14, xmm12, xmm0
vpaddd xmm0, xmm11, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
vpxor xmm12, xmm13, xmm0
vpsrld xmm13, xmm12, 0x19
vpslld xmm12, xmm12, 7
vpor xmm12, xmm12, xmm13
vpaddd xmm13, xmm15, xmm7
vpxor xmm9, xmm13, xmm9
vpsrld xmm15, xmm9, 0x19
vpslld xmm9, xmm9, 7
vpor xmm15, xmm9, xmm15
vpaddd xmm0, xmm4, xmmword [rsp + 0x10]
vmovdqa xmmword [rsp + 0x50], xmm0
vpxor xmm2, xmm0, xmm3
vpsrld xmm9, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm9, xmm9, xmm2
vpaddd xmm0, xmm8, xmm14
vmovdqa xmmword [rsp + 0x40], xmm0
vpxor xmm1, xmm0, xmm1
vpsrld xmm3, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm3, xmm1, xmm3
vpshufd xmm2, xmm12, 0x39
vpaddd xmm12, xmm2, xmm5
vpshuflw xmm5, xmm12, 0xb1
vpshufhw xmm5, xmm5, 0xb1
vmovdqa xmm0, xmmword [0x140047a50]
vpshufb xmm11, xmm11, xmm0
vpxor xmm11, xmm11, xmm5
vpshufd xmm1, xmm15, 0x39
vpaddd xmm5, xmm1, xmm6
vmovdqa xmmword [rsp + 0x30], xmm5
vpshuflw xmm5, xmm5, 0xb1
vpshufhw xmm5, xmm5, 0xb1
vpshufb xmm6, xmm7, xmm0
vpxor xmm15, xmm6, xmm5
vpshufd xmm5, xmm9, 0x39
vpaddd xmm6, xmm10, xmm5
vmovdqa xmmword [rsp + 0x10], xmm6
vpshuflw xmm6, xmm6, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vpshufb xmm4, xmm4, xmm0
vpxor xmm6, xmm4, xmm6
vpshufd xmm3, xmm3, 0x39
vpaddd xmm4, xmm3, xmmword [rsp]
vmovdqa xmmword [rsp], xmm4
vpshuflw xmm7, xmm4, 0xb1
vpshufhw xmm7, xmm7, 0xb1
vpshufb xmm10, xmm14, xmm0
vpxor xmm7, xmm10, xmm7
vpshufd xmm10, xmmword [rsp + 0x20], 0x4e
vpaddd xmm14, xmm10, xmm11
vpxor xmm2, xmm14, xmm2
vpsrld xmm10, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm2, xmm10, xmm2
vpshufd xmm10, xmm13, 0x4e
vpaddd xmm13, xmm10, xmm15
vpxor xmm1, xmm13, xmm1
vpsrld xmm10, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm1, xmm10, xmm1
vpshufd xmm8, xmmword [rsp + 0x50], 0x4e
vpaddd xmm10, xmm8, xmm6
vpxor xmm0, xmm10, xmm5
vpsrld xmm8, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm0, xmm8, xmm0
vpshufd xmm8, xmmword [rsp + 0x40], 0x4e
vpaddd xmm8, xmm8, xmm7
vpxor xmm3, xmm8, xmm3
vpsrld xmm9, xmm3, 0x14
vpslld xmm3, xmm3, 0xc
vpor xmm9, xmm9, xmm3
vpaddd xmm3, xmm12, xmm2
vmovdqa xmmword [rsp + 0x40], xmm3
vpxor xmm3, xmm11, xmm3
vmovdqa xmm12, xmmword [0x140047a40]
vpshufb xmm11, xmm3, xmm12
vpaddd xmm14, xmm14, xmm11
vpxor xmm2, xmm14, xmm2
vpsrld xmm3, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm2, xmm2, xmm3
vpaddd xmm3, xmm1, xmmword [rsp + 0x30]
vpxor xmm5, xmm15, xmm3
vpshufb xmm15, xmm5, xmm12
vpaddd xmm5, xmm13, xmm15
vpxor xmm1, xmm5, xmm1
vpsrld xmm13, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm13, xmm13, xmm1
vpaddd xmm4, xmm0, xmmword [rsp + 0x10]
vpxor xmm6, xmm4, xmm6
vpshufb xmm6, xmm6, xmm12
vpaddd xmm10, xmm10, xmm6
vpxor xmm0, xmm10, xmm0
vpsrld xmm1, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm1, xmm0, xmm1
vpaddd xmm0, xmm9, xmmword [rsp]
vmovdqa xmmword [rsp + 0x50], xmm0
vpxor xmm7, xmm0, xmm7
vpshufb xmm7, xmm7, xmm12
vpaddd xmm8, xmm8, xmm7
vpxor xmm9, xmm8, xmm9
vpsrld xmm0, xmm9, 0x19
vpslld xmm9, xmm9, 7
vpor xmm0, xmm9, xmm0
vpshufd xmm9, xmm2, 0x93
vpshufd xmm2, xmm13, 0x93
vmovdqa xmmword [rsp], xmm2
vpshufd xmm1, xmm1, 0x93
vmovdqa xmmword [rsp + 0x30], xmm1
vpshufd xmm13, xmm0, 0x93
vpshufd xmm1, xmm14, 0x4e
vpshufd xmm5, xmm5, 0x4e
vpshufd xmm0, xmm10, 0x4e
vmovdqa xmmword [rsp + 0x10], xmm0
vpshufd xmm8, xmm8, 0x4e
vpshufd xmm2, xmm11, 0x39
vpshufd xmm10, xmm15, 0x39
vpshufd xmm14, xmm6, 0x39
vpshufd xmm0, xmm7, 0x39
vmovdqa xmm7, xmmword [rsp + 0x40]
dec edx
jne 0x14001d3e0
vmovdqa xmmword [rsp + 0x20], xmm0
vmovdqa xmmword [rsp + 0x60], xmm2
mov rax, qword [rcx + 0x20]
vmovdqa xmm11, xmmword [rcx]
vmovaps xmm0, xmmword [rcx + 0x10]
vmovaps xmmword [rsp + 0x70], xmm0
vmovdqa xmm2, xmmword [rcx + 0x20]
vmovdqa xmm6, xmmword [str.expand_32_byte_k]
vpaddd xmm12, xmm7, xmm6
vpaddd xmm3, xmm3, xmm6
vpaddd xmm4, xmm4, xmm6
vpaddd xmm0, xmm6, xmmword [rsp + 0x50]
vmovdqa xmm15, xmm8
jmp 0x14001d81c
vmovdqa xmmword [rsp + 0x20], xmm0
vmovq rax, xmm2
vmovdqa xmm0, xmmword [0x140047a10]
vmovdqa xmm4, xmm0
vmovdqa xmm3, xmm0
vmovdqa xmm12, xmm0
vmovdqa xmm13, xmm6
vmovdqa xmmword [rsp + 0x30], xmm6
vmovdqa xmmword [rsp], xmm6
vmovdqa xmm11, xmm6
vmovdqa xmm9, xmm6
vmovdqa xmm1, xmm15
vmovdqa xmm5, xmm15
vmovdqa xmmword [rsp + 0x10], xmm15
vmovdqa xmmword [rsp + 0x70], xmm15
vmovdqa xmmword [rsp + 0x60], xmm2
lea rdx, [rax + 1]
mov r9, rdx
shr r9, 0x20
vpinsrd xmm6, xmm2, edx, 0
vpinsrd xmm6, xmm6, r9d, 1
vpaddd xmm7, xmm10, xmm6
lea rdx, [rax + 2]
mov r9, rdx
shr r9, 0x20
vpinsrd xmm6, xmm2, edx, 0
vpinsrd xmm6, xmm6, r9d, 1
vpaddd xmm6, xmm14, xmm6
lea rdx, [rax + 3]
mov r9, rdx
shr r9, 0x20
vpinsrd xmm8, xmm2, edx, 0
vpinsrd xmm8, xmm8, r9d, 1
vpaddd xmm10, xmm8, xmmword [rsp + 0x20]
add rax, 4
mov rdx, rax
shr rdx, 0x20
vpinsrd xmm8, xmm2, eax, 0
vpinsrd xmm8, xmm8, edx, 1
vmovdqa xmmword [rcx + 0x20], xmm8
vmovdqu xmmword [r8], xmm12
vpaddd xmm8, xmm11, xmm9
vmovdqu xmmword [r8 + 0x10], xmm8
vmovdqa xmm8, xmmword [rsp + 0x70]
vpaddd xmm1, xmm8, xmm1
vmovdqu xmmword [r8 + 0x20], xmm1
vpaddd xmm1, xmm2, xmmword [rsp + 0x60]
vmovdqu xmmword [r8 + 0x30], xmm1
vmovdqu xmmword [r8 + 0x40], xmm3
vpaddd xmm1, xmm11, xmmword [rsp]
vmovdqu xmmword [r8 + 0x50], xmm1
vpaddd xmm1, xmm8, xmm5
vmovdqu xmmword [r8 + 0x60], xmm1
vmovdqu xmmword [r8 + 0x70], xmm7
vmovdqu xmmword [r8 + 0x80], xmm4
vpaddd xmm1, xmm11, xmmword [rsp + 0x30]
vmovdqu xmmword [r8 + 0x90], xmm1
vpaddd xmm1, xmm8, xmmword [rsp + 0x10]
vmovdqu xmmword [r8 + 0xa0], xmm1
vmovdqu xmmword [r8 + 0xb0], xmm6
vmovdqu xmmword [r8 + 0xc0], xmm0
vpaddd xmm0, xmm11, xmm13
vmovdqu xmmword [r8 + 0xd0], xmm0
vpaddd xmm0, xmm8, xmm15
vmovdqu xmmword [r8 + 0xe0], xmm0
vmovdqu xmmword [r8 + 0xf0], xmm10
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x80]
vmovaps xmm7, xmmword [rsp + 0x90]
vmovaps xmm8, xmmword [rsp + 0xa0]
vmovaps xmm9, xmmword [rsp + 0xb0]
vmovaps xmm10, xmmword [rsp + 0xc0]
vmovaps xmm11, xmmword [rsp + 0xd0]
vmovaps xmm12, xmmword [rsp + 0xe0]
vmovaps xmm13, xmmword [rsp + 0xf0]
vmovaps xmm14, xmmword [rsp + 0x100]
vmovaps xmm15, xmmword [rsp + 0x110]
add rsp, 0x128
ret
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm15
movaps xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0xd0], xmm13
movaps xmmword [rsp + 0xc0], xmm12
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm9
movdqa xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [rcx + 0x20]
movdqa xmm7, xmmword [rcx]
movdqa xmm12, xmmword [rcx + 0x10]
movdqa xmm14, xmmword [rcx + 0x20]
lea r9, [rax + 1]
movdqa xmm15, xmm14
pinsrd xmm15, r9d, 0
shr r9, 0x20
pinsrd xmm15, r9d, 1
lea r9, [rax + 2]
movdqa xmm5, xmm14
pinsrd xmm5, r9d, 0
shr r9, 0x20
pinsrd xmm5, r9d, 1
add rax, 3
movdqa xmm4, xmm14
pinsrd xmm4, eax, 0
shr rax, 0x20
pinsrd xmm4, eax, 1
test edx, edx
je 0x14001df1d
movdqa xmm3, xmmword [str.expand_32_byte_k]
movdqa xmm2, xmm3
movdqa xmm1, xmm3
movdqa xmm0, xmm3
movdqa xmmword [rsp + 0x10], xmm12
movdqa xmm13, xmm12
movdqa xmm10, xmm12
movdqa xmm6, xmm7
movdqa xmm11, xmm7
movdqa xmm9, xmm7
nop dword [rax + rax]
paddd xmm3, xmm6
paddd xmm2, xmm11
paddd xmm1, xmm9
paddd xmm0, xmm7
pxor xmm14, xmm3
pxor xmm15, xmm2
pxor xmm5, xmm1
pxor xmm4, xmm0
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm5, xmm5, 0xb1
pshufhw xmm5, xmm5, 0xb1
pshuflw xmm4, xmm4, 0xb1
pshufhw xmm4, xmm4, 0xb1
paddd xmm12, xmm14
paddd xmm10, xmm15
paddd xmm13, xmm5
movdqa xmmword [rsp], xmm13
movdqa xmm8, xmmword [rsp + 0x10]
paddd xmm8, xmm4
movdqa xmmword [rsp + 0x10], xmm8
pxor xmm6, xmm12
pxor xmm11, xmm10
pxor xmm9, xmm13
pxor xmm7, xmm8
movdqa xmm13, xmm6
psrld xmm13, 0x14
pslld xmm6, 0xc
por xmm6, xmm13
movdqa xmm13, xmm11
psrld xmm13, 0x14
pslld xmm11, 0xc
por xmm11, xmm13
movdqa xmm13, xmm9
psrld xmm13, 0x14
pslld xmm9, 0xc
por xmm9, xmm13
movdqa xmm13, xmm7
psrld xmm13, 0x14
pslld xmm7, 0xc
por xmm7, xmm13
paddd xmm3, xmm6
paddd xmm2, xmm11
paddd xmm1, xmm9
paddd xmm0, xmm7
movdqa xmm13, xmm3
movdqa xmm8, xmmword [0x140047a40]
pshufb xmm13, xmm8
pshufb xmm14, xmm8
pxor xmm14, xmm13
movdqa xmm13, xmm2
pshufb xmm13, xmm8
pshufb xmm15, xmm8
pxor xmm15, xmm13
movdqa xmm13, xmm1
pshufb xmm13, xmm8
pshufb xmm5, xmm8
pxor xmm5, xmm13
movdqa xmm13, xmm0
pshufb xmm13, xmm8
pshufb xmm4, xmm8
pxor xmm4, xmm13
paddd xmm12, xmm14
paddd xmm10, xmm15
movdqa xmm8, xmmword [rsp]
paddd xmm8, xmm5
movdqa xmmword [rsp], xmm8
movdqa xmm13, xmmword [rsp + 0x10]
paddd xmm13, xmm4
pxor xmm6, xmm12
pxor xmm11, xmm10
pxor xmm9, xmm8
pxor xmm7, xmm13
movdqa xmm8, xmm13
movdqa xmm13, xmm6
psrld xmm13, 0x19
pslld xmm6, 7
por xmm6, xmm13
movdqa xmm13, xmm11
psrld xmm13, 0x19
pslld xmm11, 7
por xmm11, xmm13
movdqa xmm13, xmm9
psrld xmm13, 0x19
pslld xmm9, 7
por xmm9, xmm13
movdqa xmm13, xmm7
psrld xmm13, 0x19
pslld xmm7, 7
por xmm7, xmm13
pshufd xmm13, xmm6, 0x39
pshufd xmm11, xmm11, 0x39
pshufd xmm9, xmm9, 0x39
pshufd xmm7, xmm7, 0x39
pshufd xmm12, xmm12, 0x4e
pshufd xmm10, xmm10, 0x4e
pshufd xmm6, xmmword [rsp], 0x4e
movdqa xmmword [rsp], xmm6
pshufd xmm6, xmm8, 0x4e
movdqa xmmword [rsp + 0x10], xmm6
paddd xmm3, xmm13
paddd xmm2, xmm11
paddd xmm1, xmm9
paddd xmm0, xmm7
pshuflw xmm6, xmm3, 0xb1
pshufhw xmm6, xmm6, 0xb1
movdqa xmm8, xmmword [0x140047a50]
pshufb xmm14, xmm8
pxor xmm14, xmm6
pshuflw xmm6, xmm2, 0xb1
pshufhw xmm6, xmm6, 0xb1
pshufb xmm15, xmm8
pxor xmm15, xmm6
pshuflw xmm6, xmm1, 0xb1
pshufhw xmm6, xmm6, 0xb1
pshufb xmm5, xmm8
pxor xmm5, xmm6
pshuflw xmm6, xmm0, 0xb1
pshufhw xmm6, xmm6, 0xb1
pshufb xmm4, xmm8
pxor xmm4, xmm6
paddd xmm12, xmm14
paddd xmm10, xmm15
movdqa xmm8, xmmword [rsp]
paddd xmm8, xmm5
movdqa xmm6, xmmword [rsp + 0x10]
paddd xmm6, xmm4
movdqa xmmword [rsp + 0x10], xmm6
pxor xmm13, xmm12
pxor xmm11, xmm10
pxor xmm9, xmm8
pxor xmm7, xmm6
movdqa xmm6, xmm13
psrld xmm6, 0x14
pslld xmm13, 0xc
por xmm13, xmm6
movdqa xmm6, xmm11
psrld xmm6, 0x14
pslld xmm11, 0xc
por xmm11, xmm6
movdqa xmm6, xmm9
psrld xmm6, 0x14
pslld xmm9, 0xc
por xmm9, xmm6
movdqa xmm6, xmm7
psrld xmm6, 0x14
pslld xmm7, 0xc
por xmm7, xmm6
paddd xmm3, xmm13
paddd xmm2, xmm11
paddd xmm1, xmm9
paddd xmm0, xmm7
pxor xmm14, xmm3
pxor xmm15, xmm2
pxor xmm5, xmm1
pxor xmm4, xmm0
movdqa xmm6, xmmword [0x140047a40]
pshufb xmm14, xmm6
pshufb xmm15, xmm6
pshufb xmm5, xmm6
pshufb xmm4, xmm6
paddd xmm12, xmm14
paddd xmm10, xmm15
paddd xmm8, xmm5
movdqa xmm6, xmmword [rsp + 0x10]
paddd xmm6, xmm4
movdqa xmmword [rsp + 0x10], xmm6
pxor xmm13, xmm12
pxor xmm11, xmm10
pxor xmm9, xmm8
pxor xmm7, xmm6
movdqa xmm6, xmm13
psrld xmm6, 0x19
pslld xmm13, 7
por xmm13, xmm6
movdqa xmm6, xmm11
psrld xmm6, 0x19
pslld xmm11, 7
por xmm11, xmm6
movdqa xmm6, xmm9
psrld xmm6, 0x19
pslld xmm9, 7
por xmm9, xmm6
movdqa xmm6, xmm7
psrld xmm6, 0x19
pslld xmm7, 7
por xmm7, xmm6
pshufd xmm6, xmm13, 0x93
pshufd xmm11, xmm11, 0x93
pshufd xmm9, xmm9, 0x93
pshufd xmm7, xmm7, 0x93
pshufd xmm12, xmm12, 0x4e
pshufd xmm10, xmm10, 0x4e
pshufd xmm13, xmm8, 0x4e
pshufd xmm8, xmmword [rsp + 0x10], 0x4e
movdqa xmmword [rsp + 0x10], xmm8
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm5, xmm5, 0x39
pshufd xmm4, xmm4, 0x39
dec edx
jne 0x14001daa0
movdqa xmmword [rsp + 0x20], xmm14
mov rax, qword [rcx + 0x20]
movaps xmm14, xmmword [rcx]
movaps xmmword [rsp + 0x40], xmm14
movaps xmm14, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x30], xmm14
movdqa xmm14, xmmword [rcx + 0x20]
movdqa xmm8, xmmword [str.expand_32_byte_k]
paddd xmm3, xmm8
paddd xmm2, xmm8
paddd xmm1, xmm8
paddd xmm0, xmm8
jmp 0x14001df6e
movq rax, xmm14
movdqa xmm0, xmmword [0x140047a10]
movdqa xmm1, xmm0
movdqa xmm2, xmm0
movdqa xmm3, xmm0
movdqa xmm6, xmm7
movdqa xmm9, xmm7
movdqa xmm11, xmm7
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmm8, xmm12
movdqa xmm10, xmm12
movdqa xmm13, xmm12
movdqa xmmword [rsp + 0x30], xmm12
movdqa xmmword [rsp + 0x10], xmm12
movdqa xmmword [rsp + 0x20], xmm14
lea rdx, [rax + 1]
movdqa xmmword [rsp], xmm14
movdqa xmm8, xmmword [rsp]
pinsrd xmm8, edx, 0
movdqa xmmword [rsp], xmm8
shr rdx, 0x20
movdqa xmm8, xmmword [rsp]
pinsrd xmm8, edx, 1
movdqa xmmword [rsp], xmm8
lea rdx, [rax + 2]
movdqa xmm8, xmm14
pinsrd xmm8, edx, 0
shr rdx, 0x20
pinsrd xmm8, edx, 1
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmm8, xmmword [rsp]
paddd xmm8, xmm15
movdqa xmmword [rsp], xmm8
movdqa xmm8, xmmword [rsp + 0x50]
paddd xmm8, xmm5
lea rdx, [rax + 3]
movdqa xmm5, xmm14
pinsrd xmm5, edx, 0
shr rdx, 0x20
pinsrd xmm5, edx, 1
paddd xmm5, xmm4
add rax, 4
mov rdx, rax
movdqa xmm15, xmmword [rsp + 0x20]
paddd xmm15, xmm14
pinsrd xmm14, eax, 0
shr rdx, 0x20
pinsrd xmm14, edx, 1
movdqa xmmword [rcx + 0x20], xmm14
movdqu xmmword [r8], xmm3
movdqa xmm3, xmmword [rsp + 0x40]
paddd xmm6, xmm3
movdqu xmmword [r8 + 0x10], xmm6
movdqa xmm4, xmmword [rsp + 0x30]
paddd xmm12, xmm4
movdqu xmmword [r8 + 0x20], xmm12
movdqu xmmword [r8 + 0x30], xmm15
movdqu xmmword [r8 + 0x40], xmm2
paddd xmm11, xmm3
movdqu xmmword [r8 + 0x50], xmm11
paddd xmm10, xmm4
movdqu xmmword [r8 + 0x60], xmm10
movaps xmm2, xmmword [rsp]
movups xmmword [r8 + 0x70], xmm2
movdqu xmmword [r8 + 0x80], xmm1
paddd xmm9, xmm3
movdqu xmmword [r8 + 0x90], xmm9
paddd xmm13, xmm4
movdqu xmmword [r8 + 0xa0], xmm13
movdqu xmmword [r8 + 0xb0], xmm8
movdqu xmmword [r8 + 0xc0], xmm0
paddd xmm7, xmm3
movdqu xmmword [r8 + 0xd0], xmm7
movdqa xmm0, xmmword [rsp + 0x10]
paddd xmm0, xmm4
movdqu xmmword [r8 + 0xe0], xmm0
movdqu xmmword [r8 + 0xf0], xmm5
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm13, xmmword [rsp + 0xd0]
movaps xmm14, xmmword [rsp + 0xe0]
movaps xmm15, xmmword [rsp + 0xf0]
add rsp, 0x108
ret
sub rsp, 0x138
movaps xmmword [rsp + 0x120], xmm15
movaps xmmword [rsp + 0x110], xmm14
movaps xmmword [rsp + 0x100], xmm13
movaps xmmword [rsp + 0xf0], xmm12
movaps xmmword [rsp + 0xe0], xmm11
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm9
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm6
mov rax, qword [rcx + 0x20]
movdqa xmm5, xmmword [rcx]
movdqa xmm14, xmmword [rcx + 0x20]
lea r9, [rax + 1]
movd xmm15, r9d
shr r9, 0x20
movdqa xmm2, xmm14
pslldq xmm2, 8
shufps xmm2, xmm14, 0xe8
movd xmm0, r9d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm15, xmm1
lea r9, [rax + 2]
movd xmm8, r9d
shr r9, 0x20
movd xmm0, r9d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm8, xmm1
lea r9, [rax + 3]
movd xmm9, r9d
shr r9, 0x20
movd xmm0, r9d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
movdqa xmm13, xmmword [rcx + 0x10]
por xmm9, xmm1
test edx, edx
je 0x14001e751
movdqa xmm3, xmmword [str.expand_32_byte_k]
movdqa xmm2, xmm3
movdqa xmm1, xmm3
movdqa xmm10, xmm3
movdqa xmm6, xmm13
movdqa xmm0, xmm13
movdqa xmm12, xmm13
movdqa xmm4, xmm5
movdqa xmm11, xmm5
movdqa xmm7, xmm5
nop word cs:[rax + rax]
paddd xmm3, xmm4
paddd xmm2, xmm11
paddd xmm1, xmm7
paddd xmm10, xmm5
pxor xmm14, xmm3
pxor xmm15, xmm2
pxor xmm8, xmm1
pxor xmm9, xmm10
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm8, xmm8, 0xb1
pshufhw xmm8, xmm8, 0xb1
pshuflw xmm9, xmm9, 0xb1
pshufhw xmm9, xmm9, 0xb1
paddd xmm12, xmm14
paddd xmm0, xmm15
paddd xmm6, xmm8
paddd xmm13, xmm9
movdqa xmmword [rsp + 0x10], xmm13
pxor xmm4, xmm12
pxor xmm11, xmm0
pxor xmm7, xmm6
pxor xmm5, xmm13
movdqa xmm13, xmm4
psrld xmm13, 0x14
pslld xmm4, 0xc
por xmm4, xmm13
movdqa xmm13, xmm11
psrld xmm13, 0x14
pslld xmm11, 0xc
por xmm11, xmm13
movdqa xmm13, xmm7
psrld xmm13, 0x14
pslld xmm7, 0xc
por xmm7, xmm13
movdqa xmm13, xmm5
psrld xmm13, 0x14
pslld xmm5, 0xc
por xmm5, xmm13
paddd xmm3, xmm4
paddd xmm2, xmm11
paddd xmm1, xmm7
paddd xmm10, xmm5
movdqa xmmword [rsp + 0x20], xmm10
movdqa xmm13, xmm3
movdqa xmm10, xmm6
movdqa xmm6, xmmword [0x140047a40]
pshufb xmm13, xmm6
pshufb xmm14, xmm6
pxor xmm14, xmm13
movdqa xmm13, xmm2
pshufb xmm13, xmm6
pshufb xmm15, xmm6
pxor xmm15, xmm13
movdqa xmm13, xmm1
pshufb xmm13, xmm6
pshufb xmm8, xmm6
pxor xmm8, xmm13
movdqa xmm13, xmmword [rsp + 0x20]
pshufb xmm13, xmm6
pshufb xmm9, xmm6
pxor xmm9, xmm13
paddd xmm12, xmm14
paddd xmm0, xmm15
paddd xmm10, xmm8
movdqa xmm6, xmmword [rsp + 0x10]
paddd xmm6, xmm9
movdqa xmmword [rsp + 0x10], xmm6
pxor xmm4, xmm12
pxor xmm11, xmm0
pxor xmm7, xmm10
pxor xmm5, xmm6
movdqa xmm13, xmm4
psrld xmm13, 0x19
pslld xmm4, 7
por xmm4, xmm13
movdqa xmm13, xmm11
psrld xmm13, 0x19
pslld xmm11, 7
por xmm11, xmm13
movdqa xmm13, xmm7
psrld xmm13, 0x19
pslld xmm7, 7
por xmm7, xmm13
movdqa xmm13, xmm5
psrld xmm13, 0x19
pslld xmm5, 7
por xmm5, xmm13
pshufd xmm13, xmm4, 0x39
pshufd xmm11, xmm11, 0x39
pshufd xmm7, xmm7, 0x39
pshufd xmm5, xmm5, 0x39
pshufd xmm12, xmm12, 0x4e
pshufd xmm0, xmm0, 0x4e
movdqa xmmword [rsp], xmm0
pshufd xmm6, xmm10, 0x4e
movdqa xmm10, xmmword [rsp + 0x20]
pshufd xmm0, xmmword [rsp + 0x10], 0x4e
movdqa xmmword [rsp + 0x10], xmm0
paddd xmm3, xmm13
paddd xmm2, xmm11
paddd xmm1, xmm7
paddd xmm10, xmm5
pshuflw xmm4, xmm3, 0xb1
pshufhw xmm4, xmm4, 0xb1
movdqa xmm0, xmmword [0x140047a50]
pshufb xmm14, xmm0
pxor xmm14, xmm4
pshuflw xmm4, xmm2, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshufb xmm15, xmm0
pxor xmm15, xmm4
pshuflw xmm4, xmm1, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshufb xmm8, xmm0
pxor xmm8, xmm4
pshuflw xmm4, xmm10, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshufb xmm9, xmm0
pxor xmm9, xmm4
paddd xmm12, xmm14
movdqa xmm4, xmmword [rsp]
paddd xmm4, xmm15
movdqa xmmword [rsp], xmm4
paddd xmm6, xmm8
movdqa xmm0, xmmword [rsp + 0x10]
paddd xmm0, xmm9
movdqa xmmword [rsp + 0x10], xmm0
pxor xmm13, xmm12
pxor xmm11, xmm4
pxor xmm7, xmm6
pxor xmm5, xmm0
movdqa xmm4, xmm13
psrld xmm4, 0x14
pslld xmm13, 0xc
por xmm13, xmm4
movdqa xmm4, xmm11
psrld xmm4, 0x14
pslld xmm11, 0xc
por xmm11, xmm4
movdqa xmm4, xmm7
psrld xmm4, 0x14
pslld xmm7, 0xc
por xmm7, xmm4
movdqa xmm4, xmm5
psrld xmm4, 0x14
pslld xmm5, 0xc
por xmm5, xmm4
paddd xmm3, xmm13
paddd xmm2, xmm11
paddd xmm1, xmm7
paddd xmm10, xmm5
pxor xmm14, xmm3
pxor xmm15, xmm2
pxor xmm8, xmm1
pxor xmm9, xmm10
movdqa xmm0, xmmword [0x140047a40]
pshufb xmm14, xmm0
pshufb xmm15, xmm0
pshufb xmm8, xmm0
pshufb xmm9, xmm0
paddd xmm12, xmm14
movdqa xmm0, xmmword [rsp]
paddd xmm0, xmm15
paddd xmm6, xmm8
movdqa xmm4, xmmword [rsp + 0x10]
paddd xmm4, xmm9
movdqa xmmword [rsp + 0x10], xmm4
pxor xmm13, xmm12
pxor xmm11, xmm0
pxor xmm7, xmm6
pxor xmm5, xmm4
movdqa xmm4, xmm13
psrld xmm4, 0x19
pslld xmm13, 7
por xmm13, xmm4
movdqa xmm4, xmm11
psrld xmm4, 0x19
pslld xmm11, 7
por xmm11, xmm4
movdqa xmm4, xmm7
psrld xmm4, 0x19
pslld xmm7, 7
por xmm7, xmm4
movdqa xmm4, xmm5
psrld xmm4, 0x19
pslld xmm5, 7
por xmm5, xmm4
pshufd xmm4, xmm13, 0x93
pshufd xmm11, xmm11, 0x93
pshufd xmm7, xmm7, 0x93
pshufd xmm5, xmm5, 0x93
pshufd xmm12, xmm12, 0x4e
pshufd xmm0, xmm0, 0x4e
pshufd xmm6, xmm6, 0x4e
pshufd xmm13, xmmword [rsp + 0x10], 0x4e
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm8, xmm8, 0x39
pshufd xmm9, xmm9, 0x39
dec edx
jne 0x14001e280
mov rax, qword [rcx + 0x20]
movdqa xmmword [rsp + 0x40], xmm8
movaps xmm8, xmmword [rcx]
movaps xmmword [rsp + 0x60], xmm8
movdqa xmm8, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x50], xmm9
movaps xmm9, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x70], xmm9
movdqa xmm9, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x80], xmm15
movaps xmm15, xmmword [rcx + 0x20]
movaps xmmword [rsp + 0x20], xmm15
movdqa xmm15, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x30], xmm14
movdqa xmm14, xmmword [rsp + 0x20]
pslldq xmm14, 8
shufps xmm14, xmmword [rsp + 0x20], 0xe8
movaps xmmword [rsp], xmm14
movaps xmm14, xmmword [rsp + 0x30]
paddd xmm3, xmmword [str.expand_32_byte_k]
paddd xmm2, xmmword [str.expand_32_byte_k]
paddd xmm1, xmmword [str.expand_32_byte_k]
paddd xmm10, xmmword [str.expand_32_byte_k]
jmp 0x14001e79c
movdqa xmm10, xmmword [0x140047a10]
movdqa xmm7, xmm5
movdqa xmm6, xmm13
movdqa xmm11, xmm5
movdqa xmm0, xmm13
movdqa xmm4, xmm5
movdqa xmm12, xmm13
movaps xmmword [rsp + 0x20], xmm14
movdqa xmmword [rsp + 0x70], xmm13
movdqa xmmword [rsp + 0x60], xmm5
movdqa xmm1, xmm10
movaps xmmword [rsp], xmm2
movdqa xmm2, xmm10
movdqa xmm3, xmm10
movdqa xmmword [rsp + 0x10], xmm13
paddd xmm14, xmmword [rsp + 0x20]
lea r10, [rax + 1]
mov rdx, r10
shr rdx, 0x20
movd xmm13, edx
por xmm13, xmmword [rsp]
movdqa xmmword [rsp + 0x40], xmm13
lea r9, [rax + 2]
mov rdx, r9
shr rdx, 0x20
movd xmm13, edx
por xmm13, xmmword [rsp]
movdqa xmmword [rsp + 0x50], xmm13
lea rdx, [rax + 3]
mov r11, rdx
shr r11, 0x20
movd xmm13, r11d
por xmm13, xmmword [rsp]
movdqa xmmword [rsp + 0x20], xmm13
add rax, 4
mov r11, rax
shr r11, 0x20
movd xmm13, r11d
por xmm13, xmmword [rsp]
movdqa xmmword [rsp + 0x30], xmm13
movdqa xmmword [rsp], xmm13
movdqa xmm13, xmmword [rsp]
pslldq xmm13, 8
movdqa xmmword [rsp], xmm13
movaps xmm13, xmmword [rsp]
shufps xmm13, xmmword [rsp + 0x30], 0xe8
movaps xmmword [rsp], xmm13
movd xmm13, eax
por xmm13, xmmword [rsp]
movdqa xmmword [rcx + 0x20], xmm13
movdqu xmmword [r8], xmm3
paddd xmm4, xmmword [rsp + 0x60]
movdqu xmmword [r8 + 0x10], xmm4
movdqa xmm13, xmmword [rsp + 0x70]
paddd xmm12, xmm13
movdqu xmmword [r8 + 0x20], xmm12
movdqu xmmword [r8 + 0x30], xmm14
movdqa xmm4, xmmword [rsp + 0x40]
movdqa xmm3, xmm4
pslldq xmm3, 8
shufps xmm3, xmm4, 0xe8
movd xmm4, r10d
orps xmm3, xmm4
paddd xmm3, xmm15
movdqu xmmword [r8 + 0x40], xmm2
movdqa xmm4, xmmword [rsp + 0x60]
paddd xmm11, xmm4
movdqu xmmword [r8 + 0x50], xmm11
paddd xmm0, xmm13
movdqu xmmword [r8 + 0x60], xmm0
movdqu xmmword [r8 + 0x70], xmm3
movdqa xmm0, xmmword [rsp + 0x50]
movdqa xmm2, xmm0
pslldq xmm2, 8
shufps xmm2, xmm0, 0xe8
movd xmm3, r9d
orps xmm2, xmm3
paddd xmm2, xmm8
movdqu xmmword [r8 + 0x80], xmm1
paddd xmm7, xmm4
movdqu xmmword [r8 + 0x90], xmm7
paddd xmm6, xmm13
movdqu xmmword [r8 + 0xa0], xmm6
movdqu xmmword [r8 + 0xb0], xmm2
movdqa xmm0, xmmword [rsp + 0x20]
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
movd xmm2, edx
orps xmm1, xmm2
paddd xmm1, xmm9
movdqu xmmword [r8 + 0xc0], xmm10
paddd xmm5, xmm4
movdqu xmmword [r8 + 0xd0], xmm5
movdqa xmm0, xmmword [rsp + 0x10]
paddd xmm0, xmm13
movdqu xmmword [r8 + 0xe0], xmm0
movdqu xmmword [r8 + 0xf0], xmm1
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x138
ret