Function at 0x14005bf00
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movdqa xmmword [rsp + 0x120], xmm15
movdqa xmmword [rsp + 0x110], xmm14
movdqa xmmword [rsp + 0x100], xmm13
movdqa xmmword [rsp + 0xf0], xmm12
movdqa xmmword [rsp + 0xe0], xmm11
movdqa xmmword [rsp + 0xd0], xmm10
movdqa xmmword [rsp + 0xc0], xmm9
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0x90], xmm6
mov r11, r9
mov rax, qword [rsp + 0x1a8]
mov r9, qword [rsp + 0x1a0]
mov r10, qword [rdx + 0x28]
or r10, qword [rdx + 0x18]
jne 0x14005bfb1
mov r10, qword [rdx + 0x40]
cmp r10, qword [rdx + 0x38]
jne 0x14005bfb1
mov qword [rsp + 0x20], rax
mov rdx, r8
mov r8, r11
call fcn.14005d150
jmp 0x14005d0d9
mov rdx, r11
shr rdx, 2
mov r10d, r11d
and r10d, 3
lea rdx, [rdx + rdx*2]
mov qword [rsp + 0x88], r10
lea r10d, [r10 + r10*2]
shr r10d, 2
add r10, rdx
cmp r10, rax
jbe 0x14005bfeb
mov byte [rcx + 8], 1
mov qword [rcx], 0
jmp 0x14005d0d9
mov rsi, r11
and rsi, 0xfffffffffffffffc
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rdx
mov rax, rdx
lea rdx, [r8 + rsi]
mov qword [rsp + 0x70], rdx
shr rax, 1
lea rdx, [rax + rax*2]
mov rax, r10
sub rax, rdx
mov qword [rsp + 0x80], rax
lea rax, [r9 + rdx]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x50], rsi
test rsi, rsi
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x68], r11
je 0x14005c33f
xor eax, eax
xor ebx, ebx
nop word cs:[rax + rax]
sub rdx, 3
jb 0x14005c341
movzx r10d, byte [r8 + rax]
mov r11d, 0x2a
sub r11d, r10d
lea ebp, [r10 + 0x3fd4]
and ebp, r11d
shr ebp, 8
and ebp, 0x3f
lea r11d, [r10 - 0x3a]
mov esi, 0x2f
sub esi, r10d
and esi, r11d
movsx r11d, si
shr r11d, 8
lea esi, [r10 + 5]
and esi, r11d
add esi, ebp
lea r11d, [r10 - 0x7b]
mov ebp, 0x60
sub ebp, r10d
and ebp, r11d
movsx r11d, bp
sar r11d, 8
lea ebp, [r10 - 0x46]
and ebp, r11d
lea r11d, [r10 - 0x5b]
mov r14d, 0x40
sub r14d, r10d
and r14d, r11d
movsx r14d, r14w
sar r14d, 8
lea r11d, [r10 - 0x40]
and r11d, r14d
add r11d, ebp
add r11d, esi
movzx esi, byte [r8 + rax + 1]
mov ebp, 0x2e
sub ebp, esi
lea r14d, [rsi + 0x7fd0]
and r14d, ebp
shr r14d, 8
and r14d, 0x40
mov ebp, 0x2a
sub ebp, esi
lea r13d, [rsi + 0x3fd4]
and r13d, ebp
shr r13d, 8
and r13d, 0x3f
lea ebp, [rsi - 0x3a]
mov r15d, 0x2f
sub r15d, esi
and r15d, ebp
movsx r15d, r15w
shr r15d, 8
lea ebp, [rsi + 5]
and ebp, r15d
lea r15d, [rsi - 0x7b]
mov r12d, 0x60
sub r12d, esi
and r12d, r15d
movsx r15d, r12w
sar r15d, 8
lea r12d, [rsi - 0x46]
and r12d, r15d
lea r15d, [rsi - 0x5b]
mov dword [rsp + 0x58], ebx
mov ebx, 0x40
sub ebx, esi
and ebx, r15d
movsx ebx, bx
sar ebx, 8
add esi, 0xffffffc0
and esi, ebx
add esi, r12d
add esi, ebp
lea r15d, [rsi + r13]
dec r15d
add esi, r13d
lea ebp, [r14 + rsi]
dec ebp
mov rcx, qword [rsp + 0x40]
movzx esi, byte [rcx + rax + 2]
mov ebx, 0x2e
sub ebx, esi
lea r14d, [rsi + 0x7fd0]
and r14d, ebx
mov ebx, 0x2a
sub ebx, esi
lea r12d, [rsi + 0x3fd4]
and r12d, ebx
lea ebx, [rsi - 0x3a]
mov r13d, 0x2f
sub r13d, esi
and r13d, ebx
movsx ebx, r13w
shr ebx, 8
lea r13d, [rsi + 5]
and r13d, ebx
lea ebx, [rsi - 0x7b]
mov ecx, 0x60
sub ecx, esi
and ecx, ebx
movsx ecx, cx
sar ecx, 8
lea ebx, [rsi - 0x46]
and ebx, ecx
lea ecx, [rsi - 0x5b]
mov edi, 0x40
sub edi, esi
and edi, ecx
movsx ecx, di
sar ecx, 8
add esi, 0xffffffc0
and esi, ecx
movzx ecx, bp
shr r14d, 8
and r14d, 0x40
shr r12d, 8
and r12d, 0x3f
add esi, ebx
add esi, r13d
lea r13d, [r12 + rsi]
dec r13d
add esi, r12d
mov r8, qword [rsp + 0x40]
add esi, r14d
dec esi
movzx edi, si
movzx r14d, byte [r8 + rax + 3]
lea ebx, [r11*4 - 4]
shr ecx, 4
or ecx, ebx
mov byte [r9], cl
shl r15d, 4
shr edi, 2
or edi, r15d
mov byte [r9 + 1], dil
mov ecx, 0x2e
sub ecx, r10d
add r10d, 0x7fd0
and r10d, ecx
shr r10d, 8
and r10d, 0x40
add r10d, r11d
dec r10d
mov ecx, 0x2e
sub ecx, r14d
lea r11d, [r14 + 0x7fd0]
and r11d, ecx
mov ecx, 0x2a
sub ecx, r14d
lea edi, [r14 + 0x3fd4]
and edi, ecx
shr edi, 8
and edi, 0x3f
lea ecx, [r14 - 0x3a]
mov ebx, 0x2f
sub ebx, r14d
and ebx, ecx
movsx ecx, bx
shr ecx, 8
lea r15d, [r14 + 5]
and r15d, ecx
add r15d, edi
lea ecx, [r14 - 0x7b]
mov edi, 0x60
sub edi, r14d
and edi, ecx
movsx ecx, di
sar ecx, 8
lea edi, [r14 - 0x46]
and edi, ecx
lea ecx, [r14 - 0x5b]
mov ebx, 0x40
sub ebx, r14d
and ebx, ecx
movsx ecx, bx
mov ebx, dword [rsp + 0x58]
sar ecx, 8
add r14d, 0xffffffc0
and r14d, ecx
add r14d, edi
add r14d, r15d
shr r11d, 8
and r11d, 0x40
lea ecx, [r11 + r14]
dec ecx
shl r13d, 6
or r13d, ecx
mov byte [r9 + 2], r13b
or r10d, ebp
or esi, ecx
or esi, r10d
shr esi, 8
and esi, 1
or ebx, esi
add rax, 4
add r9, 3
cmp qword [rsp + 0x50], rax
jne 0x14005c060
jmp 0x14005c341
xor ebx, ebx
mov dword [rsp + 0x34], 0x41414141
lea rcx, [rsp + 0x34]
mov rdx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x88]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rsp + 0x34]
mov ecx, 0x2a
sub ecx, eax
lea r8d, [rax + 0x3fd4]
and r8d, ecx
shr r8d, 8
and r8d, 0x3f
lea ecx, [rax - 0x3a]
mov r9d, 0x2f
sub r9d, eax
and r9d, ecx
shr r9d, 8
lea edx, [rax + 5]
and edx, r9d
add edx, r8d
lea ecx, [rax - 0x7b]
mov r8d, 0x60
sub r8d, eax
and r8d, ecx
sar r8d, 8
lea r9d, [rax - 0x46]
and r9d, r8d
lea ecx, [rax - 0x5b]
mov r8d, 0x40
sub r8d, eax
and r8d, ecx
sar r8d, 8
lea ecx, [rax - 0x40]
and ecx, r8d
add ecx, r9d
add ecx, edx
movzx edx, byte [rsp + 0x35]
mov r9d, 0x2e
sub r9d, edx
lea r8d, [rdx + 0x7fd0]
and r8d, r9d
shr r8d, 8
and r8d, 0x40
mov r9d, 0x2a
sub r9d, edx
lea r10d, [rdx + 0x3fd4]
and r10d, r9d
shr r10d, 8
and r10d, 0x3f
lea r9d, [rdx - 0x3a]
mov r11d, 0x2f
sub r11d, edx
and r11d, r9d
shr r11d, 8
lea r9d, [rdx + 5]
and r9d, r11d
lea r11d, [rdx - 0x7b]
mov esi, 0x60
sub esi, edx
and esi, r11d
sar esi, 8
lea r11d, [rdx - 0x46]
and r11d, esi
lea esi, [rdx - 0x5b]
mov ebp, 0x40
sub ebp, edx
and ebp, esi
sar ebp, 8
add edx, 0xffffffc0
and edx, ebp
add edx, r11d
add edx, r9d
lea r9d, [r10 + rdx]
dec r9d
add edx, r10d
add edx, r8d
dec edx
movzx r11d, byte [rsp + 0x36]
mov r8d, 0x2e
sub r8d, r11d
lea esi, [r11 + 0x7fd0]
and esi, r8d
mov r8d, 0x2a
sub r8d, r11d
lea r12d, [r11 + 0x3fd4]
and r12d, r8d
lea r8d, [r11 - 0x3a]
mov r10d, 0x2f
sub r10d, r11d
and r10d, r8d
shr r10d, 8
lea r8d, [r11 + 5]
and r8d, r10d
lea r10d, [r11 - 0x7b]
mov ebp, 0x60
sub ebp, r11d
and ebp, r10d
sar ebp, 8
lea r10d, [r11 - 0x46]
and r10d, ebp
lea ebp, [r11 - 0x5b]
mov r14d, 0x40
sub r14d, r11d
and r14d, ebp
mov r15d, 0x2a
sar r14d, 8
add r11d, 0xffffffc0
and r11d, r14d
mov r14d, 0x2f
add r11d, r10d
mov r10d, 0x60
shr r12d, 8
and r12d, 0x3f
add r11d, r8d
lea r8d, [r12 + r11]
dec r8d
add r11d, r12d
movzx r12d, dx
shr esi, 8
and esi, 0x40
lea ebp, [rsi + r11]
dec ebp
lea r11d, [rcx*4 - 4]
shr r12d, 4
or r12d, r11d
movzx esi, bp
mov byte [rsp + 0x39], r12b
movzx r11d, byte [rsp + 0x37]
shl r9d, 4
shr esi, 2
or esi, r9d
mov byte [rsp + 0x3a], sil
mov esi, 0x2e
sub esi, r11d
lea r9d, [r11 + 0x7fd0]
and r9d, esi
sub r15d, r11d
lea r12d, [r11 + 0x3fd4]
and r12d, r15d
lea esi, [r11 - 0x3a]
sub r14d, r11d
and r14d, esi
shr r14d, 8
lea esi, [r11 + 5]
and esi, r14d
mov r14d, 0x40
shr r12d, 8
and r12d, 0x3f
add esi, r12d
lea r15d, [r11 - 0x7b]
sub r10d, r11d
and r10d, r15d
sar r10d, 8
lea r15d, [r11 - 0x46]
and r15d, r10d
lea r10d, [r11 - 0x5b]
sub r14d, r11d
and r14d, r10d
sar r14d, 8
add r11d, 0xffffffc0
and r11d, r14d
add r11d, r15d
add r11d, esi
shr r9d, 8
and r9d, 0x40
add r9d, r11d
dec r9d
shl r8d, 6
or r8d, r9d
mov byte [rsp + 0x3b], r8b
mov r8d, 0x2e
sub r8d, eax
add eax, 0x7fd0
and eax, r8d
shr eax, 8
and eax, 0x40
add eax, ecx
dec eax
or eax, edx
or ebp, r9d
or ebp, eax
shr ebp, 8
and ebp, 1
xor eax, eax
cmp rdi, 1
sete al
or ebx, eax
lea rdx, [rsp + 0x39]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
call sub.VCRUNTIME140.dll_memcpy
or bx, bp
je 0x14005c640
mov rax, qword [rsp + 0x48]
mov byte [rax + 8], 0
mov qword [rax], 0
jmp 0x14005d0d9
mov r10, qword [rsp + 0x60]
mov rax, r10
mov rdx, qword [rsp + 0x68]
or rax, rdx
mov r9, qword [rsp + 0x1a0]
je 0x14005d0cd
xor eax, eax
mov rcx, rdx
sub rcx, 1
cmovb rcx, rax
and rcx, 0xfffffffffffffffc
mov r15, qword [rsp + 0x40]
add r15, rcx
mov r13, rdx
sub r13, rcx
cmovb r13, rax
mov r12d, r13d
and r12d, 1
cmp rcx, rdx
cmovbe r12, r13
cmova r15, rax
ja 0x14005c6c3
xor r8d, r8d
mov rax, r10
sub rax, 1
cmovb rax, r8
movabs r11, 0xaaaaaaaaaaaaaaab
mul r11
shr rdx, 1
lea rcx, [rdx + rdx*2]
mov r13, r10
sub r13, rcx
cmovb r13, r8
jae 0x14005c6c9
and r13b, 1
jmp 0x14005c715
mov dword [rsp + 0x2c], 0
mov rax, r13
shr rax, 0x3e
jne 0x14005c712
lea rax, [r13*4]
mul r11
shr rdx, 1
movabs rax, 0xaaaaaaaaaaaaaaac
imul rax, r13
movabs r8, 0x5555555555555555
xor ebp, ebp
cmp rax, r8
seta bpl
add rbp, rdx
cmp rbp, 4
jbe 0x14005c72a
mov r13b, 1
mov rax, qword [rsp + 0x48]
mov byte [rax + 8], r13b
mov qword [rax], 0
jmp 0x14005d0d9
add rcx, r9
mov rax, r13
mul r11
shr rdx, 1
lea r8, [rdx + rdx*2]
sub r13, r8
lea rax, [rcx + r8]
mov qword [rsp + 0x50], rax
xor eax, eax
cmp rbp, 4
cmovne rax, rbp
mov r9, rbp
mov qword [rsp + 0x40], rax
sub r9, rax
lea rax, [rsp + r9]
add rax, 0x2c
mov qword [rsp + 0x58], rax
cmp r8, 3
jb 0x14005cdc0
cmp r9, 3
mov eax, 3
cmovb rax, r9
add rax, qword [rsp + 0x40]
mov r10, rbp
sub r10, rax
add r10, 3
shr r10, 2
lea rax, [r8 - 3]
mul r11
shr rdx, 1
cmp r10, rdx
cmovb rdx, r10
cmp rdx, 8
jae 0x14005c7b3
lea rax, [rsp + 0x2c]
jmp 0x14005cc21
inc rdx
mov eax, edx
and eax, 7
mov r10d, 8
cmovne r10, rax
sub rdx, r10
lea r10, [rdx + rdx*2]
sub r8, r10
add r10, rcx
lea r11, [rdx*4]
lea rax, [rsp + rdx*4]
add rax, 0x2c
sub r9, r11
xor r11d, r11d
movdqa xmm9, xmmword [0x1400a96b0]
movdqa xmm5, xmmword [0x1400a96d0]
movdqa xmm13, xmmword [0x1400a96f0]
movdqa xmm2, xmmword [0x1400a9710]
movdqu xmm8, xmmword [rcx]
movq xmm7, qword [rcx + 0x10]
movdqa xmm4, xmmword [0x1400a9640]
movdqa xmm3, xmm4
pandn xmm3, xmm7
movdqa xmm6, xmm8
pand xmm6, xmm4
por xmm6, xmm3
pxor xmm0, xmm0
punpcklbw xmm6, xmm0
movdqa xmm3, xmmword [0x1400a9650]
pand xmm6, xmm3
movdqa xmm10, xmm8
punpckhbw xmm10, xmm0
pandn xmm3, xmm10
por xmm3, xmm6
pshufd xmm3, xmm3, 0xd8
pshufhw xmm3, xmm3, 0x6c
pshufd xmm3, xmm3, 0x6c
pshuflw xmm3, xmm3, 0x6c
pshufhw xmm3, xmm3, 0xc6
packuswb xmm3, xmm3
movdqa xmm11, xmmword [0x1400a9660]
movdqa xmm6, xmm11
pandn xmm6, xmm7
movdqa xmm4, xmm8
pand xmm4, xmm11
por xmm4, xmm6
punpcklbw xmm4, xmm0
movdqa xmm6, xmmword [0x1400a9670]
pand xmm4, xmm6
pandn xmm6, xmm10
por xmm6, xmm4
pshuflw xmm4, xmm6, 0xc6
pshufhw xmm4, xmm4, 0xc6
pshufd xmm4, xmm4, 0x6c
pshuflw xmm4, xmm4, 0x39
pshufhw xmm6, xmm4, 0x39
packuswb xmm6, xmm6
movdqa xmm11, xmmword [0x1400a9680]
movdqa xmm4, xmm11
pandn xmm4, xmm7
pand xmm8, xmm11
por xmm8, xmm4
punpcklbw xmm8, xmm0
movdqa xmm4, xmmword [0x1400a9690]
pand xmm8, xmm4
pandn xmm4, xmm10
por xmm4, xmm8
pshufd xmm4, xmm4, 0x27
pshufhw xmm4, xmm4, 0x6c
pshufd xmm4, xmm4, 0x27
pshuflw xmm4, xmm4, 0xc6
pshufhw xmm4, xmm4, 0xc6
packuswb xmm4, xmm4
punpcklbw xmm3, xmm0
punpcklbw xmm6, xmm0
punpcklbw xmm4, xmm0
movdqa xmm8, xmm3
psrlw xmm8, 2
movdqa xmm12, xmmword [str.________]
movdqa xmm7, xmm12
psubw xmm7, xmm8
psrlw xmm7, 8
pand xmm7, xmm9
movdqa xmm14, xmmword [0x1400a96c0]
movdqa xmm10, xmm14
psubw xmm10, xmm8
psrlw xmm10, 8
pand xmm10, xmm5
movdqa xmm15, xmmword [str.33333333]
movdqa xmm11, xmm15
psubw xmm11, xmm8
psrlw xmm11, 8
pand xmm11, xmm13
paddw xmm11, xmm10
movdqa xmm0, xmmword [0x1400a9700]
movdqa xmm10, xmm0
psubw xmm10, xmm8
psrlw xmm10, 8
pand xmm10, xmm2
paddw xmm10, xmm8
paddw xmm10, xmm11
movdqa xmm1, xmmword [str.AAAAAAAA00000000________________]
paddw xmm7, xmm1
paddw xmm7, xmm10
psllw xmm3, 4
pand xmm3, xmmword [0x1400a9730]
movdqa xmm8, xmm6
psrlw xmm8, 4
por xmm8, xmm3
movdqa xmm3, xmm12
psubw xmm3, xmm8
psrlw xmm3, 8
pand xmm3, xmm9
movdqa xmm10, xmm14
psubw xmm10, xmm8
psrlw xmm10, 8
pand xmm10, xmm5
movdqa xmm11, xmm15
psubw xmm11, xmm8
psrlw xmm11, 8
pand xmm11, xmm13
paddw xmm11, xmm10
movdqa xmm10, xmm0
psubw xmm10, xmm8
psrlw xmm10, 8
pand xmm10, xmm2
paddw xmm10, xmm8
paddw xmm10, xmm11
paddw xmm3, xmm1
paddw xmm3, xmm10
psllw xmm6, 2
pand xmm6, xmmword [0x1400a9740]
movdqa xmm8, xmm4
psrlw xmm8, 6
por xmm8, xmm6
movdqa xmm6, xmm12
psubw xmm6, xmm8
psrlw xmm6, 8
pand xmm6, xmm9
movdqa xmm10, xmm14
psubw xmm10, xmm8
psrlw xmm10, 8
pand xmm10, xmm5
movdqa xmm11, xmm15
psubw xmm11, xmm8
psrlw xmm11, 8
pand xmm11, xmm13
paddw xmm11, xmm10
movdqa xmm10, xmm0
psubw xmm10, xmm8
psrlw xmm10, 8
pand xmm10, xmm2
paddw xmm10, xmm8
paddw xmm10, xmm11
paddw xmm6, xmm1
paddw xmm6, xmm10
pand xmm4, xmmword [0x1400a9750]
psubw xmm12, xmm4
psrlw xmm12, 8
pand xmm12, xmm9
psubw xmm14, xmm4
psrlw xmm14, 8
pand xmm14, xmm5
psubw xmm15, xmm4
psrlw xmm15, 8
pand xmm15, xmm13
paddw xmm15, xmm14
psubw xmm0, xmm4
psrlw xmm0, 8
pand xmm0, xmm2
paddw xmm0, xmm4
paddw xmm0, xmm15
paddw xmm12, xmm1
paddw xmm12, xmm0
movdqa xmm0, xmmword [0x1400a9760]
pand xmm3, xmm0
pand xmm7, xmm0
packuswb xmm7, xmm3
pand xmm6, xmm0
pand xmm12, xmm0
packuswb xmm6, xmm12
movdqa xmm3, xmm6
pxor xmm0, xmm0
punpckhbw xmm3, xmm0
punpcklbw xmm6, xmm0
pxor xmm1, xmm1
movdqa xmm4, xmm6
punpcklwd xmm4, xmm3
pshufd xmm8, xmm4, 0xfa
pshufd xmm4, xmm4, 0x50
packuswb xmm4, xmm8
movdqa xmm0, xmmword [0x1400a9770]
movdqa xmm8, xmm0
pandn xmm8, xmm4
movdqa xmm4, xmm7
punpckhbw xmm4, xmm1
punpcklbw xmm7, xmm1
movdqa xmm10, xmm7
punpcklwd xmm10, xmm4
pshufd xmm11, xmm10, 0xf6
pshufd xmm10, xmm10, 0xd4
packuswb xmm10, xmm11
pand xmm10, xmm0
por xmm10, xmm8
punpckhwd xmm6, xmm3
pshufd xmm3, xmm6, 0xfa
pshufd xmm6, xmm6, 0x50
packuswb xmm6, xmm3
movdqa xmm3, xmm0
pandn xmm3, xmm6
punpckhwd xmm7, xmm4
pshufd xmm4, xmm7, 0xf6
pshufd xmm6, xmm7, 0xd4
packuswb xmm6, xmm4
pand xmm6, xmm0
por xmm6, xmm3
movdqu xmmword [rsp + r11*4 + 0x3c], xmm6
movdqu xmmword [rsp + r11*4 + 0x2c], xmm10
add r11, 8
add rcx, 0x18
cmp rdx, r11
jne 0x14005c80a
mov rcx, r10
sub r9, 4
jb 0x14005cdc0
add r8, 0xfffffffffffffffd
movzx r11d, byte [rcx]
movzx r10d, byte [rcx + 1]
movzx edx, byte [rcx + 2]
mov edi, r11d
shr edi, 2
mov esi, 0x3e
sub esi, edi
shr esi, 8
and esi, 3
mov ebx, 0x3d
sub ebx, edi
shr ebx, 8
and ebx, 0xf1
mov r14d, 0x33
sub r14d, edi
shr r14d, 8
and r14d, 0xb5
add r14d, ebx
mov ebx, 0x19
sub ebx, edi
shr ebx, 8
and ebx, 6
add ebx, edi
add ebx, r14d
add ebx, esi
add bl, 0x41
mov byte [rax], bl
shl r11d, 4
and r11d, 0x30
mov esi, r10d
shr esi, 4
or esi, r11d
mov r11d, 0x3e
sub r11d, esi
shr r11d, 8
and r11d, 3
mov edi, 0x3d
sub edi, esi
shr edi, 8
and edi, 0xf1
mov ebx, 0x33
sub ebx, esi
shr ebx, 8
and ebx, 0xb5
add ebx, edi
mov edi, 0x19
sub edi, esi
shr edi, 8
and edi, 6
add edi, esi
add edi, ebx
add edi, r11d
add dil, 0x41
mov byte [rax + 1], dil
and r10d, 0xf
mov r11d, edx
shr r11d, 6
lea r11d, [r11 + r10*4]
mov r10d, 0x3e
sub r10d, r11d
shr r10d, 8
and r10d, 3
mov esi, 0x3d
sub esi, r11d
shr esi, 8
and esi, 0xf1
mov edi, 0x33
sub edi, r11d
shr edi, 8
and edi, 0xb5
add edi, esi
mov esi, 0x19
sub esi, r11d
shr esi, 8
and esi, 6
add esi, r11d
add esi, edi
add esi, r10d
add sil, 0x41
mov byte [rax + 2], sil
and edx, 0x3f
mov r10d, 0x3e
sub r10d, edx
shr r10d, 8
and r10d, 3
mov r11d, 0x3d
sub r11d, edx
shr r11d, 8
and r11d, 0xf1
mov esi, 0x33
sub esi, edx
shr esi, 8
and esi, 0xb5
add esi, r11d
mov r11d, 0x19
sub r11d, edx
shr r11d, 8
and r11d, 6
add r11d, edx
add r11d, esi
add r11d, r10d
add r11b, 0x41
mov byte [rax + 3], r11b
add rcx, 3
add rax, 4
cmp r8, 3
jae 0x14005cc21
mov r8, r13
xor r8, 3
lea rcx, [rsp + r13]
add rcx, 0x31
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x31]
mov rdx, qword [rsp + 0x50]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
movzx r11d, byte [rsp + 0x31]
movzx r10d, byte [rsp + 0x32]
movzx ecx, byte [rsp + 0x33]
mov edi, r11d
shr edi, 2
mov eax, 0x3e
mov esi, 0x3e
sub esi, edi
shr esi, 8
and esi, 3
mov r8d, 0x3d
mov r9d, 0x3d
sub r9d, edi
shr r9d, 8
and r9d, 0xf1
mov edx, 0x33
mov ebx, 0x33
sub ebx, edi
shr ebx, 8
and ebx, 0xb5
add ebx, r9d
mov r9d, 0x19
mov r14d, 0x19
sub r14d, edi
shr r14d, 8
and r14d, 6
add r14d, edi
add r14d, ebx
add r14d, esi
add r14b, 0x41
mov byte [rsp + 0x3c], r14b
shl r11d, 4
and r11d, 0x30
mov esi, r10d
shr esi, 4
or esi, r11d
mov r11d, 0x3e
sub r11d, esi
shr r11d, 8
and r11d, 3
mov edi, 0x3d
sub edi, esi
shr edi, 8
and edi, 0xf1
mov ebx, 0x33
sub ebx, esi
shr ebx, 8
and ebx, 0xb5
add ebx, edi
mov edi, 0x19
sub edi, esi
shr edi, 8
and edi, 6
add edi, esi
add edi, ebx
add edi, r11d
add dil, 0x41
mov byte [rsp + 0x3d], dil
and r10d, 0xf
mov r11d, ecx
shr r11d, 6
lea r11d, [r11 + r10*4]
mov r10d, 0x3e
sub r10d, r11d
shr r10d, 8
and r10d, 3
mov esi, 0x3d
sub esi, r11d
shr esi, 8
and esi, 0xf1
mov edi, 0x33
sub edi, r11d
shr edi, 8
and edi, 0xb5
add edi, esi
mov esi, 0x19
sub esi, r11d
shr esi, 8
and esi, 6
add esi, r11d
add esi, edi
add esi, r10d
add sil, 0x41
mov byte [rsp + 0x3e], sil
and ecx, 0x3f
sub eax, ecx
shr eax, 8
and eax, 3
sub r8d, ecx
shr r8d, 8
and r8d, 0xf1
sub edx, ecx
shr edx, 8
and edx, 0xb5
add edx, r8d
sub r9d, ecx
shr r9d, 8
and r9d, 6
add r9d, ecx
add r9d, edx
add r9d, eax
add r9b, 0x41
mov byte [rsp + 0x3f], r9b
lea rdx, [rsp + 0x3c]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
call sub.VCRUNTIME140.dll_memcpy
cmp rbp, r12
cmovb r12, rbp
test r12, r12
mov r9, qword [rsp + 0x1a0]
mov r10, qword [rsp + 0x60]
je 0x14005d0cd
cmp r12, 8
jae 0x14005cfb4
xor ecx, ecx
xor eax, eax
jmp 0x14005d0aa
cmp r12, 0x20
jae 0x14005cfc3
xor ecx, ecx
xor eax, eax
jmp 0x14005d04c
movabs rax, 0x7fffffffffffffe0
and rax, r12
pxor xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
mov rdx, r15
movdqu xmm2, xmmword [rsp + rcx + 0x2c]
movdqu xmm3, xmmword [rsp + rcx + 0x3c]
movdqu xmm4, xmmword [rdx + rcx]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm2, xmmword [rdx + rcx + 0x10]
pxor xmm2, xmm3
por xmm1, xmm2
add rcx, 0x20
cmp rax, rcx
jne 0x14005cfdd
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ecx, xmm1
cmp r12, rax
je 0x14005d0c1
test r12b, 0x18
je 0x14005d0aa
mov rdx, rax
movabs rax, 0x7ffffffffffffff8
and rax, r12
movzx ecx, cl
movd xmm0, ecx
mov rcx, qword [r15 + rdx]
xor rcx, qword [rsp + rdx + 0x2c]
movq xmm1, rcx
por xmm0, xmm1
add rdx, 8
cmp rax, rdx
jne 0x14005d063
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ecx, xmm1
cmp r12, rax
je 0x14005d0c1
movzx edx, byte [r15 + rax]
xor dl, byte [rsp + rax + 0x2c]
lea r8, [rax + 1]
or cl, dl
mov rax, r8
cmp r12, r8
jne 0x14005d0aa
test cl, cl
je 0x14005d0cd
xor r13d, r13d
jmp 0x14005c715
mov rax, qword [rsp + 0x48]
mov qword [rax], r9
mov qword [rax + 8], r10
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
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret