Function at 0x1401c70e0
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 0x1401c7205
xor r9d, r9d
mov qword [rsp + 0x20], r9
mov r9d, ecx
or r9d, eax
je 0x1401c721f
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 0x1401c7241
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, [0x1403b5c40]
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 0x1401c72de
xor edi, edi
jmp 0x1401c73dd
mov byte [rdx], 0x2d
mov r9d, 1
mov qword [rsp + 0x20], r9
mov r9d, ecx
or r9d, eax
jne 0x1401c7123
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 0x1401c7aab
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, [0x1403b71a0]
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 0x1401c731a
xor edi, edi
jmp 0x1401c75a4
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 0x1401c737b
xor edi, edi
xor ecx, ecx
cmp ebp, 0x22
jb 0x1401c73dd
xor ebx, ebx
test bl, bl
je 0x1401c74cc
jmp 0x1401c75b7
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 0x1401c7545
xor edi, edi
cmp eax, 0x200000
jb 0x1401c75a4
xor ecx, ecx
cmp eax, 0x1f00000
jae 0x1401c736a
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 0x1401c74cc
jmp 0x1401c75b7
lea ecx, [rsi - 1]
imul eax, ecx, 0x12934f
shr eax, 0x13
shl rcx, 4
lea rdi, [0x1403b5c40]
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 0x1401c730b
imul eax, r15d, 0xcccccccd
cmp eax, 0x33333333
jbe 0x1401c7444
test r9b, 1
je 0x1401c747d
imul ecx, r13d, 0xcccccccd
xor eax, eax
cmp ecx, 0x33333333
ja 0x1401c742d
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 0x1401c7410
cmp eax, esi
adc r14d, 0xffffffff
xor ecx, ecx
xor ebx, ebx
test bl, bl
je 0x1401c74cc
jmp 0x1401c75b7
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 0x1401c7450
cmp eax, esi
setae cl
xor ebx, ebx
test bl, bl
je 0x1401c74cc
jmp 0x1401c75b7
imul ecx, r12d, 0xcccccccd
xor eax, eax
cmp ecx, 0x33333333
ja 0x1401c74bd
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 0x1401c74a0
cmp eax, esi
setae bl
xor ecx, ecx
test bl, bl
jne 0x1401c75b7
test cl, cl
jne 0x1401c75b7
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 0x1401c7536
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 0x1401c7500
lea eax, [r11 + r11]
lea eax, [rax + rax*4]
sub edi, eax
cmp r11d, r10d
sete r9b
mov r8d, r11d
jmp 0x1401c76ea
mov ecx, 1
sub ecx, ebp
imul r13d, ecx, 0x12934f
shr r13d, 0x13
shl rcx, 4
lea rdi, [0x1403b71a0]
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 0x1401c734c
test r9b, 1
je 0x1401c75b3
dec r14d
mov cl, 1
xor ebx, ebx
jmp 0x1401c75b5
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 0x1401c7645
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 0x1401c75f0
test bl, bl
je 0x1401c76b7
mov eax, r10d
imul rax, r8
shr rax, 0x23
add eax, eax
lea eax, [rax + rax*4]
mov r8d, r10d
sub r8d, eax
jne 0x1401c76b7
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 0x1401c7670
jmp 0x1401c76ba
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 0x1401c775f
mov eax, 8
cmp edi, 0x98967f
ja 0x1401c775f
mov eax, 7
cmp edi, 0xf423f
ja 0x1401c775f
mov eax, 6
cmp edi, 0x1869f
ja 0x1401c775f
mov eax, 5
cmp edi, 0x270f
ja 0x1401c775f
mov eax, 4
cmp edi, 0x3e7
ja 0x1401c775f
mov eax, 3
cmp edi, 0x63
ja 0x1401c775f
cmp edi, 0xa
mov eax, 1
sbb eax, 0xffffffff
mov ecx, eax
movsxd r8, ebp
lea rsi, [rcx + r8]
test r8d, r8d
js 0x1401c785e
cmp rsi, 0xe
jge 0x1401c785e
mov rax, qword [rsp + 0x20]
add rax, rdx
add rcx, rax
cmp edi, 0x2710
jb 0x1401c7a1d
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 0x1401c77b0
cmp r9d, 0x63
jbe 0x1401c7833
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 0x1401c7a32
mov r9d, r9d
lea r10, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx r9d, word [r10 + r9*2]
mov word [rax - 2], r9w
test ebp, ebp
jg 0x1401c7a3e
jmp 0x1401c7a4b
lea r8, [rsi - 1]
cmp r8, 0xd
jae 0x1401c7942
mov rax, qword [rsp + 0x20]
add rax, rcx
lea r8, [rdx + rax]
inc r8
cmp edi, 0x2710
jb 0x1401c7a68
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 0x1401c78a0
cmp eax, 0x63
jbe 0x1401c7921
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 0x1401c7a78
mov eax, eax
lea r9, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [r9 + rax*2]
mov word [r8 - 2], ax
jmp 0x1401c7a7e
lea rax, [rsi + 5]
cmp rax, 6
jae 0x1401c7ac1
mov rax, qword [rsp + 0x20]
mov word [rdx + rax], 0x2e30
mov ebx, 2
sub rbx, rsi
test rsi, rsi
jns 0x1401c79a2
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 0x1401c7b1c
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 0x1401c79d0
jmp 0x1401c7b1e
mov rax, rcx
mov r9d, edi
cmp r9d, 0x63
ja 0x1401c77fd
jmp 0x1401c7833
or r9b, 0x30
mov byte [rax - 1], r9b
test ebp, ebp
jle 0x1401c7a4b
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 0x1401c7aab
mov eax, edi
cmp eax, 0x63
ja 0x1401c78ec
jmp 0x1401c7921
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 0x1401c7b71
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 0x1401c7c9f
mov rcx, r8
add qword [rsp + 0x20], 2
cmp rcx, 9
jbe 0x1401c7cbd
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 0x1401c7aab
mov eax, edi
cmp eax, 0x63
jbe 0x1401c7b52
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 0x1401c7be7
mov eax, eax
lea rcx, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [rcx + rax*2]
mov word [rdx - 2], ax
jmp 0x1401c7aab
add rcx, qword [rsp + 0x20]
lea r9, [rdx + rcx]
inc r9
cmp edi, 0x2710
jb 0x1401c7bf1
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 0x1401c7ba0
jmp 0x1401c7bf3
or al, 0x30
mov byte [rdx - 1], al
jmp 0x1401c7aab
mov eax, edi
cmp eax, 0x63
jbe 0x1401c7c2d
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 0x1401c7c47
mov eax, eax
lea r10, str.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990.0
movzx eax, word [r10 + rax*2]
mov word [r9 - 2], ax
jmp 0x1401c7c4d
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 0x1401c7cd3
mov rdx, r8
add rcx, 2
cmp rdx, 9
jbe 0x1401c7ceb
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 0x1401c7237
mov byte [rax], 0x2d
inc rax
mov ecx, 1
sub rcx, rsi
add qword [rsp + 0x20], 2
cmp rcx, 9
ja 0x1401c7aff
or cl, 0x30
mov byte [rax], cl
shr r8, 0x3f
inc r8
add qword [rsp + 0x20], r8
jmp 0x1401c7aab
mov byte [rax], 0x2d
inc rax
mov edx, 1
sub rdx, rsi
add rcx, 2
cmp rdx, 9
ja 0x1401c7c80
or dl, 0x30
mov byte [rax], dl
shr r8, 0x3f
inc r8
add r8, rcx
jmp 0x1401c7237