Function at 0x4dcc30
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 0x4dcef0
test edi, edi
je 0x4dced0
xor ebp, ebp
cmp ebp, dword [esp + 0x50]
jge 0x4dcf62
lea esi, [esi]
lea edi, [edi]
cmp dword [esp + 0x1c], 0x4f
jg 0x4dcffc
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 0x4dcff0
cmp edi, 0x4f
jg 0x4dd060
mov ecx, dword [esp + 0x14]
mov byte [edi + ecx], bl
inc dword [esp + 0x1c]
inc edi
cmp ebx, 0x3d
je 0x4dd040
cmp esi, 0xf1
je 0x4dd010
cmp esi, 0xf0
je 0x4dd080
inc ebp
mov ecx, dword [esp + 0x50]
cmp ebp, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 4], ebp
je 0x4dcf90
cmp esi, 0xf2
je 0x4dcfd0
cmp edi, 0x3f
jle 0x4dcf54
cmp esi, 0xf2
je 0x4dcd4e
mov dword [esp + 0x18], 1
test edi, edi
jle 0x4dcf1b
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 0x4dceb0
cmp esi, 3
jle 0x4dcdb0
xor ebx, ebx
mov bl, byte [ecx + esi - 1]
and ebx, 0x7f
mov al, byte [ebx + 0x5045a0]
or eax, 0x13
cmp al, 0xf3
jne 0x4dcdb0
dec esi
cmp esi, 3
jg 0x4dcd85
jmp 0x4dcdb0
test esi, 3
mov eax, 0xffffffff
jne 0x4dce97
mov dword [esp + 0xc], 0
cmp dword [esp + 0xc], esi
jge 0x4dce93
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 0x4dd0aa
test bl, bl
js 0x4dd0aa
test dl, dl
js 0x4dd0aa
mov eax, edi
test al, al
js 0x4dd0aa
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 0x4dcde0
mov eax, dword [esp + 8]
xor edi, edi
test eax, eax
mov edx, eax
js 0x4dcef0
mov ecx, eax
sub ecx, dword [esp + 0x24]
add dword [esp + 0x20], ecx
jmp 0x4dcf30
inc ecx
xor edx, edx
mov dl, byte [ecx]
and edx, 0x7f
dec esi
cmp byte [edx + 0x5045a0], 0xe0
jne 0x4dcd80
test esi, esi
jg 0x4dceb0
jmp 0x4dcd80
xor eax, eax
mov ecx, dword [esp + 0x4c]
mov al, byte [ecx]
and eax, 0x7f
cmp byte [eax + 0x5045a0], 0xf2
jne 0x4dcc87
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 0x4dcf41
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x4dcef0
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
test eax, eax
mov dword [ebx + 4], edx
jns 0x4dcef0
add dword [esp + 0x44], edx
mov ebp, dword [esp + 4]
cmp ebp, dword [esp + 0x50]
jl 0x4dcca0
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 0x4dcfa4
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x4dcd29
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 0x4dcfd0
inc dword [esp + 0x24]
nop
lea esi, [esi]
test edi, 3
je 0x4dcd4e
jmp 0x4dcd35
cmp esi, 0xff
jne 0x4dccef
mov edx, 0xffffffff
jmp 0x4dcef2
mov ebx, dword [esp + 0x18]
lea edx, [ebp + 1]
test ebx, ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 4], edx
je 0x4dcd10
mov ebp, dword [esp + 4]
jmp 0x4dcf58
cmp dword [esp + 0x28], 0xffffffff
je 0x4dd050
inc dword [esp + 0x24]
jmp 0x4dccf8
inc dword [esp + 0x24]
mov dword [esp + 0x28], edi
jmp 0x4dccf8
push eax
push str.n____int_sizeof_ctx__enc_data_
push 0x106
push str..cryptoevpencode.c
call fcn.0046fd10
add esp, 0x10
jmp 0x4dcce3
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x1c], 0
je 0x4dcd10
inc ebp
mov dword [esp + 4], ebp
mov ebp, dword [esp + 4]
mov dword [esp + 0x18], 0
jmp 0x4dcf58
mov eax, 0xffffffff
jmp 0x4dce97