Function at 0x10011740
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10080f79
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x100bb2a8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x6c], 0
movups xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov al, byte [0x100a6ee0]
mov dword [ebp - 0x70], edi
movups xmmword [ebp - 0x54], xmm0
mov byte [ebp - 0x14], al
movups xmm0, xmmword [0x100a6eb0]
movups xmmword [ebp - 0x44], xmm0
movups xmm0, xmmword [0x100a6ec0]
movups xmmword [ebp - 0x34], xmm0
movups xmm0, xmmword [0x100a6ed0]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x14], 0xf
cmp dword [edi + 0x14], 0x10
movups xmmword [ebp - 0x24], xmm0
mov dword [edi + 0x10], 0
jb 0x100117d4
mov eax, dword [edi]
jmp 0x100117d6
mov eax, edi
mov byte [eax], 0
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 4], 0
mov dword [ebp - 0x6c], 1
test eax, eax
je 0x10011a75
dec eax
mov dword [ebp + 8], eax
mov al, byte [edx]
inc edx
mov byte [ebp + ebx - 0x5c], al
inc ebx
mov ah, byte [ebp - 0x5a]
mov ch, byte [ebp - 0x5b]
mov cl, byte [ebp - 0x5c]
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x55], ah
mov byte [ebp - 0x62], ch
mov byte [ebp - 0x63], cl
cmp ebx, 3
jne 0x100118e3
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 0x60], al
mov al, ch
shl cl, 4
shr al, 4
add cl, al
mov al, ah
mov byte [ebp - 0x5f], cl
mov cl, ch
and cl, 0xf
shr al, 6
shl cl, 2
add cl, al
mov al, ah
and al, 0x3f
mov byte [ebp - 0x5e], cl
mov byte [ebp - 0x5d], al
xor ebx, ebx
movzx eax, byte [ebp + ebx - 0x60]
mov ecx, dword [edi + 0x10]
mov dl, byte [ebp + eax - 0x54]
mov eax, ecx
not eax
mov byte [ebp - 0x61], dl
cmp eax, 1
jbe 0x10011918
lea esi, [ecx + 1]
cmp esi, 0xfffffffe
ja 0x10011918
cmp dword [edi + 0x14], esi
jae 0x1001189b
push ecx
push esi
mov ecx, edi
call fcn.1000934e
mov dl, byte [ebp - 0x61]
test esi, esi
je 0x100118ce
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
jb 0x100118b6
mov eax, dword [edi]
jmp 0x100118b8
test esi, esi
jne 0x1001188e
mov dword [edi + 0x10], esi
cmp dword [edi + 0x14], 0x10
jb 0x100118af
mov eax, dword [edi]
mov byte [eax], 0
jmp 0x100118ce
mov eax, edi
mov byte [eax], 0
jmp 0x100118ce
mov eax, edi
mov byte [eax + ecx], dl
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], esi
jb 0x100118c8
mov eax, dword [edi]
jmp 0x100118ca
mov eax, edi
mov byte [eax + esi], 0
inc ebx
cmp ebx, 4
jl 0x10011851
mov edx, dword [ebp - 0x68]
xor ebx, ebx
mov ch, byte [ebp - 0x62]
mov cl, byte [ebp - 0x63]
mov eax, dword [ebp + 8]
test eax, eax
jne 0x100117f4
test ebx, ebx
je 0x10011a75
mov eax, ebx
cmp ebx, 3
jge 0x10011927
cmp eax, 3
jae 0x10011922
mov byte [ebp + eax - 0x5c], 0
inc eax
cmp eax, 3
jl 0x10011900
mov dl, byte [ebp - 0x5a]
mov ch, byte [ebp - 0x5b]
mov cl, byte [ebp - 0x5c]
jmp 0x1001192a
push str.string_too_long
call fcn.1005944e
call fcn.1005a4f3
mov dl, byte [ebp - 0x55]
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 0x60], al
mov al, ch
shr al, 4
and ch, 0xf
shl cl, 4
add cl, al
shl ch, 2
mov al, dl
mov byte [ebp - 0x5f], cl
shr al, 6
and dl, 0x3f
add ch, al
mov byte [ebp - 0x5d], dl
xor edx, edx
mov byte [ebp - 0x5e], ch
lea eax, [ebx + 1]
mov dword [ebp - 0x5c], edx
test eax, eax
jle 0x100119fa
nop dword [eax + eax]
movzx eax, byte [ebp + edx - 0x60]
mov ecx, dword [edi + 0x10]
mov al, byte [ebp + eax - 0x54]
mov byte [ebp - 0x55], al
mov eax, ecx
not eax
cmp eax, 1
jbe 0x10011918
lea esi, [ecx + 1]
cmp esi, 0xfffffffe
ja 0x10011918
cmp dword [edi + 0x14], esi
jae 0x100119b2
push ecx
push esi
mov ecx, edi
call fcn.1000934e
mov edx, dword [ebp - 0x5c]
test esi, esi
je 0x100119eb
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
jb 0x100119cd
mov eax, dword [edi]
jmp 0x100119cf
test esi, esi
jne 0x100119a5
mov dword [edi + 0x10], esi
cmp dword [edi + 0x14], 0x10
jb 0x100119c6
mov eax, dword [edi]
mov byte [eax], 0
jmp 0x100119eb
mov eax, edi
mov byte [eax], 0
jmp 0x100119eb
mov eax, edi
mov dl, byte [ebp - 0x55]
mov byte [ecx + eax], dl
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], esi
jb 0x100119e2
mov eax, dword [edi]
jmp 0x100119e4
mov eax, edi
mov edx, dword [ebp - 0x5c]
mov byte [esi + eax], 0
inc edx
lea eax, [ebx + 1]
mov dword [ebp - 0x5c], edx
cmp edx, eax
jl 0x10011970
cmp ebx, 3
jge 0x10011a75
nop
mov ecx, dword [edi + 0x10]
inc ebx
mov eax, ecx
not eax
cmp eax, 1
jbe 0x10011918
lea esi, [ecx + 1]
cmp esi, 0xfffffffe
ja 0x10011918
cmp dword [edi + 0x14], esi
jae 0x10011a3c
push ecx
push esi
mov ecx, edi
call fcn.1000934e
test esi, esi
je 0x10011a70
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
jb 0x10011a57
mov eax, dword [edi]
jmp 0x10011a59
test esi, esi
jne 0x10011a2f
mov dword [edi + 0x10], esi
cmp dword [edi + 0x14], 0x10
jb 0x10011a50
mov eax, dword [edi]
mov byte [eax], 0
jmp 0x10011a70
mov eax, edi
mov byte [eax], 0
jmp 0x10011a70
mov eax, edi
mov byte [ecx + eax], 0x3d
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], esi
jb 0x10011a6a
mov eax, dword [edi]
jmp 0x10011a6c
mov eax, edi
mov byte [eax + esi], 0
cmp ebx, 3
jl 0x10011a00
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005a19b
mov esp, ebp
pop ebp
ret