Function at 0x14001e890
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
movd r8d, xmm0
mov eax, r8d
and eax, 0x7fffff
mov ecx, r8d
shr ecx, 0x17
movzx ecx, cl
test r8d, r8d
js 0x14001e9b5
xor r9d, r9d
mov qword [rsp + 0x20], r9
mov r9d, ecx
or r9d, eax
je 0x14001e9cf
lea r9d, [rax + 0x800000]
test ecx, ecx
cmove r9d, eax
lea r8d, [rcx - 0x98]
mov ebp, 0xffffff69
cmovne ebp, r8d
lea r15d, [r9*4]
lea r13d, [r9*4 + 2]
test eax, eax
setne al
cmp ecx, 2
setb bl
or bl, al
movzx eax, bl
not eax
lea r12d, [rax + r9*4]
test ebp, ebp
js 0x14001e9f1
imul esi, ebp, 0x13441
shr esi, 0x12
imul ecx, esi, 0x12934f
shr ecx, 0x13
mov r8d, esi
sub r8d, ebp
add ecx, r8d
mov eax, esi
shl eax, 4
lea r10, [0x1400bc248]
mov rax, qword [rax + r10 + 8]
inc rax
mov r10d, eax
shr rax, 0x20
mov ebx, r15d
mov r11, r10
imul r11, rbx
mov r14, rax
imul r14, rbx
shr r11, 0x20
add r11, r14
add cl, 0x3d
and cl, 0x3f
xor cl, 0x20
shr r11, cl
mov edi, r13d
mov r14, r10
imul r14, rdi
imul rdi, rax
shr r14, 0x20
add r14, rdi
shr r14, cl
mov edi, r12d
imul r10, rdi
imul rax, rdi
shr r10, 0x20
add r10, rax
shr r10, cl
cmp ebp, 4
jae 0x14001ea8e
xor edi, edi
jmp 0x14001eb8d
mov byte [rdx], 0x2d
mov r9d, 1
mov qword [rsp + 0x20], r9
mov r9d, ecx
or r9d, eax
jne 0x14001e8d3
mov rax, qword [rsp + 0x20]
mov byte [rdx + rax + 2], 0x30
mov word [rdx + rax], 0x2e30
shr r8d, 0x1f
add r8d, 3
mov qword [rsp + 0x20], r8
jmp 0x14001f25b
imul eax, ebp, 0xfff4d105
mov r8d, eax
shr r8d, 0x14
add ebp, r8d
mov r10d, ebp
neg r10d
imul r11d, ebp, 0x1ed6cb1
shr r11d, 0x13
mov ecx, r8d
sub ecx, r11d
shl r10, 4
lea r11, [0x1400bd7a8]
mov rdi, qword [r10 + r11 + 8]
mov r10d, edi
shr rdi, 0x20
mov esi, r15d
mov r11, r10
imul r11, rsi
mov r14, rdi
imul r14, rsi
shr r11, 0x20
add r11, r14
add cl, 0x3c
and cl, 0x3f
xor cl, 0x20
shr r11, cl
mov r13d, r13d
mov r14, r10
imul r14, r13
imul r13, rdi
shr r14, 0x20
add r14, r13
shr r14, cl
mov r12d, r12d
imul r10, r12
imul rdi, r12
shr r10, 0x20
add r10, rdi
shr r10, cl
cmp eax, 0x100000
jae 0x14001eaca
xor edi, edi
jmp 0x14001ed54
lea ecx, [r14 - 1]
mov eax, 0xcccccccd
imul rcx, rax
shr rcx, 0x23
mov edi, r10d
imul rdi, rax
shr rdi, 0x23
cmp ecx, edi
jbe 0x14001eb2b
xor edi, edi
xor ecx, ecx
cmp ebp, 0x22
jb 0x14001eb8d
xor ebx, ebx
test bl, bl
je 0x14001ec7c
jmp 0x14001ed67
lea ecx, [r14 - 1]
mov r12d, 0xcccccccd
imul rcx, r12
shr rcx, 0x23
mov edi, r10d
imul rdi, r12
shr rdi, 0x23
cmp ecx, edi
jbe 0x14001ecf5
xor edi, edi
cmp eax, 0x200000
jb 0x14001ed54
xor ecx, ecx
cmp eax, 0x1f00000
jae 0x14001eb1a
dec r8b
mov eax, 0xffffffff
mov ecx, r8d
shl eax, cl
not eax
test r15d, eax
sete cl
xor ebx, ebx
mov esi, ebp
test bl, bl
je 0x14001ec7c
jmp 0x14001ed67
lea ecx, [rsi - 1]
imul eax, ecx, 0x12934f
shr eax, 0x13
shl rcx, 4
lea rdi, [0x1400bc248]
mov rcx, qword [rcx + rdi + 8]
inc rcx
mov edi, ecx
shr rcx, 0x20
imul rdi, rbx
imul rcx, rbx
shr rdi, 0x20
add rdi, rcx
add r8d, eax
add r8b, 0x1c
mov ecx, r8d
shr rdi, cl
mov eax, edi
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
add eax, eax
lea eax, [rax + rax*4]
sub edi, eax
xor ecx, ecx
cmp ebp, 0x22
jae 0x14001eabb
imul eax, r15d, 0xcccccccd
cmp eax, 0x33333333
jbe 0x14001ebf4
test r9b, 1
je 0x14001ec2d
imul ecx, r13d, 0xcccccccd
xor eax, eax
cmp ecx, 0x33333333
ja 0x14001ebdd
xor eax, eax
mov ecx, 0xcccccccd
nop dword [rax]
mov r13d, r13d
imul r13, rcx
shr r13, 0x22
inc eax
imul r8d, r13d, 0xcccccccd
cmp r8d, 0x33333334
jb 0x14001ebc0
cmp eax, esi
adc r14d, 0xffffffff
xor ecx, ecx
xor ebx, ebx
test bl, bl
je 0x14001ec7c
jmp 0x14001ed67
xor eax, eax
mov ecx, 0xcccccccd
nop dword [rax + rax]
mov r15d, r15d
imul r15, rcx
shr r15, 0x22
inc eax
imul r8d, r15d, 0xcccccccd
cmp r8d, 0x33333334
jb 0x14001ec00
cmp eax, esi
setae cl
xor ebx, ebx
test bl, bl
je 0x14001ec7c
jmp 0x14001ed67
imul ecx, r12d, 0xcccccccd
xor eax, eax
cmp ecx, 0x33333333
ja 0x14001ec6d
xor eax, eax
mov ecx, 0xcccccccd
nop word cs:[rax + rax]
mov r12d, r12d
imul r12, rcx
shr r12, 0x22
inc eax
imul r8d, r12d, 0xcccccccd
cmp r8d, 0x33333334
jb 0x14001ec50
cmp eax, esi
setae bl
xor ecx, ecx
test bl, bl
jne 0x14001ed67
test cl, cl
jne 0x14001ed67
mov eax, r14d
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
mov r8d, r10d
imul r8, rcx
shr r8, 0x23
xor ebp, ebp
cmp eax, r8d
jbe 0x14001ece6
xor ebp, ebp
nop dword [rax + rax]
mov edi, r11d
mov r10d, r8d
mov r11d, r11d
imul r11, rcx
shr r11, 0x23
inc ebp
mov eax, eax
imul rax, rcx
shr rax, 0x23
mov r8d, r8d
imul r8, rcx
shr r8, 0x23
cmp eax, r8d
ja 0x14001ecb0
lea eax, [r11 + r11]
lea eax, [rax + rax*4]
sub edi, eax
cmp r11d, r10d
sete r9b
mov r8d, r11d
jmp 0x14001ee9a
mov ecx, 1
sub ecx, ebp
imul r13d, ecx, 0x12934f
shr r13d, 0x13
shl rcx, 4
lea rdi, [0x1400bd7a8]
mov rcx, qword [rcx + rdi + 8]
mov edi, ecx
shr rcx, 0x20
imul rdi, rsi
imul rcx, rsi
shr rdi, 0x20
add rdi, rcx
mov ecx, r8d
sub ecx, r13d
add cl, 0x1b
shr rdi, cl
mov ecx, edi
imul rcx, r12
shr rcx, 0x23
add ecx, ecx
lea ecx, [rcx + rcx*4]
sub edi, ecx
cmp eax, 0x200000
jae 0x14001eafc
test r9b, 1
je 0x14001ed63
dec r14d
mov cl, 1
xor ebx, ebx
jmp 0x14001ed65
mov cl, 1
mov esi, ebp
mov r14d, r14d
mov r8d, 0xcccccccd
imul r14, r8
shr r14, 0x23
mov eax, r10d
imul rax, r8
shr rax, 0x23
xor ebp, ebp
cmp r14d, eax
jbe 0x14001edf5
test bl, bl
setne bl
xor ebp, ebp
nop word cs:[rax + rax]
mov r15d, r10d
mov r10d, eax
lea eax, [r10 + r10]
lea eax, [rax + rax*4]
cmp eax, r15d
sete al
and bl, al
test dil, dil
mov eax, r11d
sete r11b
and cl, r11b
mov r11d, eax
imul r11, r8
shr r11, 0x23
lea edi, [r11 + r11]
lea edi, [rdi + rdi*4]
sub eax, edi
mov edi, eax
inc ebp
mov r14d, r14d
imul r14, r8
shr r14, 0x23
mov eax, r10d
imul rax, r8
shr rax, 0x23
cmp r14d, eax
ja 0x14001eda0
test bl, bl
je 0x14001ee67
mov eax, r10d
imul rax, r8
shr rax, 0x23
add eax, eax
lea eax, [rax + rax*4]
mov r8d, r10d
sub r8d, eax
jne 0x14001ee67
mov eax, 0xcccccccd
nop word cs:[rax + rax]
test dil, dil
sete r8b
and cl, r8b
mov r8d, r11d
imul r8, rax
shr r8, 0x23
lea edi, [r8 + r8]
lea edi, [rdi + rdi*4]
sub r11d, edi
mov edi, r11d
mov r10d, r10d
imul r10, rax
shr r10, 0x23
inc ebp
imul r14d, r10d, 0xcccccccd
ror r14d, 1
mov r11d, r8d
cmp r14d, 0x1999999a
jb 0x14001ee20
jmp 0x14001ee6a
mov r8d, r11d
test bl, bl
sete al
mov r11d, r8d
and r11b, 1
or r11b, 4
cmp dil, 5
movzx ebx, dil
movzx edi, r11b
cmovne edi, ebx
test cl, cl
cmove edi, ebx
cmp r8d, r10d
sete cl
or r9b, al
and r9b, cl
cmp dil, 5
setae al
or al, r9b
movzx edi, al
add edi, r8d
add ebp, esi
mov eax, 9
cmp edi, 0x5f5e0ff
ja 0x14001ef0f
mov eax, 8
cmp edi, 0x98967f
ja 0x14001ef0f
mov eax, 7
cmp edi, 0xf423f
ja 0x14001ef0f
mov eax, 6
cmp edi, 0x1869f
ja 0x14001ef0f
mov eax, 5
cmp edi, 0x270f
ja 0x14001ef0f
mov eax, 4
cmp edi, 0x3e7
ja 0x14001ef0f
mov eax, 3
cmp edi, 0x63
ja 0x14001ef0f
cmp edi, 0xa
mov eax, 1
sbb eax, 0xffffffff
mov ecx, eax
movsxd r8, ebp
lea rsi, [rcx + r8]
test r8d, r8d
js 0x14001f00e
cmp rsi, 0xe
jge 0x14001f00e
mov rax, qword [rsp + 0x20]
add rax, rdx
add rcx, rax
cmp edi, 0x2710
jb 0x14001f1cd
mov r10d, 0xd1b71759
lea r11, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
mov rax, rcx
nop word cs:[rax + rax]
mov r9d, edi
imul r9, r10
shr r9, 0x2d
imul ebx, r9d, 0xffffd8f0
add ebx, edi
imul r14, rbx, 0x51eb851f
shr r14, 0x25
imul r15d, r14d, 0x64
sub ebx, r15d
movzx ebx, word [r11 + rbx*2]
mov word [rax - 2], bx
movzx ebx, word [r11 + r14*2]
mov word [rax - 4], bx
add rax, 0xfffffffffffffffc
cmp edi, 0x5f5e0ff
mov edi, r9d
ja 0x14001ef60
cmp r9d, 0x63
jbe 0x14001efe3
movzx r10d, r9w
shr r10d, 2
imul r10d, r10d, 0x147b
shr r10d, 0x11
imul r11d, r10d, 0x64
sub r9d, r11d
movzx r9d, r9w
lea r11, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx r9d, word [r11 + r9*2]
mov word [rax - 2], r9w
add rax, 0xfffffffffffffffe
mov r9d, r10d
cmp r9d, 9
jbe 0x14001f1e2
mov r9d, r9d
lea r10, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx r9d, word [r10 + r9*2]
mov word [rax - 2], r9w
test ebp, ebp
jg 0x14001f1ee
jmp 0x14001f1fb
lea r8, [rsi - 1]
cmp r8, 0xd
jae 0x14001f0f2
mov rax, qword [rsp + 0x20]
add rax, rcx
lea r8, [rdx + rax]
inc r8
cmp edi, 0x2710
jb 0x14001f218
mov r9d, 0xd1b71759
lea r10, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
nop word cs:[rax + rax]
mov eax, edi
imul rax, r9
shr rax, 0x2d
imul r11d, eax, 0xffffd8f0
add r11d, edi
imul rbx, r11, 0x51eb851f
shr rbx, 0x25
imul ebp, ebx, 0x64
sub r11d, ebp
movzx r11d, word [r10 + r11*2]
mov word [r8 - 2], r11w
movzx r11d, word [r10 + rbx*2]
mov word [r8 - 4], r11w
add r8, 0xfffffffffffffffc
cmp edi, 0x5f5e0ff
mov edi, eax
ja 0x14001f050
cmp eax, 0x63
jbe 0x14001f0d1
movzx r9d, ax
shr r9d, 2
imul r9d, r9d, 0x147b
shr r9d, 0x11
imul r10d, r9d, 0x64
sub eax, r10d
movzx eax, ax
lea r10, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [r10 + rax*2]
mov word [r8 - 2], ax
add r8, 0xfffffffffffffffe
mov eax, r9d
cmp eax, 9
jbe 0x14001f228
mov eax, eax
lea r9, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [r9 + rax*2]
mov word [r8 - 2], ax
jmp 0x14001f22e
lea rax, [rsi + 5]
cmp rax, 6
jae 0x14001f271
mov rax, qword [rsp + 0x20]
mov word [rdx + rax], 0x2e30
mov ebx, 2
sub rbx, rsi
test rsi, rsi
jns 0x14001f152
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rdx + rax]
add r9, 2
cmp rbx, 4
mov r8d, 3
cmovge r8, rbx
add r8, 0xfffffffffffffffe
mov rsi, rcx
mov rcx, r9
mov r14, rdx
mov dl, 0x30
call sub.msvcrt.dll_memset
mov rcx, rsi
mov rdx, r14
mov r8, qword [rsp + 0x20]
add r8, rcx
add r8, rbx
mov rax, r8
mov qword [rsp + 0x20], r8
add rdx, r8
cmp edi, 0x2710
jb 0x14001f2cc
mov ecx, 0xd1b71759
lea r8, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
mov eax, edi
imul rax, rcx
shr rax, 0x2d
imul r9d, eax, 0xffffd8f0
add r9d, edi
imul r10, r9, 0x51eb851f
shr r10, 0x25
imul r11d, r10d, 0x64
sub r9d, r11d
movzx r9d, word [r8 + r9*2]
mov word [rdx - 2], r9w
movzx r9d, word [r8 + r10*2]
mov word [rdx - 4], r9w
add rdx, 0xfffffffffffffffc
cmp edi, 0x5f5e0ff
mov edi, eax
ja 0x14001f180
jmp 0x14001f2ce
mov rax, rcx
mov r9d, edi
cmp r9d, 0x63
ja 0x14001efad
jmp 0x14001efe3
or r9b, 0x30
mov byte [rax - 1], r9b
test ebp, ebp
jle 0x14001f1fb
mov rdi, rdx
mov dl, 0x30
call sub.msvcrt.dll_memset
mov rdx, rdi
mov rax, qword [rsp + 0x20]
lea rcx, [rsi + rax]
mov word [rdx + rcx], 0x302e
add rax, rsi
add rax, 2
mov qword [rsp + 0x20], rax
jmp 0x14001f25b
mov eax, edi
cmp eax, 0x63
ja 0x14001f09c
jmp 0x14001f0d1
or al, 0x30
mov byte [r8 - 1], al
mov rax, qword [rsp + 0x20]
lea rbx, [rax + rcx]
inc rbx
lea rdi, [rdx + rax]
add rdx, rax
inc rdx
mov rcx, rdi
mov r8, rsi
call sub.msvcrt.dll_memmove
mov byte [rsi + rdi], 0x2e
mov rax, rbx
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x20]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp ecx, 1
jne 0x14001f321
add dil, 0x30
mov rax, qword [rsp + 0x20]
mov byte [rdx + rax], dil
mov byte [rdx + rax + 1], 0x65
add rax, rdx
add rax, 2
test rsi, rsi
jle 0x14001f44f
mov rcx, r8
add qword [rsp + 0x20], 2
cmp rcx, 9
jbe 0x14001f46d
lea rdx, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx ecx, word [rdx + rcx*2]
mov word [rax], cx
shr r8, 0x3f
or r8, 2
add qword [rsp + 0x20], r8
jmp 0x14001f25b
mov eax, edi
cmp eax, 0x63
jbe 0x14001f302
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x147b
shr ecx, 0x11
imul r8d, ecx, 0x64
sub eax, r8d
movzx eax, ax
lea r8, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [r8 + rax*2]
mov word [rdx - 2], ax
add rdx, 0xfffffffffffffffe
mov eax, ecx
cmp eax, 9
jbe 0x14001f397
mov eax, eax
lea rcx, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [rcx + rax*2]
mov word [rdx - 2], ax
jmp 0x14001f25b
add rcx, qword [rsp + 0x20]
lea r9, [rdx + rcx]
inc r9
cmp edi, 0x2710
jb 0x14001f3a1
mov r10d, 0xd1b71759
lea r11, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
nop word cs:[rax + rax]
mov eax, edi
imul rax, r10
shr rax, 0x2d
imul ebx, eax, 0xffffd8f0
add ebx, edi
imul r14, rbx, 0x51eb851f
shr r14, 0x25
imul ebp, r14d, 0x64
sub ebx, ebp
movzx ebx, word [r11 + rbx*2]
mov word [r9 - 2], bx
movzx ebx, word [r11 + r14*2]
mov word [r9 - 4], bx
add r9, 0xfffffffffffffffc
cmp edi, 0x5f5e0ff
mov edi, eax
ja 0x14001f350
jmp 0x14001f3a3
or al, 0x30
mov byte [rdx - 1], al
jmp 0x14001f25b
mov eax, edi
cmp eax, 0x63
jbe 0x14001f3dd
movzx r10d, ax
shr r10d, 2
imul r10d, r10d, 0x147b
shr r10d, 0x11
imul r11d, r10d, 0x64
sub eax, r11d
movzx eax, ax
lea r11, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [r11 + rax*2]
mov word [r9 - 2], ax
add r9, 0xfffffffffffffffe
mov eax, r10d
cmp eax, 9
jbe 0x14001f3f7
mov eax, eax
lea r10, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [r10 + rax*2]
mov word [r9 - 2], ax
jmp 0x14001f3fd
or al, 0x30
mov byte [r9 - 1], al
mov rax, qword [rsp + 0x20]
movzx r9d, byte [rdx + rax + 1]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0x2e
mov byte [rdx + rcx + 1], 0x65
lea rax, [rdx + rcx]
add rax, 2
test rsi, rsi
jle 0x14001f483
mov rdx, r8
add rcx, 2
cmp rdx, 9
jbe 0x14001f49b
lea r9, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx edx, word [r9 + rdx*2]
mov word [rax], dx
shr r8, 0x3f
or r8, 2
add r8, rcx
jmp 0x14001e9e7
mov byte [rax], 0x2d
inc rax
mov ecx, 1
sub rcx, rsi
add qword [rsp + 0x20], 2
cmp rcx, 9
ja 0x14001f2af
or cl, 0x30
mov byte [rax], cl
shr r8, 0x3f
inc r8
add qword [rsp + 0x20], r8
jmp 0x14001f25b
mov byte [rax], 0x2d
inc rax
mov edx, 1
sub rdx, rsi
add rcx, 2
cmp rdx, 9
ja 0x14001f430
or dl, 0x30
mov byte [rax], dl
shr r8, 0x3f
inc r8
add r8, rcx
jmp 0x14001e9e7