Function at 0x4d47b0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x24
mov eax, dword [esp + 0x28]
push ebx
push ebp
push esi
xor esi, esi
mov dword [esp + 0x20], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d47c3
mov ebp, dword [esp + 0x38]
sub eax, edx
cmp eax, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x29], esi
mov byte [ebp], cl
jle 0x4d4ae7
mov bl, byte [esp + 0x2a]
push edi
jmp 0x4d47f0
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
xor dl, dl
xor ecx, ecx
cmp esi, eax
mov byte [esp + 0x2c], dl
jge 0x4d4ae6
mov edi, dword [esp + 0x38]
lea esp, [esp]
cmp ecx, 4
jge 0x4d488e
movsx eax, byte [esi + edi]
inc esi
cmp eax, 0x41
jl 0x4d4837
cmp eax, 0x5a
jg 0x4d4837
add eax, 0xffffffbf
cmp eax, 0xfffffffe
je 0x4d4888
cmp eax, 0xffffffff
je 0x4d487a
mov byte [esp + ecx + 0x2c], al
jmp 0x4d487f
cmp eax, 0x61
jl 0x4d4846
cmp eax, 0x7a
jg 0x4d4846
add eax, 0xffffffb9
jmp 0x4d4827
cmp eax, 0x30
jl 0x4d4855
cmp eax, 0x39
jg 0x4d4855
add eax, 4
jmp 0x4d4827
cmp eax, 0x2b
jne 0x4d4865
mov eax, 0x3e
mov byte [esp + ecx + 0x2c], al
jmp 0x4d487f
cmp eax, 0x2f
jne 0x4d4875
mov eax, 0x3f
mov byte [esp + ecx + 0x2c], al
jmp 0x4d487f
cmp eax, 0x3d
jne 0x4d4888
mov byte [esp + ecx + 0x2c], 0x40
mov bl, byte [esp + 0x2e]
mov dl, byte [esp + 0x2c]
inc ecx
cmp esi, dword [esp + 0x28]
jl 0x4d4810
cmp ecx, 4
mov dword [esp + 0x24], esi
jne 0x4d4a46
mov eax, dword [esp + 0x28]
mov ecx, esi
add ecx, 3
cmp ecx, eax
mov al, byte [esp + 0x2d]
jl 0x4d4983
shl dl, 2
cmp al, 0x40
mov byte [esp + 0x3d], 0
je 0x4d4a59
sar al, 4
or al, dl
mov byte [esp + 0x3c], al
lea eax, [esp + 0x3c]
mov ecx, eax
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d48d0
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d48e0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + 0x2d]
and ecx, 3
shl al, 4
cmp bl, 0x40
rep movsb byte es:[edi], byte [esi]
je 0x4d4a7b
mov dl, bl
sar dl, 2
or dl, al
lea eax, [esp + 0x10]
mov byte [esp + 0x10], dl
mov byte [esp + 0x11], 0
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d4920
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d4930
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + 0x2f]
and ecx, 3
cmp al, 0x40
rep movsb byte es:[edi], byte [esi]
je 0x4d4aaa
mov cl, bl
shl cl, 6
or cl, al
lea eax, [esp + 0x14]
mov byte [esp + 0x14], cl
mov byte [esp + 0x15], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d4968
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d4976
jmp 0x4d4a38
sar al, 4
shl dl, 2
or al, dl
mov byte [esp + 0x18], al
lea eax, [esp + 0x18]
mov byte [esp + 0x19], 0
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d49a0
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d49b0
mov dl, byte [esp + 0x2d]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, bl
sar cl, 2
shl dl, 4
or cl, dl
lea eax, [esp + 0x1c]
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d49e3
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d49f1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov al, bl
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x2f]
shl al, 6
or al, cl
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
mov byte [esp + 0x21], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d4a21
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d4a30
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x24], ecx
jl 0x4d47f0
jmp 0x4d4ae6
lea eax, [esp + 0x3c]
mov byte [esp + 0x3c], dl
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d4a63
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d4a71
jmp 0x4d4ad8
mov byte [esp + 0x3c], al
lea eax, [esp + 0x3c]
mov byte [esp + 0x3d], 0
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d4a90
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d4aa0
jmp 0x4d4ad8
shl bl, 6
lea eax, [esp + 0x3c]
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], 0
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d4ac0
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d4ad0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, ebp
xor ecx, ecx
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d4af0
sub eax, esi
mov dword [esp + 0x38], eax
je 0x4d4b20
nop
mov bl, byte [ecx + ebp]
mov dl, cl
add dl, 5
xor bl, dl
mov eax, ebp
mov byte [ecx + ebp], bl
inc ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d4b13
sub eax, esi
cmp ecx, eax
jb 0x4d4b00
pop esi
pop ebp
pop ebx
add esp, 0x24
ret