Function at 0x1800640d0
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x18007cf38]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov dword [rsp + 0x30], r9d
mov rbx, r8
mov qword [rsp + 0x60], rbx
mov r13, rdx
mov qword [rsp + 0x58], rdx
mov rdi, rcx
mov qword [rsp + 0x70], rcx
mov r12, qword [rbp + 0xc0]
mov r10, qword [rbp + 0xc8]
mov qword [rsp + 0x40], r10
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
xor edx, edx
mov qword [rbp - 0x50], rdx
mov r8d, r9d
mov r15d, r9d
lea eax, [r9 + 0xc]
mov esi, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x34]
movsd xmm7, qword [rbp - 0x70]
movups xmm6, xmmword [rbp - 0x80]
mov dword [rsp + 0x34], r11d
mov r9d, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x34]
mov dword [rsp + 0x3c], r9d
cmp r15d, eax
jae 0x180064710
lea rdx, [0x180000000]
mov r13, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x68], rax
nop dword [rax + rax]
lea eax, [r15 - 0xb1]
cmp eax, 0x36
ja case.0x1800641c2.188
movzx eax, byte [rdx + rax + 0x64b3c]
mov ecx, dword [rdx + rax*4 + 0x64b0c]
add rcx, rdx
jmp rcx
movzx esi, byte [r13]
test esi, esi
je 0x180064380
movsxd rbx, r9d
lea r14, [0x180000000]
nop dword [rax + rax]
inc r13
mov eax, dword [r10]
lea edx, [rax - 1]
mov dword [r10], edx
test eax, eax
je 0x18006438b
cmp esi, 0x3d
jne 0x180064264
movzx ecx, byte [r13]
cmp cl, sil
je 0x180064370
mov eax, r11d
and eax, 0x80000003
jge 0x180064218
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 1
je case.0x1800641c2.184
cmp byte [rdi], 0
je 0x180064370
test edx, edx
je 0x180064370
inc r13
movzx ecx, byte [r13]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x180064232
cmp byte [r13], al
jne case.0x1800641c2.184
xor cl, cl
mov r9d, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x34]
jmp 0x180064370
movsx edx, byte [rsi + r14 + 0x67790]
cmp byte [rdi], 0
jne 0x18006427a
test dl, dl
js 0x18006436b
cmp edx, 0xffffffff
je 0x18006436b
cmp edx, 0xfffffffe
je case.0x1800641c2.184
mov ecx, r11d
and ecx, 0x80000003
jge 0x18006429e
dec ecx
or ecx, 0xfffffffc
inc ecx
test ecx, ecx
je 0x180064356
sub ecx, 1
je 0x1800642be
sub ecx, 1
je 0x1800642fe
cmp ecx, 1
je 0x180064345
jmp 0x18006435d
mov ecx, 0x53
mov eax, ecx
sub eax, 0x53
je 0x1800642d5
cmp eax, 0x5b
je 0x18006435d
jmp 0x1800642f3
mov eax, edx
sar eax, 4
or byte [rbx + r12], al
inc r9d
mov dword [rsp + 0x3c], r9d
inc rbx
movzx eax, dl
shl al, 4
mov byte [rbx + r12], al
add ecx, 0x5b
cmp ecx, 0x109
jb 0x1800642c3
mov ecx, 0x12
cmp ecx, 0x12
je 0x180064326
cmp ecx, 0x92
je 0x18006431a
cmp ecx, 0x112
je 0x18006435d
jmp 0x18006433a
movzx eax, dl
shl al, 6
mov byte [rbx + r12], al
jmp 0x18006433a
mov eax, edx
sar eax, 2
or byte [rbx + r12], al
inc r9d
mov dword [rsp + 0x3c], r9d
inc rbx
sub ecx, 0xffffff80
cmp ecx, 0x192
jb 0x180064303
or byte [rbx + r12], dl
inc r9d
mov dword [rsp + 0x3c], r9d
inc rbx
jmp 0x18006435d
shl dl, 2
mov byte [rbx + r12], dl
mov r15d, 0xcd
inc r11d
mov dword [rsp + 0x34], r11d
movzx ecx, byte [r13]
movzx esi, cl
test cl, cl
jne 0x1800641e0
mov r8d, dword [rsp + 0x30]
inc r13
mov r14d, r9d
jmp 0x18006447c
mov r8d, dword [rsp + 0x30]
mov r14d, r9d
jmp 0x18006447c
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x168]
sub rax, 0x28
mov qword [rsp + 0x50], rax
jmp case.0x1800641c2.188
mov r13, qword [rsp + 0x58]
xor eax, eax
mov r11d, eax
mov dword [rsp + 0x34], eax
jmp case.0x1800641c2.188
xor eax, eax
mov ecx, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x68], rax
jmp 0x180064488
mov r9d, 0xa3
xor r8d, r8d
lea rdx, [rbp - 0x60]
xor ecx, ecx
call fcn.1800490d0
test al, al
je case.0x1800641c2.184
mov rbx, qword [rbp - 0x60]
mov rdi, qword [rbp - 0x58]
cmp rbx, rdi
je 0x180064468
xor r10d, r10d
nop dword [rax]
nop dword [rax + rax]
mov dword [rbp + 0x20], 0x53004d
mov dword [rbp + 0x24], 0x460041
mov dword [rbp + 0x28], 0x44
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
cmp dword [rbx + 0x4c], eax
jne 0x18006445c
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
cmp dword [rbx + 0x58], eax
jne 0x18006445c
lea rcx, [rbx + 0x74]
mov r8d, 5
lea rdx, [rbp + 0x20]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
je 0x180064500
xor r10d, r10d
add rbx, 0x274
cmp rbx, rdi
jne 0x180064410
mov r8d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x3c]
lea rdx, [0x180000000]
mov rcx, qword [rsp + 0x48]
inc r15d
lea eax, [r8 + 0xc]
mov r10, qword [rsp + 0x40]
cmp r15d, eax
jb 0x1800641a0
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
xor edx, edx
jmp 0x180064724
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0
je 0x1800644c7
cmp dword [rax + 4], 0
jne 0x18006462e
xor ecx, ecx
mov dword [rax], ecx
mov dword [rsp + 0x38], 1
jmp case.0x1800641c2.188
xor r10d, r10d
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x78], r10
mov qword [rbp - 0x70], r10
movups xmm6, xmmword [rbp - 0x80]
movsd xmm7, qword [rbp - 0x70]
jmp case.0x1800641c2.188
xor eax, eax
mov r9d, eax
mov dword [rsp + 0x3c], eax
jmp case.0x1800641c2.188
mov eax, 4
nop word [rax + rax]
movups xmm0, xmmword [rbx]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r12 + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [r12 + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [r12 + 0x60], xmm0
lea r12, [r12 + 0x80]
movups xmm1, xmmword [rbx + 0x70]
movups xmmword [r12 - 0x10], xmm1
lea rbx, [rbx + 0x80]
sub rax, 1
jne 0x180064510
movups xmm0, xmmword [rbx]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r12 + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [r12 + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [r12 + 0x60], xmm0
mov eax, dword [rbx + 0x70]
mov dword [r12 + 0x70], eax
mov byte [rsp + 0x38], 1
mov ebx, dword [rsp + 0x38]
mov r8, qword [rbp - 0x60]
test r8, r8
je 0x180064ad6
mov rcx, qword [rbp - 0x50]
sub rcx, r8
movabs rax, 0x342da7f2f4960343
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x274
mov rax, r8
cmp rdx, 0x1000
jb 0x180064ace
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180064ace
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movups xmm0, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rax + 0x20]
movsd qword [rbp - 0x70], xmm1
mov dword [rsp + 0x20], 0x106
lea r9, str.GestureEndShouldEndDragTest
mov r8, qword [rsp + 0x58]
lea rdx, str.llvm.x86.mic.mask.getexp.ps
lea rcx, [rbp - 0x80]
call fcn.180062ec0
mov ebx, eax
jmp 0x1800645c8
mov r13, qword [rsp + 0x58]
mov ecx, dword [r13]
sub ecx, 4
je 0x1800646e0
sub ecx, 0xe
je 0x1800646bd
sub ecx, 1
je 0x1800646bd
sub ecx, 1
je 0x180064692
cmp ecx, 1
je 0x1800646bd
jmp 0x18006480a
mov ebx, 0xbb
mov eax, ebx
sub eax, 0xba
je 0x1800646ee
cmp eax, 1
jne 0x1800646b3
mov rdx, qword [r13 + 8]
mov ecx, 0x89
call fcn.18003c520
dec ebx
cmp ebx, 0xb9
ja 0x180064697
mov rdx, qword [r13 + 8]
mov ecx, 0x89
call fcn.18003c520
mov r8d, dword [rsp + 0x30]
jmp 0x18006480a
mov rdx, qword [r13 + 8]
mov ecx, 0x89
call fcn.18003c520
mov rdx, qword [r13 + 0x10]
mov ecx, 0x89
call fcn.18003c520
mov r8d, dword [rsp + 0x30]
jmp 0x18006480a
mov byte [rsp + 0x38], 0
jmp case.0x1800641c2.187
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x48], rcx
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x68], r15
mov edi, r8d
imul eax, r8d, 0x917
cmp edi, eax
ja case.0x1800641c2.187
cmp edi, 0x1efbd
ja 0x180064905
je 0x1800648a4
cmp edi, 0x8ebc
ja 0x180064835
je 0x1800647d5
mov eax, edi
sub eax, 0xbe
je 0x18006480a
sub eax, 0xd
je 0x18006478d
cmp eax, 0x7ba9
jne 0x180064a7f
test r10, r10
jne 0x180064a7f
lea r10, str.ProgramUniform3i64ARB
mov qword [rsp + 0x40], r10
jmp 0x180064a7f
cmp esi, 0x3d
jne 0x1800647c4
mov ecx, r11d
and ecx, 0x80000003
jge 0x1800647a4
dec ecx
or ecx, 0xfffffffc
inc ecx
sub ecx, 1
je case.0x1800641c2.184
sub ecx, 1
je 0x1800647b9
cmp ecx, 1
je 0x1800647bc
jmp 0x1800647c4
inc r14d
movsxd rax, r14d
mov byte [rax + r12], 0
test rbx, rbx
je 0x180064a7f
mov dword [rbx], r9d
jmp 0x180064a7f
mov eax, 0xdd
movsxd rcx, r9d
nop dword [rax]
cmp eax, 0xdd
je 0x1800647f4
cmp eax, 0x9dfb
je case.0x1800641c2.187
jmp 0x1800647fe
mov byte [r12 + rcx], 0
mov byte [rsp + 0x38], 1
add eax, 0x9d1e
cmp eax, 0x13a3c
jbe 0x1800647e0
mov edi, 0xbe
xorps xmm0, xmm0
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13 + 0x20], xmm0
movups xmmword [r13 + 0x30], xmm0
movups xmmword [r13 + 0x40], xmm0
mov rbx, qword [rsp + 0x60]
jmp 0x180064a7a
cmp edi, 0xf837
je 0x18006484e
cmp edi, 0x173fa
je 0x180064986
jmp 0x180064a7f
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r10 + rax], 0
jne 0x180064855
mov qword [rsp + 0x50], rax
mov r8d, 0x5d
mov rdx, r10
lea rcx, [rsp + 0x50]
call fcn.18004a400
test eax, eax
je 0x180064a13
xor edx, edx
mov r8d, 0x125
mov rcx, qword [rsp + 0x40]
call fcn.18003cd00
mov qword [rsp + 0x48], rax
test rax, rax
je 0x180064a13
jmp 0x180064a75
movsxd rax, dword [rbx]
mov qword [rsp + 0x50], rax
mov r8d, 0x5d
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.18004a400
test eax, eax
je 0x180064a13
mov eax, dword [rbx]
inc eax
cdqe
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0x58]
xor edx, edx
mov ecx, reloc.SHELL32.dll_SHTestTokenMembership
call fcn.180029060
mov qword [rsp + 0x68], rax
test rax, rax
je 0x180064a13
jmp 0x180064a75
cmp edi, 0x26b80
je 0x180064a5f
cmp edi, 0x2e743
je 0x1800649b9
cmp edi, 0x36306
je 0x180064aa3
cmp edi, 0x3dec9
je 0x1800649a7
cmp edi, 0x45a8c
jne 0x180064a7f
mov ebx, 0x25
mov eax, ebx
sub eax, 0x25
je 0x18006495f
sub eax, 0x3c
je 0x180064959
cmp eax, 0x3c
je case.0x1800641c2.187
jmp 0x18006496c
mov dword [rsp + 0x38], edx
jmp 0x18006496c
mov rdx, r15
mov ecx, 0x89
call fcn.18003c520
add ebx, 0x3c
cmp ebx, 0xd9
mov edx, 0
jb 0x180064942
mov rbx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x30]
cmp dword [rbx], 0
jge 0x180064a7a
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], 0
jne 0x180064996
mov dword [rbx], eax
jmp 0x180064a7a
mov rdx, rcx
mov ecx, 0x89
call fcn.18003c520
jmp 0x180064a75
mov qword [rbp - 0x40], 1
xor eax, eax
mov qword [rbp - 0x1c], rax
mov dword [rbp - 0x14], eax
mov qword [rbp - 0x38], rcx
movsd qword [rbp], xmm7
movups xmmword [rbp + 8], xmm6
movsd qword [rbp + 0x18], xmm7
mov qword [rbp - 0x30], r15
movsxd rax, dword [rbx]
mov qword [rbp - 0x28], rax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov dword [rbp - 0x20], eax
lea r9, [r13 + 8]
mov rax, qword [r9]
cmp qword [r13 + 0x10], rax
jne 0x180064a24
mov r8, r13
mov edx, 0x44
lea rcx, [r13 + 0x10]
call fcn.180060df0
test eax, eax
jne 0x180064a1f
mov edi, 0x36306
mov rbx, qword [rsp + 0x60]
jmp 0x180064a75
mov r8d, dword [rsp + 0x30]
mov rax, qword [r13 + 0x10]
movaps xmm0, xmmword [rbp - 0x40]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm6
movaps xmm0, xmmword [rbp]
movups xmmword [rax + 0x40], xmm0
movaps xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + 0x50], xmm1
add qword [r13 + 0x10], 0x60
mov rbx, qword [rsp + 0x60]
jmp 0x180064a7a
movsxd r8, dword [rbx]
mov rdx, r12
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rbx]
mov byte [rax + r15], 0
mov r8d, dword [rsp + 0x30]
mov r10, qword [rsp + 0x40]
imul eax, r8d, 0xb3
add edi, eax
mov r9d, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
xor edx, edx
jmp 0x180064727
mov rcx, qword [r13 + 0x10]
sub rcx, qword [r13]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rbx, rdx
sar rbx, 4
mov rax, rbx
shr rax, 0x3f
add rbx, rax
jmp 0x1800645c8
mov rcx, r8
call fcn.1800650a0
mov eax, ebx
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.180065820
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret