Function at 0x6e8c4880
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
push ebx
sub esp, 0x1c
test ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
je 0x6e8c4b1a
mov dword [ebp - 0x28], 0
xor esi, esi
xor edx, edx
xor ebx, ebx
test edi, edi
mov eax, dword [ebp - 0x20]
je 0x6e8c4930
movzx ecx, word [eax + ebx*2]
mov eax, ecx
and eax, 0xffffffdf
sub eax, 0x41
cmp eax, 0x19
jbe 0x6e8c4900
lea eax, [ecx - 0x30]
cmp eax, 9
jbe 0x6e8c4900
cmp ecx, 0x2b
je 0x6e8c4900
cmp ecx, 0x2f
je 0x6e8c4900
cmp ecx, 0x3d
je 0x6e8c4940
sub ecx, 9
cmp ecx, 0x17
jbe 0x6e8c4ae0
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
mov eax, 0xd
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x6e8c48e5
inc edx
mov eax, edx
and eax, 3
cmp eax, 2
je 0x6e8c4913
inc esi
mov dword [ebp - 0x28], 0
inc ebx
cmp dword [ebp - 0x24], ebx
jne 0x6e8c48a6
test dl, 3
je 0x6e8c494f
movzx edx, byte [ebp - 0x28]
and dl, 1
je 0x6e8c494f
jmp 0x6e8c48e5
movsx ecx, byte [eax + ebx]
jmp 0x6e8c48b5
test dl, 3
je 0x6e8c494f
inc edx
test dl, 3
jne 0x6e8c4ac0
mov eax, dword [ebp + 8]
test eax, eax
je 0x6e8c4a20
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp eax, esi
jae 0x6e8c496b
test eax, eax
jne 0x6e8c4b10
mov eax, dword [ebp - 0x24]
xor esi, esi
test eax, eax
je 0x6e8c4a20
xor edx, edx
xor eax, eax
jmp 0x6e8c49d7
movzx ecx, word [ebx + eax*2]
lea ebx, [ecx - 0x41]
cmp ebx, 0x19
jbe 0x6e8c4999
lea ebx, [ecx - 0x61]
cmp ebx, 0x19
ja 0x6e8c49e8
mov bl, cl
sub bl, 0x47
mov ecx, edx
inc edx
and ecx, 3
mov byte [ebp + ecx - 0x10], bl
mov ecx, edx
and ecx, 3
cmp ecx, 2
je 0x6e8c4a58
cmp ecx, 3
je 0x6e8c4a00
dec ecx
je 0x6e8c4a78
movzx ecx, byte [ebp - 0xe]
movzx ebx, byte [ebp - 0xd]
shl ecx, 6
or cl, bl
mov ebx, dword [ebp + 8]
mov byte [ebx + esi], cl
inc esi
inc eax
cmp dword [ebp - 0x24], eax
je 0x6e8c4a20
test edi, edi
mov ebx, dword [ebp - 0x20]
jne 0x6e8c4980
movsx ecx, byte [ebx + eax]
jmp 0x6e8c4984
lea ebx, [ecx - 0x30]
cmp ebx, 9
ja 0x6e8c4a90
mov bl, cl
add bl, 4
jmp 0x6e8c4999
movzx ebx, byte [ebp - 0xf]
inc eax
movzx ecx, byte [ebp - 0xe]
shl ebx, 4
shr cl, 2
or cl, bl
mov ebx, dword [ebp + 8]
mov byte [ebx + esi], cl
inc esi
cmp dword [ebp - 0x24], eax
jne 0x6e8c49d7
lea esi, [esi]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
test ecx, ecx
mov dword [eax], esi
je 0x6e8c4a35
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x6e8c4ad0
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
add esp, 0x1c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ebx, byte [ebp - 0x10]
movzx ecx, byte [ebp - 0xf]
shl ebx, 2
shr cl, 4
or cl, bl
mov ebx, dword [ebp + 8]
mov byte [ebx + esi - 1], cl
jmp 0x6e8c49d1
movzx ecx, byte [ebp - 0x10]
mov ebx, dword [ebp + 8]
shl cl, 2
mov byte [ebx + esi], cl
inc esi
jmp 0x6e8c49d1
cmp ecx, 0x2b
je 0x6e8c4af8
cmp ecx, 0x2f
je 0x6e8c4b00
cmp ecx, 0x3d
je 0x6e8c4a20
sub ecx, 9
cmp ecx, 0x17
ja 0x6e8c4ab7
mov ebx, 0x800013
shr ebx, cl
test bl, 1
jne 0x6e8c49d1
xor ebx, ebx
jmp 0x6e8c4999
mov dword [ebp - 0x28], 1
jmp 0x6e8c491a
add esp, 0x1c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x800013
shr eax, cl
test al, 1
jne 0x6e8c491a
jmp 0x6e8c48e5
mov bl, 0x3e
jmp 0x6e8c4999
mov bl, 0x3f
jmp 0x6e8c4999
mov eax, 0x7a
jmp 0x6e8c48ef
xor esi, esi
jmp 0x6e8c494f