Function at 0x4e98b0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x118
mov edx, dword [esp + 0x120]
mov dword [esp + 8], ecx
push ebx
xor ecx, ecx
push ebp
push esi
cmp edx, ecx
push edi
je 0x4e9aff
mov ebx, dword [esp + 0x12c]
cmp ebx, ecx
je 0x4e9aff
mov eax, 0xaaaaaaab
xor esi, esi
mul edx
shr edx, 1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
je 0x4e9a13
xor eax, eax
xor edx, edx
mov al, byte [esi + ebx]
mov dl, byte [esi + ebx + 1]
inc esi
mov edi, edx
inc esi
xor edx, edx
mov dl, byte [esi + ebx]
inc esi
mov ebp, edx
mov edx, eax
sar edx, 2
and edx, 0x3f
and eax, 3
shl eax, 4
mov dl, byte [edx + 0x65d9a0]
mov byte [esp + ecx + 0x20], dl
mov edx, edi
sar edx, 4
and edx, 0xf
and edi, 0xf
or edx, eax
inc ecx
shl edi, 2
mov al, byte [edx + 0x65d9a0]
mov edx, ebp
sar edx, 6
and edx, 3
mov byte [esp + ecx + 0x20], al
or edx, edi
inc ecx
and ebp, 0x3f
inc ecx
mov al, byte [edx + 0x65d9a0]
mov dl, byte [ebp + 0x65d9a0]
mov byte [esp + ecx + 0x1f], al
mov eax, dword [esp + 0x10]
mov byte [esp + ecx + 0x20], dl
mov edx, dword [esp + 0x18]
add eax, 4
inc ecx
mov dword [esp + 0x10], eax
cmp eax, dword [edx + 4]
jb 0x4e9991
mov byte [esp + ecx + 0x20], 0xd
inc ecx
mov dword [esp + 0x10], 0
mov byte [esp + ecx + 0x20], 0xa
inc ecx
cmp ecx, 0x100
jl 0x4e99c5
mov eax, dword [esp + 0x13c]
mov edx, dword [esp + 0x138]
push eax
push edx
lea eax, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x140]
push eax
call fcn.0056bf80
test al, al
je 0x4e9af0
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
inc eax
cmp eax, edx
mov dword [esp + 0x14], eax
jb 0x4e98fb
test ecx, ecx
je 0x4e9a13
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x138]
push edx
push eax
push ecx
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x144]
call fcn.0056bf80
test al, al
jne 0x4e9a11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x118
ret 0x14
xor ecx, ecx
mov eax, dword [esp + 0x130]
xor edx, edx
mov edi, 3
div edi
sub edx, 0
je 0x4e9aba
dec edx
je 0x4e9a85
dec edx
jne 0x4e9ac6
xor edx, edx
xor eax, eax
mov dl, byte [esi + ebx]
mov al, byte [esi + ebx + 1]
mov edi, edx
sar edx, 2
and edx, 0x3f
and edi, 3
shl edi, 4
mov dl, byte [edx + 0x65d9a0]
mov byte [esp + ecx + 0x20], dl
mov edx, eax
sar edx, 4
and edx, 0xf
inc ecx
or edx, edi
and eax, 0xf
inc ecx
mov dl, byte [edx + 0x65d9a0]
mov al, byte [eax*4 + 0x65d9a0]
mov byte [esp + ecx + 0x1f], dl
mov byte [esp + ecx + 0x20], al
inc ecx
mov byte [esp + ecx + 0x20], 0x3d
jmp 0x4e9ab9
xor eax, eax
mov al, byte [esi + ebx]
mov edx, eax
and eax, 3
sar edx, 2
and edx, 0x3f
inc ecx
shl eax, 4
mov dl, byte [edx + 0x65d9a0]
mov al, byte [eax + 0x65d9a0]
mov byte [esp + ecx + 0x1f], dl
mov byte [esp + ecx + 0x20], al
inc ecx
mov al, 0x3d
mov byte [esp + ecx + 0x20], al
inc ecx
mov byte [esp + ecx + 0x20], al
inc ecx
mov byte [esp + ecx + 0x20], 0xd
inc ecx
mov byte [esp + ecx + 0x20], 0xa
inc ecx
test ecx, ecx
je 0x4e9aff
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x138]
push edx
push eax
push ecx
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x144]
call fcn.0056bf80
test al, al
jne 0x4e9aff
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x118
ret 0x14
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x118
ret 0x14