Function at 0x4dbec0
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 0x4dc180
test edi, edi
je 0x4dc160
xor ebp, ebp
cmp ebp, dword [esp + 0x50]
jge 0x4dc1f2
lea esi, [esi]
lea edi, [edi]
cmp dword [esp + 0x1c], 0x4f
jg 0x4dc28c
mov eax, dword [esp + 0x4c]
xor ebx, ebx
mov bl, byte [eax]
mov esi, ebx
and esi, 0x7f
mov dl, byte [esi + 0x5035a0]
and edx, 0xff
mov esi, edx
or edx, 0x13
inc eax
cmp edx, 0xf3
mov dword [esp + 0x4c], eax
je 0x4dc280
cmp edi, 0x4f
jg 0x4dc2f0
mov ecx, dword [esp + 0x14]
mov byte [edi + ecx], bl
inc dword [esp + 0x1c]
inc edi
cmp ebx, 0x3d
je 0x4dc2d0
cmp esi, 0xf1
je 0x4dc2a0
cmp esi, 0xf0
je 0x4dc310
inc ebp
mov ecx, dword [esp + 0x50]
cmp ebp, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 4], ebp
je 0x4dc220
cmp esi, 0xf2
je 0x4dc260
cmp edi, 0x3f
jle 0x4dc1e4
cmp esi, 0xf2
je 0x4dbfde
mov dword [esp + 0x18], 1
test edi, edi
jle 0x4dc1ab
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 + 0x5035a0], 0xe0
mov esi, edi
je 0x4dc140
cmp esi, 3
jle 0x4dc040
xor ebx, ebx
mov bl, byte [ecx + esi - 1]
and ebx, 0x7f
mov al, byte [ebx + 0x5035a0]
or eax, 0x13
cmp al, 0xf3
jne 0x4dc040
dec esi
cmp esi, 3
jg 0x4dc015
jmp 0x4dc040
test esi, 3
mov eax, 0xffffffff
jne 0x4dc127
mov dword [esp + 0xc], 0
cmp dword [esp + 0xc], esi
jge 0x4dc123
lea esi, [esi]
lea edi, [edi]
xor eax, eax
mov al, byte [ecx]
and eax, 0x7f
mov bl, byte [eax + 0x5035a0]
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 + 0x5035a0]
xor edx, edx
mov dl, byte [eax + 0x5035a0]
xor eax, eax
mov al, byte [ecx + 3]
and eax, 0x7f
mov al, byte [eax + 0x5035a0]
and eax, 0xff
mov edi, eax
mov eax, ebp
add ecx, 4
test al, al
js 0x4dc33a
test bl, bl
js 0x4dc33a
test dl, dl
js 0x4dc33a
mov eax, edi
test al, al
js 0x4dc33a
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 0x4dc070
mov eax, dword [esp + 8]
xor edi, edi
test eax, eax
mov edx, eax
js 0x4dc180
mov ecx, eax
sub ecx, dword [esp + 0x24]
add dword [esp + 0x20], ecx
jmp 0x4dc1c0
inc ecx
xor edx, edx
mov dl, byte [ecx]
and edx, 0x7f
dec esi
cmp byte [edx + 0x5035a0], 0xe0
jne 0x4dc010
test esi, esi
jg 0x4dc140
jmp 0x4dc010
xor eax, eax
mov ecx, dword [esp + 0x4c]
mov al, byte [ecx]
and eax, 0x7f
cmp byte [eax + 0x5035a0], 0xf2
jne 0x4dbf17
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 0x4dc1d1
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x4dc180
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
test eax, eax
mov dword [ebx + 4], edx
jns 0x4dc180
add dword [esp + 0x44], edx
mov ebp, dword [esp + 4]
cmp ebp, dword [esp + 0x50]
jl 0x4dbf30
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 0x4dc234
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x4dbfb9
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 0x4dc260
inc dword [esp + 0x24]
nop
lea esi, [esi]
test edi, 3
je 0x4dbfde
jmp 0x4dbfc5
cmp esi, 0xff
jne 0x4dbf7f
mov edx, 0xffffffff
jmp 0x4dc182
mov ebx, dword [esp + 0x18]
lea edx, [ebp + 1]
test ebx, ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 4], edx
je 0x4dbfa0
mov ebp, dword [esp + 4]
jmp 0x4dc1e8
cmp dword [esp + 0x28], 0xffffffff
je 0x4dc2e0
inc dword [esp + 0x24]
jmp 0x4dbf88
inc dword [esp + 0x24]
mov dword [esp + 0x28], edi
jmp 0x4dbf88
push eax
push 0x52ff10
push 0x106
push 0x52fefa
call fcn.0046efa0
add esp, 0x10
jmp 0x4dbf73
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x1c], 0
je 0x4dbfa0
inc ebp
mov dword [esp + 4], ebp
mov ebp, dword [esp + 4]
mov dword [esp + 0x18], 0
jmp 0x4dc1e8
mov eax, 0xffffffff
jmp 0x4dc127