Function at 0x4dca10
Capabilities:
Encode data using base64

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x50]
mov edi, dword [ebp]
mov ebx, dword [esi + 0x58]
add ebp, 8
mov ecx, dword [edx + 0x5c]
test eax, eax
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ecx
je 0x4dccd0
test edi, edi
je 0x4dccb0
xor ebp, ebp
cmp ebp, dword [esp + 0x50]
jge 0x4dcd42
lea esi, [esi]
lea edi, [edi]
cmp dword [esp + 0x1c], 0x4f
jg 0x4dcddc
mov eax, dword [esp + 0x4c]
xor ebx, ebx
mov bl, byte [eax]
mov esi, ebx
and esi, 0x7f
mov dl, byte [esi + 0x5045a0]
and edx, 0xff
mov esi, edx
or edx, 0x13
inc eax
cmp edx, 0xf3
mov dword [esp + 0x4c], eax
je 0x4dcdd0
cmp edi, 0x4f
jg 0x4dce40
mov ecx, dword [esp + 0x14]
mov byte [edi + ecx], bl
inc dword [esp + 0x1c]
inc edi
cmp ebx, 0x3d
je 0x4dce20
cmp esi, 0xf1
je 0x4dcdf0
cmp esi, 0xf0
je 0x4dce60
inc ebp
mov ecx, dword [esp + 0x50]
cmp ebp, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 4], ebp
je 0x4dcd70
cmp esi, 0xf2
je 0x4dcdb0
cmp edi, 0x3f
jle 0x4dcd34
cmp esi, 0xf2
je 0x4dcb2e
mov dword [esp + 0x18], 1
test edi, edi
jle 0x4dccfb
mov esi, dword [esp + 0x44]
mov dword [esp + 0x10], esi
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 8], 0
mov bl, byte [ecx]
and ebx, 0x7f
cmp byte [ebx + 0x5045a0], 0xe0
mov esi, edi
je 0x4dcc90
cmp esi, 3
jle 0x4dcb90
xor ebx, ebx
mov bl, byte [ecx + esi - 1]
and ebx, 0x7f
mov al, byte [ebx + 0x5045a0]
or eax, 0x13
cmp al, 0xf3
jne 0x4dcb90
dec esi
cmp esi, 3
jg 0x4dcb65
jmp 0x4dcb90
test esi, 3
mov eax, 0xffffffff
jne 0x4dcc77
mov dword [esp + 0xc], 0
cmp dword [esp + 0xc], esi
jge 0x4dcc73
lea esi, [esi]
lea edi, [edi]
xor eax, eax
mov al, byte [ecx]
and eax, 0x7f
mov bl, byte [eax + 0x5045a0]
xor edx, edx
and ebx, 0xff
mov dl, byte [ecx + 1]
xor eax, eax
and edx, 0x7f
mov ebp, ebx
mov al, byte [ecx + 2]
xor ebx, ebx
and eax, 0x7f
mov bl, byte [edx + 0x5045a0]
xor edx, edx
mov dl, byte [eax + 0x5045a0]
xor eax, eax
mov al, byte [ecx + 3]
and eax, 0x7f
mov al, byte [eax + 0x5045a0]
and eax, 0xff
mov edi, eax
mov eax, ebp
add ecx, 4
test al, al
js 0x4dce8a
test bl, bl
js 0x4dce8a
test dl, dl
js 0x4dce8a
mov eax, edi
test al, al
js 0x4dce8a
mov eax, ebp
shl ebx, 0xc
shl eax, 0x12
or eax, ebx
shl edx, 6
or eax, edx
or eax, edi
mov ebx, eax
mov edx, eax
mov edi, dword [esp + 0x10]
shr ebx, 0x10
shr edx, 8
mov byte [edi], bl
mov byte [edi + 1], dl
mov byte [edi + 2], al
add dword [esp + 0xc], 4
add edi, 3
mov dword [esp + 0x10], edi
add dword [esp + 8], 3
cmp dword [esp + 0xc], esi
jl 0x4dcbc0
mov eax, dword [esp + 8]
xor edi, edi
test eax, eax
mov edx, eax
js 0x4dccd0
mov ecx, eax
sub ecx, dword [esp + 0x24]
add dword [esp + 0x20], ecx
jmp 0x4dcd10
inc ecx
xor edx, edx
mov dl, byte [ecx]
and edx, 0x7f
dec esi
cmp byte [edx + 0x5045a0], 0xe0
jne 0x4dcb60
test esi, esi
jg 0x4dcc90
jmp 0x4dcb60
xor eax, eax
mov ecx, dword [esp + 0x4c]
mov al, byte [ecx]
and eax, 0x7f
cmp byte [eax + 0x5045a0], 0xf2
jne 0x4dca67
nop
lea esi, [esi]
xor edx, edx
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov dword [esi], eax
mov ecx, dword [esp + 0x1c]
mov dword [ebp], edi
mov edi, dword [esp + 0x18]
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x5c], edi
add esp, 0x2c
pop ebx
pop esi
pop edi
mov eax, edx
pop ebp
ret
mov dword [esp + 0x24], 1
xor edx, edx
lea esi, [esi]
lea edi, [edi]
mov ebp, dword [esp + 0x40]
cmp dword [ebp + 4], edx
jle 0x4dcd21
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x4dccd0
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
test eax, eax
mov dword [ebx + 4], edx
jns 0x4dccd0
add dword [esp + 0x44], edx
mov ebp, dword [esp + 4]
cmp ebp, dword [esp + 0x50]
jl 0x4dca80
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov dword [esi], eax
mov ecx, dword [esp + 0x1c]
mov dword [ebp], edi
mov edi, dword [esp + 0x18]
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x5c], edi
add esp, 0x2c
pop ebx
pop esi
mov edx, 1
pop edi
mov eax, edx
pop ebp
ret
test edi, 3
je 0x4dcd84
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x4dcb09
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + edi - 1]
cmp al, 0x3d
sete dl
and edx, 0xff
mov dword [esp + 0x24], edx
cmp byte [ebx + edi - 2], 0x3d
mov esi, 0xf2
jne 0x4dcdb0
inc dword [esp + 0x24]
nop
lea esi, [esi]
test edi, 3
je 0x4dcb2e
jmp 0x4dcb15
cmp esi, 0xff
jne 0x4dcacf
mov edx, 0xffffffff
jmp 0x4dccd2
mov ebx, dword [esp + 0x18]
lea edx, [ebp + 1]
test ebx, ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 4], edx
je 0x4dcaf0
mov ebp, dword [esp + 4]
jmp 0x4dcd38
cmp dword [esp + 0x28], 0xffffffff
je 0x4dce30
inc dword [esp + 0x24]
jmp 0x4dcad8
inc dword [esp + 0x24]
mov dword [esp + 0x28], edi
jmp 0x4dcad8
push eax
push 0x531070
push 0x106
push 0x53105a
call fcn.0046faf0
add esp, 0x10
jmp 0x4dcac3
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x1c], 0
je 0x4dcaf0
inc ebp
mov dword [esp + 4], ebp
mov ebp, dword [esp + 4]
mov dword [esp + 0x18], 0
jmp 0x4dcd38
mov eax, 0xffffffff
jmp 0x4dcc77