Function at 0x5beec4
Capabilities:
Encode data using base64

Disassembly:
movzx edx, word [esp + ecx - 0x40000002]
lea edi, [edx + edi - 6]
or cx, dx
movsx eax, word [esp + ecx - 0x40000002]
not byte [esp + edx*4 - 6]
mov edx, dword [edi + ecx - 0x40000002]
setnp cl
ror cx, cl
jo 0x6143b8
dec ecx
sub ebp, 8
mov esi, dword [esp + 1]
inc edx
mov dword [esi + ebp - 0x309c8c], eax
and dword [esp + esi*2 - 0x613920], esi
inc esp
movzx ecx, dh
inc ecx
mov dword [ebp + esi*2 - 0x613920], edx
dec ebp
lea ebx, [ebx + esi*2 - 0x613924]
inc edx
mov esi, dword [esi + ebx - 0x309c90]
inc ebp
mov esi, ecx
inc ecx
xor esi, edi
inc ecx
pop edx
inc ecx
movzx edx, dh
not esi
imul dx, dx
inc edx
lea esi, [esi + edx*2 + 0x5e12ee6e]
inc ebp
movsx eax, cl
jno 0x58eb68
xor esi, 0x13bfb1b6
inc ecx
mov ebp, eax
ror esi, 3
inc ecx
push edi
inc edx
xor dword [esp + ecx*2 - 0x120], esi
dec eax
shl ebp, 0xd7
inc ecx
adc ebp, ecx
dec eax
shl edx, 0x65
inc ecx
pop edi
dec eax
arpl si, si
not dx
dec esp
adc esp, esi
bts dx, 0xbc
jb fcn.00656530
dec eax
inc dword [esp + esi - 0x120d7]
dec esp
mov dword [eax + esi - 0x120df], esi
pop esi
dec eax
shr edi, cl
call fcn.005c3264
inc ecx
sub cl, 0xb5
dec eax
dec dword [esp + ecx*2 - 0x1d4de]
inc ecx
and bl, al
inc ecx
neg cl
inc esp
movzx esi, byte [esp + ecx - 0xea67]
inc ecx
sub cl, 4
inc ebp
movsx edx, dh
inc eax
xadd bl, ch
inc ecx
xor cl, 0x3b
inc ebp
xor bh, cl
sar dword [esp + ecx - 0xea66], 4
inc bp
sbb edx, edx
mov eax, dword [esp + ecx - 0xea67]
dec esi
lea ecx, [esp + ecx + 0x28]
and dword [esp + ecx*4 - 0x3a9cc], ebx
inc cx
mov ebp, dword [ecx + ecx*2 - 0x1d4f0]
inc esp
movsx ecx, word [esp + ecx*4 - 0x3a9ca]
dec ecx
btc eax, edi
dec eax
mov dword [esp + ecx*8 - 0x753a0], 0xf1bf3c30
dec ebp
lea ebp, [ebp + ecx - 0xea7a]
inc cx
mov dword [ebp + ecx*2 - 0x1d4f0], ebp
movzx ebp, bx
pop ecx
inc ecx
pop eax
inc ecx
pop eax
pop ecx
pop ebp
jae fcn.00656530
mov ecx, 0x739a47af
lea edx, [ecx + ecx*2 + 0x648e00a6]
xor ecx, ecx
mov ax, word [esi + ecx*2]
sal edx, 0x98
setne dl
setb cl
lea esi, [esi + ecx*2]
rol cx, 0x6d
seta dl
jp 0x5e6dd3
lea edi, [ecx + edi - 0x2001]
imul cx, dx
add ecx, ecx
movzx edx, byte [ecx + edi - 0x4000]
xor dl, bl
bswap ecx
inc dl
rol cl, 0x21
neg dl
bswap ecx
dec dl
neg ecx
imul ecx, ecx
dec cx
xor dl, 0x96
imul cx, cx
xor bl, dl
add edx, esp
imul ecx, ecx
rol ecx, cl
mov byte [edx + ecx - 0x40000002], al
push ecx
jae 0x55dbf9
dec edx
lea ebx, [edx*2 + 0x46ac511e]
dec esp
mov dword [esp + ebp*2 - 0x52100b78], edi
inc esi
xor dword [esp + esi*2 - 0x1fe84], eax
inc ecx
pop edi
dec ebp
arpl ax, ax
sub bx, 0xcb09
dec esi
lea ecx, [edi + edx - 0x305e4a4b]
dec ebp
add esp, eax
dec eax
xor ebx, 0xc986302d
dec edi
lea eax, [ecx + edx*8 - 0x71c72773]
inc bx
movzx eax, byte [esi + ebp - 0xff42]
inc ebp
mov cl, byte [ebp + ebp - 0x290805ba]
dec edi
lea ebp, [ebp + esi - 0xff40]
inc ecx
or al, cl
bts bx, 0x13
inc cx
btc edx, 0xa6
and dx, 0x9b3
not al
rol bl, 0xe4
inc cx
mov dword [ebp + ebp*2 - 0x52100b78], eax
jne 0x616c2a
salc
push ds
mov ebx, ebx
sbb ebx, ebx
ja 0x5e6ee9
mov dword [ecx - 0x2d], 0xfe903fe
iretd
xor edx, ebx
bswap edx
sub eax, eax
dec edx
bswap edx
or ecx, ecx
ror cl, 0xc3
call fcn.00584e67
xchg edi, edi
push ebp
dec esi
mov dword [esp + esi*2 - 0x1fe84], esp
ret