Function at 0x14002e5c0
Capabilities:
Encode data using base64
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movdqa xmmword [rsp + 0xf0], xmm15
movdqa xmmword [rsp + 0xe0], xmm14
movdqa xmmword [rsp + 0xd0], xmm13
movdqa xmmword [rsp + 0xc0], xmm12
movdqa xmmword [rsp + 0xb0], xmm11
movdqa xmmword [rsp + 0xa0], xmm10
movdqa xmmword [rsp + 0x90], xmm9
movdqa xmmword [rsp + 0x80], xmm8
movdqa xmmword [rsp + 0x70], xmm7
movdqa xmmword [rsp + 0x60], xmm6
test r8, r8
je 0x14002e6ac
mov r9, rdx
movabs rsi, 0xaaaaaaaaaaaaaaab
cmp r8, 3
mov r11d, 2
mov eax, 2
cmovae rax, r8
mul rsi
mov r10, rdx
shr r10, 1
mov rdi, r8
imul rdi, rsi
dec rdi
cmp r10, rdi
cmovae r10, rdi
cmp r10, 0x10
jb 0x14002e6a5
cmp r8, 3
cmovae r11, r8
mov rax, r11
mul rsi
shr rdx, 1
cmp rdx, rdi
cmovae rdx, rdi
lea rax, [rdx + rdx*2]
add rax, r9
add rax, 3
cmp rax, rcx
jbe 0x14002e6b3
lea rax, [rcx + rdx*4]
add rax, 4
cmp rax, r9
jbe 0x14002e6b3
xor eax, eax
jmp 0x14002f2df
xor eax, eax
jmp 0x14002f5b9
inc r10
mov eax, r10d
and eax, 0xf
mov edx, reloc.WS2_32.dll_recv
cmovne rdx, rax
sub r10, rdx
lea rax, [r10*4]
lea rdx, [r10 + r10*2]
sub r8, rdx
lea r11, [rcx + r10*4]
add rdx, r9
xor esi, esi
movdqu xmm5, xmmword [r9]
movdqu xmm1, xmmword [r9 + 0x10]
movdqu xmm7, xmmword [r9 + 0x20]
movdqa xmm0, xmmword [0x1402f04a0]
movdqa xmm3, xmm0
pandn xmm3, xmm1
movdqa xmm4, xmm5
pand xmm4, xmm0
por xmm4, xmm3
movdqa xmm6, xmm4
movdqa xmm15, xmmword [0x1402f04b0]
movdqa xmm8, xmm15
pxor xmm2, xmm2
punpckhbw xmm6, xmm2
punpcklbw xmm4, xmm2
pand xmm4, xmm15
movdqa xmm9, xmm7
pandn xmm8, xmm6
movdqa xmm3, xmm7
pshufhw xmm7, xmm7, 0xe6
movdqa xmmword [rsp], xmm7
movdqa xmm7, xmm1
movsd xmm7, xmm3
pshuflw xmm6, xmm6, 0xec
movdqa xmm10, xmm3
punpckhbw xmm10, xmm2
movdqa xmm12, xmmword [0x1402f04d0]
movdqa xmm11, xmm12
por xmm4, xmm8
pandn xmm11, xmm10
punpcklbw xmm9, xmm2
movdqa xmm8, xmm9
pshufd xmm6, xmm6, 0xec
pand xmm8, xmm12
por xmm8, xmm11
pshufd xmm8, xmm8, 0x27
pshufd xmm4, xmm4, 0xd8
pshuflw xmm8, xmm8, 0xe6
movdqa xmm12, xmmword [0x1402f04c0]
movdqa xmm11, xmm0
pshufd xmm8, xmm8, 0x2c
pandn xmm11, xmm5
movdqa xmm13, xmm1
pand xmm13, xmm0
pshufhw xmm4, xmm4, 0x6c
por xmm13, xmm11
movdqa xmm11, xmm13
punpckhbw xmm11, xmm2
pshufhw xmm8, xmm8, 0x6c
movdqa xmm0, xmmword [0x1402f04e0]
movdqa xmm14, xmm0
pandn xmm14, xmm11
punpcklbw xmm13, xmm2
pshufd xmm4, xmm4, 0x6c
pand xmm13, xmm0
por xmm13, xmm14
pshufd xmm13, xmm13, 0x27
packuswb xmm8, xmm8
pshufhw xmm13, xmm13, 0x6c
pshufd xmm13, xmm13, 0x27
pshufd xmm11, xmm11, 0xe6
pshuflw xmm4, xmm4, 0x6c
pshuflw xmm11, xmm11, 0xe6
movdqa xmm14, xmm15
pandn xmm14, xmm10
pandn xmm12, xmm8
pand xmm9, xmm15
por xmm9, xmm14
pshufd xmm8, xmm9, 0xd8
pshuflw xmm10, xmm13, 0xc6
pshuflw xmm8, xmm8, 0x64
pshufd xmm8, xmm8, 0xd8
pshuflw xmm8, xmm8, 0xc4
pshufhw xmm9, xmm4, 0xc6
pshufhw xmm4, xmm8, 0xc6
packuswb xmm4, xmm4
movdqa xmm0, xmmword [0x1402f04f0]
pshufhw xmm14, xmm10, 0xc6
pandn xmm0, xmm4
movdqa xmmword [rsp + 0x40], xmm0
movapd xmm10, xmm7
movdqa xmm13, xmm5
packuswb xmm9, xmm6
movsd xmm13, xmm1
pxor xmm4, xmm4
movapd xmm15, xmm7
packuswb xmm14, xmm11
punpckhbw xmm15, xmm2
punpcklbw xmm7, xmm2
punpcklbw xmm1, xmm2
movdqa xmmword [rsp + 0x30], xmm9
pshufd xmm11, xmm5, 0x27
punpckhbw xmm5, xmm2
movdqa xmm2, xmmword [0x1402f0510]
movdqa xmm6, xmm2
punpcklbw xmm9, xmm9
pandn xmm6, xmm5
shufps xmm5, xmm1, 0x32
punpcklwd xmm4, xmm9
movdqa xmmword [rsp + 0x10], xmm4
movaps xmm0, xmm1
shufps xmm0, xmm5, 0x84
pshuflw xmm5, xmm7, 0xec
shufps xmm7, xmm15, 1
shufps xmm7, xmm15, 0xe2
pshufd xmm9, xmm15, 0xe6
pshuflw xmm9, xmm9, 0xe6
punpckldq xmm9, xmm5
pshufd xmm5, xmm3, 0x27
pshufd xmm3, xmm3, 0xc6
movdqa xmmword [rsp + 0x20], xmm3
pshufd xmm3, xmmword [rsp], 0xe6
pshuflw xmm3, xmm3, 0xe1
punpcklbw xmm3, xmm3
pshufd xmm3, xmm3, 0x4e
pshuflw xmm3, xmm3, 0xf4
shufps xmm10, xmm10, 0xec
pshuflw xmm10, xmm10, 0xec
pshufd xmm15, xmm10, 0x24
pshufhw xmm10, xmm3, 0xf4
punpckhbw xmm15, xmm15
pshuflw xmm3, xmm13, 0xe6
pshufd xmm3, xmm3, 0xec
pshuflw xmm13, xmm15, 0xf4
pshuflw xmm3, xmm3, 0xc6
punpcklbw xmm3, xmm3
pshufd xmm15, xmm3, 0x6c
pshufhw xmm8, xmm13, 0xd6
pshuflw xmm13, xmm15, 0xf4
pshufhw xmm15, xmm13, 0xd6
pslld xmm10, 0x10
pslld xmm15, 0x10
pshuflw xmm7, xmm7, 0xe6
pshufhw xmm7, xmm7, 0xec
pshufd xmm7, xmm7, 0xe8
pslld xmm8, 0x10
pshuflw xmm0, xmm0, 0xec
pshufhw xmm0, xmm0, 0xe6
pshufd xmm0, xmm0, 0xe8
pshuflw xmm7, xmm7, 0x39
pshuflw xmm0, xmm0, 0x93
packuswb xmm0, xmm0
pshufhw xmm11, xmm11, 0xe6
pxor xmm3, xmm3
punpcklbw xmm0, xmm3
pshufd xmm11, xmm11, 0xe6
punpcklbw xmm11, xmm11
pshufd xmm11, xmm11, 0xd8
packuswb xmm7, xmm7
pshuflw xmm11, xmm11, 0xe5
pshufhw xmm11, xmm11, 0xc7
movdqa xmm4, xmmword [0x1402f0500]
pand xmm11, xmm4
punpcklwd xmm0, xmm3
pshuflw xmm5, xmm5, 0xe6
pshufd xmm5, xmm5, 0x24
punpckhbw xmm5, xmm5
punpcklbw xmm7, xmm3
pshufd xmm5, xmm5, 0xd8
pshuflw xmm5, xmm5, 0xc7
pshufhw xmm5, xmm5, 0xe5
punpcklwd xmm7, xmm3
pand xmm5, xmm4
pand xmm1, xmm2
por xmm1, xmm6
movdqa xmm6, xmm14
pslld xmm0, 8
pslld xmm7, 8
pslld xmm5, 8
movdqa xmm2, xmmword [rsp + 0x30]
pand xmm2, xmmword [0x1402f04c0]
pslld xmm11, 8
por xmm10, xmm5
por xmm15, xmm0
pand xmm6, xmmword [0x1402f04f0]
punpcklbw xmm14, xmm3
packuswb xmm9, xmm9
punpcklbw xmm9, xmm3
por xmm8, xmm7
punpcklwd xmm9, xmm3
pshufd xmm1, xmm1, 0xd8
pshuflw xmm1, xmm1, 0xe6
punpcklwd xmm14, xmm3
pshufd xmm1, xmm1, 0xec
pshuflw xmm13, xmm1, 0xc6
packuswb xmm13, xmm13
por xmm12, xmm2
punpcklbw xmm13, xmm3
punpcklwd xmm13, xmm3
pshuflw xmm1, xmmword [rsp + 0x20], 0xec
movdqa xmm2, xmmword [rsp + 0x40]
por xmm2, xmm6
movdqa xmmword [rsp + 0x40], xmm2
pshufd xmm1, xmm1, 0xc4
punpckhbw xmm1, xmm1
pshuflw xmm1, xmm1, 0xd6
movdqa xmm3, xmmword [rsp + 0x10]
por xmm3, xmm11
pshufhw xmm1, xmm1, 0xf4
pand xmm1, xmm4
por xmm13, xmm0
por xmm14, xmm11
por xmm9, xmm7
por xmm1, xmm5
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm6, xmm12
pminub xmm6, xmmword [0x1402f0560]
pcmpeqb xmm6, xmm12
movdqa xmm0, xmm12
pminub xmm0, xmmword [0x1402f0580]
pcmpeqb xmm0, xmm12
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm0, xmm12
pminub xmm0, xmmword [0x1402f05a0]
pcmpeqb xmm0, xmm12
movdqa xmmword [rsp + 0x30], xmm0
psrlw xmm12, 2
movdqa xmm0, xmmword [0x1402b3130]
pand xmm12, xmm0
movdqa xmmword [rsp], xmm12
movdqa xmm0, xmm12
movdqa xmm1, xmmword [str.________________________________]
pxor xmm0, xmm1
movdqa xmm2, xmm0
pxor xmm4, xmm4
punpcklbw xmm2, xmm4
movdqa xmm12, xmm2
punpckhwd xmm2, xmm4
movdqa xmm7, xmm2
punpckhdq xmm7, xmm4
punpckldq xmm2, xmm4
pcmpeqd xmm5, xmm5
paddq xmm2, xmm5
paddq xmm7, xmm5
psrad xmm7, 0x1f
psrad xmm2, 0x1f
pshufd xmm7, xmm7, 0xf5
pshufd xmm2, xmm2, 0xf5
packssdw xmm2, xmm7
punpckhbw xmm0, xmm4
movdqa xmm7, xmm0
punpcklwd xmm7, xmm4
movdqa xmm11, xmm7
punpckldq xmm7, xmm4
punpckhdq xmm11, xmm4
paddq xmm7, xmm5
paddq xmm11, xmm5
psrad xmm11, 0x1f
pshufd xmm1, xmm11, 0xf5
psrad xmm7, 0x1f
pshufd xmm11, xmm7, 0xf5
packssdw xmm11, xmm1
punpckhwd xmm0, xmm4
movdqa xmm1, xmm0
punpckhdq xmm1, xmm4
punpckldq xmm0, xmm4
pxor xmm4, xmm4
paddq xmm0, xmm5
paddq xmm1, xmm5
psrad xmm1, 0x1f
psrad xmm0, 0x1f
pshufd xmm1, xmm1, 0xf5
pshufd xmm0, xmm0, 0xf5
packssdw xmm0, xmm1
psrld xmm10, 0xc
psrld xmm8, 0xc
movdqa xmm1, xmmword [0x1402f0500]
pand xmm10, xmm1
pand xmm8, xmm1
packuswb xmm8, xmm10
psrld xmm3, 0xc
psrld xmm15, 0xc
pand xmm3, xmm1
pand xmm15, xmm1
punpcklwd xmm12, xmm4
packuswb xmm3, xmm15
movdqa xmm1, xmm12
punpckldq xmm12, xmm4
punpckhdq xmm1, xmm4
paddq xmm12, xmm5
paddq xmm1, xmm5
psrad xmm1, 0x1f
pshufd xmm1, xmm1, 0xf5
psrad xmm12, 0x1f
pshufd xmm7, xmm12, 0xf5
packuswb xmm3, xmm8
packssdw xmm7, xmm1
pand xmm3, xmmword [0x1402b3130]
movdqa xmmword [rsp + 0x10], xmm3
pxor xmm3, xmmword [str.________________________________]
packssdw xmm11, xmm0
movdqa xmm10, xmm3
punpcklbw xmm10, xmm4
movdqa xmm12, xmm10
punpcklwd xmm12, xmm4
movdqa xmm0, xmm12
punpckhdq xmm0, xmm4
punpckldq xmm12, xmm4
paddq xmm12, xmm5
paddq xmm0, xmm5
psrad xmm0, 0x1f
psrad xmm12, 0x1f
pshufd xmm0, xmm0, 0xf5
pshufd xmm12, xmm12, 0xf5
packssdw xmm12, xmm0
punpckhwd xmm10, xmm4
packssdw xmm7, xmm2
movdqa xmm0, xmm10
punpckldq xmm10, xmm4
punpckhbw xmm3, xmm4
punpckhdq xmm0, xmm4
paddq xmm10, xmm5
paddq xmm0, xmm5
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
psrad xmm10, 0x1f
pshufd xmm1, xmm10, 0xf5
packssdw xmm1, xmm0
movdqa xmm0, xmm3
punpcklwd xmm0, xmm4
packssdw xmm12, xmm1
movdqa xmm1, xmm0
punpckhdq xmm1, xmm4
punpckldq xmm0, xmm4
punpckhwd xmm3, xmm4
paddq xmm0, xmm5
paddq xmm1, xmm5
psrad xmm1, 0x1f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
pshufd xmm1, xmm1, 0xf5
packssdw xmm0, xmm1
movdqa xmm1, xmm3
punpckldq xmm3, xmm4
punpckhdq xmm1, xmm4
paddq xmm3, xmm5
paddq xmm1, xmm5
psrad xmm1, 0x1f
pshufd xmm1, xmm1, 0xf5
psrad xmm3, 0x1f
pshufd xmm2, xmm3, 0xf5
packssdw xmm2, xmm1
packsswb xmm7, xmm11
packssdw xmm0, xmm2
movdqa xmm3, xmmword [rsp]
movdqa xmm1, xmmword [0x1402f0550]
paddb xmm3, xmm1
movdqa xmm2, xmm1
pand xmm3, xmm6
packsswb xmm12, xmm0
movdqa xmm8, xmm14
psrld xmm8, 6
psrld xmm13, 6
movdqa xmm0, xmm7
movdqa xmm1, xmmword [0x1402f0500]
pand xmm13, xmm1
pand xmm8, xmm1
movdqa xmm11, xmm1
packuswb xmm8, xmm13
movdqa xmm15, xmmword [0x1402f0540]
pandn xmm7, xmm15
movdqa xmm1, xmm12
pandn xmm12, xmm15
psrld xmm9, 6
movdqa xmm15, xmmword [0x1402f0530]
pand xmm0, xmm15
movdqa xmm10, xmmword [rsp + 0x50]
psrld xmm10, 6
pand xmm9, xmm11
pand xmm10, xmm11
pand xmm1, xmm15
packuswb xmm9, xmm10
movdqa xmm14, xmmword [rsp + 0x10]
movdqa xmm11, xmm14
paddb xmm11, xmm2
por xmm7, xmm0
movdqa xmm0, xmmword [str.________________________________]
movdqa xmm10, xmm0
pcmpgtb xmm10, xmm14
pand xmm11, xmm10
por xmm12, xmm1
packuswb xmm8, xmm9
pand xmm8, xmmword [0x1402b3130]
movdqa xmm9, xmm8
pandn xmm6, xmm7
pxor xmm9, xmm0
movdqa xmm0, xmm9
punpcklbw xmm0, xmm4
pandn xmm10, xmm12
movdqa xmm7, xmm0
punpcklwd xmm7, xmm4
movdqa xmm12, xmm7
punpckhdq xmm12, xmm4
punpckldq xmm7, xmm4
punpckhwd xmm0, xmm4
paddq xmm7, xmm5
paddq xmm12, xmm5
psrad xmm12, 0x1f
psrad xmm7, 0x1f
pshufd xmm7, xmm7, 0xf5
pshufd xmm1, xmm12, 0xf5
packssdw xmm7, xmm1
movdqa xmm1, xmm0
punpckldq xmm0, xmm4
punpckhdq xmm1, xmm4
paddq xmm0, xmm5
paddq xmm1, xmm5
psrad xmm1, 0x1f
pshufd xmm1, xmm1, 0xf5
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
packssdw xmm0, xmm1
punpckhbw xmm9, xmm4
packssdw xmm7, xmm0
movdqa xmm0, xmm9
punpcklwd xmm0, xmm4
por xmm6, xmm3
movdqa xmm13, xmm6
movdqa xmm1, xmm0
punpckldq xmm0, xmm4
punpckhwd xmm9, xmm4
punpckhdq xmm1, xmm4
paddq xmm0, xmm5
paddq xmm1, xmm5
psrad xmm1, 0x1f
pshufd xmm1, xmm1, 0xf5
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
packssdw xmm0, xmm1
movdqa xmm1, xmm9
punpckhdq xmm1, xmm4
punpckldq xmm9, xmm4
paddq xmm9, xmm5
paddq xmm1, xmm5
psrad xmm1, 0x1f
psrad xmm9, 0x1f
pshufd xmm2, xmm9, 0xf5
pshufd xmm1, xmm1, 0xf5
packssdw xmm2, xmm1
packssdw xmm0, xmm2
movdqa xmm3, xmmword [rsp]
movdqa xmm1, xmm3
movdqa xmm6, xmmword [str.GGGGGGGGGGGGGGGG]
paddb xmm1, xmm6
movdqa xmm12, xmmword [rsp + 0x20]
pand xmm1, xmm12
packsswb xmm7, xmm0
movdqa xmm0, xmm7
pand xmm0, xmm15
pandn xmm7, xmmword [0x1402f0540]
por xmm7, xmm0
movdqa xmm0, xmm8
por xmm10, xmm11
paddb xmm0, xmmword [0x1402f0550]
movdqa xmm15, xmmword [str.________________________________]
movdqa xmm2, xmm15
pcmpgtb xmm2, xmm8
pand xmm0, xmm2
pandn xmm2, xmm7
movdqa xmm11, xmm14
movdqa xmm9, xmm14
paddb xmm9, xmm6
movdqa xmm14, xmm6
pandn xmm12, xmm13
movdqa xmm13, xmmword [0x1402f05b0]
movdqa xmm7, xmm13
pcmpgtb xmm7, xmm11
pand xmm9, xmm7
pandn xmm7, xmm10
movdqa xmm11, xmmword [str.AAAAAAAAAAAAAAAAgggggggggggggggg4444444444444444]
paddb xmm3, xmm11
movdqa xmm6, xmmword [rsp + 0x30]
pand xmm3, xmm6
movdqa xmmword [rsp], xmm3
por xmm2, xmm0
por xmm12, xmm1
movdqa xmm11, xmm12
movdqa xmm1, xmm8
movdqa xmm3, xmm13
pcmpgtb xmm3, xmm8
paddb xmm1, xmm14
pand xmm1, xmm3
pandn xmm3, xmm2
movdqa xmm14, xmmword [rsp + 0x40]
pand xmm14, xmmword [0x1402b3130]
por xmm7, xmm9
movdqa xmm9, xmm14
pxor xmm9, xmm15
movdqa xmm0, xmm9
por xmm3, xmm1
punpcklbw xmm0, xmm4
movdqa xmm10, xmm0
punpcklwd xmm10, xmm4
pandn xmm6, xmm12
movdqa xmm12, xmm6
movdqa xmm2, xmm10
punpckhdq xmm2, xmm4
punpckldq xmm10, xmm4
paddq xmm10, xmm5
paddq xmm2, xmm5
psrad xmm2, 0x1f
psrad xmm10, 0x1f
pshufd xmm1, xmm2, 0xf5
pshufd xmm10, xmm10, 0xf5
packssdw xmm10, xmm1
movdqa xmm13, xmmword [0x1402f05c0]
movdqa xmm2, xmm13
movdqa xmm11, xmmword [rsp + 0x10]
pcmpgtb xmm2, xmm11
movdqa xmm15, xmmword [str.AAAAAAAAAAAAAAAAgggggggggggggggg4444444444444444]
paddb xmm11, xmm15
pand xmm11, xmm2
punpckhwd xmm0, xmm4
pandn xmm2, xmm7
movdqa xmm1, xmm0
punpckldq xmm0, xmm4
punpckhbw xmm9, xmm4
punpckhdq xmm1, xmm4
paddq xmm0, xmm5
paddq xmm1, xmm5
psrad xmm1, 0x1f
pshufd xmm1, xmm1, 0xf5
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
packssdw xmm0, xmm1
movdqa xmm1, xmm9
punpcklwd xmm1, xmm4
packssdw xmm10, xmm0
movdqa xmm0, xmm1
punpckhdq xmm0, xmm4
punpckldq xmm1, xmm4
punpckhwd xmm9, xmm4
paddq xmm1, xmm5
paddq xmm0, xmm5
psrad xmm0, 0x1f
psrad xmm1, 0x1f
pshufd xmm1, xmm1, 0xf5
pshufd xmm0, xmm0, 0xf5
packssdw xmm1, xmm0
movdqa xmm0, xmm9
punpckldq xmm9, xmm4
punpckhdq xmm0, xmm4
paddq xmm9, xmm5
paddq xmm0, xmm5
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
psrad xmm9, 0x1f
pshufd xmm6, xmm9, 0xf5
packssdw xmm6, xmm0
movdqa xmm0, xmm13
pcmpgtb xmm0, xmm8
paddb xmm8, xmm15
pand xmm8, xmm0
pandn xmm0, xmm3
packssdw xmm1, xmm6
packsswb xmm10, xmm1
movdqa xmm1, xmm10
pand xmm1, xmmword [0x1402f0530]
pandn xmm10, xmmword [0x1402f0540]
por xmm10, xmm1
movdqa xmm1, xmm14
por xmm12, xmmword [rsp]
paddb xmm1, xmmword [0x1402f0550]
movdqa xmm3, xmmword [str.________________________________]
pcmpgtb xmm3, xmm14
pand xmm1, xmm3
pandn xmm3, xmm10
por xmm3, xmm1
movdqa xmm1, xmm14
por xmm2, xmm11
paddb xmm1, xmmword [str.GGGGGGGGGGGGGGGG]
movdqa xmm4, xmmword [0x1402f05b0]
pcmpgtb xmm4, xmm14
pand xmm1, xmm4
pandn xmm4, xmm3
por xmm4, xmm1
pcmpgtb xmm13, xmm14
paddb xmm14, xmm15
pand xmm14, xmm13
pandn xmm13, xmm4
por xmm0, xmm8
por xmm13, xmm14
movdqa xmm3, xmm0
movdqa xmm4, xmm12
punpcklbw xmm3, xmm13
punpcklbw xmm4, xmm2
movdqa xmm6, xmm4
punpckhwd xmm4, xmm3
punpcklwd xmm6, xmm3
punpckhbw xmm0, xmm13
punpckhbw xmm12, xmm2
movdqa xmm1, xmm12
punpcklwd xmm1, xmm0
punpckhwd xmm12, xmm0
movdqu xmmword [rcx + rsi*4 + 0x30], xmm12
movdqu xmmword [rcx + rsi*4 + 0x20], xmm1
movdqu xmmword [rcx + rsi*4 + 0x10], xmm4
movdqu xmmword [rcx + rsi*4], xmm6
add rsi, 0x10
add r9, 0x30
cmp r10, rsi
jne 0x14002e6e0
mov rcx, r11
mov r9, rdx
inc r9
xor edx, edx
nop word cs:[rax + rax]
movzx edi, byte [r9 - 1]
mov r10d, edi
shl r10d, 0x10
cmp r8, 2
jbe 0x14002f47f
movzx esi, byte [r9]
shl esi, 8
or r10d, esi
movzx r11d, byte [r9 + 1]
or esi, r11d
mov rbx, rdi
shr rbx, 2
lea ebp, [rbx - 4]
lea r14d, [rbx + 0x47]
lea r15d, [rbx + 0x41]
xor rbx, 0x3e
dec rbx
shr rbx, 0x3d
and bl, 4
xor bl, 0x2f
cmp dil, 0xf8
movzx ebp, bpl
movzx ebx, bl
cmovb ebx, ebp
cmp dil, 0xd0
movzx ebp, r14b
cmovae ebp, ebx
cmp dil, 0x68
movzx edi, r15b
cmovae edi, ebp
shr r10d, 0xc
and r10b, 0x3f
mov ebx, r10d
xor bl, 0x3e
movzx ebx, bl
dec rbx
shr rbx, 0x3d
and bl, 4
xor bl, 0x2f
lea ebp, [r10 - 4]
cmp r10b, 0x3e
movzx ebp, bpl
movzx ebx, bl
cmovb ebx, ebp
lea ebp, [r10 + 0x47]
cmp r10b, 0x34
movzx ebp, bpl
cmovae ebp, ebx
mov byte [rcx + rdx], dil
lea edi, [r10 + 0x41]
cmp r10b, 0x1a
movzx r10d, dil
cmovae r10d, ebp
mov byte [rcx + rdx + 1], r10b
shr esi, 6
and sil, 0x3f
mov r10d, esi
xor r10b, 0x3e
movzx r10d, r10b
dec r10
shr r10, 0x3d
and r10b, 4
xor r10b, 0x2f
lea edi, [rsi - 4]
cmp sil, 0x3e
movzx edi, dil
movzx r10d, r10b
cmovb r10d, edi
lea edi, [rsi + 0x47]
cmp sil, 0x34
movzx edi, dil
cmovae edi, r10d
lea r10d, [rsi + 0x41]
cmp sil, 0x1a
movzx r10d, r10b
cmovae r10d, edi
mov byte [rcx + rdx + 2], r10b
and r11d, 0x3f
mov r10, r11
xor r10, 0x3e
dec r10
shr r10, 0x3d
and r10b, 4
xor r10b, 0x2f
lea esi, [r11 - 4]
cmp r11b, 0x3e
movzx esi, sil
movzx r10d, r10b
cmovb r10d, esi
lea esi, [r11 + 0x47]
cmp r11b, 0x34
movzx esi, sil
cmovae esi, r10d
lea r10d, [r11 + 0x41]
cmp r11b, 0x1a
movzx r10d, r10b
cmovae r10d, esi
mov byte [rcx + rdx + 3], r10b
add rdx, 4
add r9, 3
add r8, 0xfffffffffffffffd
jne 0x14002f2f0
add rax, rdx
add rcx, rdx
jmp 0x14002f5b9
jne 0x14002f48f
movzx r9d, byte [r9]
shl r9d, 8
or r9d, r10d
mov r10d, r9d
mov r9d, r10d
shr r9d, 0x12
mov r11d, r9d
xor r11b, 0x3e
movzx r11d, r11b
dec r11
shr r11, 0x3d
and r11b, 4
xor r11b, 0x2f
lea esi, [r9 - 4]
cmp r9b, 0x3e
movzx esi, sil
movzx r11d, r11b
cmovb r11d, esi
lea esi, [r9 + 0x47]
cmp r9b, 0x34
movzx esi, sil
cmovae esi, r11d
lea r11d, [r9 + 0x41]
cmp r9b, 0x1a
movzx r9d, r11b
cmovae r9d, esi
mov r11d, r10d
shr r11d, 0xc
and r11b, 0x3f
mov ebx, r11d
xor bl, 0x3e
movzx esi, bl
dec rsi
shr rsi, 0x3d
and sil, 4
xor sil, 0x2f
lea edi, [r11 - 4]
cmp r11b, 0x3e
movzx edi, dil
movzx esi, sil
cmovb esi, edi
lea edi, [r11 + 0x47]
cmp r11b, 0x34
movzx edi, dil
cmovae edi, esi
cmp r11b, 0x1a
lea r11d, [r11 + 0x41]
movzx r11d, r11b
cmovae r11d, edi
mov byte [rcx + rdx], r9b
mov byte [rcx + rdx + 1], r11b
mov r9b, 0x3d
cmp r8, 1
je 0x14002f5a1
shr r10d, 6
and r10b, 0x3f
mov r8d, r10d
xor r8b, 0x3e
movzx r8d, r8b
dec r8
shr r8, 0x3d
and r8b, 4
xor r8b, 0x2f
lea r9d, [r10 - 4]
cmp r10b, 0x3e
movzx r9d, r9b
movzx r8d, r8b
cmovb r8d, r9d
lea r9d, [r10 + 0x47]
cmp r10b, 0x34
movzx r11d, r9b
cmovae r11d, r8d
lea r8d, [r10 + 0x41]
cmp r10b, 0x1a
movzx r9d, r8b
cmovae r9d, r11d
mov byte [rcx + rdx + 2], r9b
mov byte [rcx + rdx + 3], 0x3d
add rcx, rdx
add rcx, 4
add rax, rdx
add rax, 4
mov byte [rcx], 0
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
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret