Function at 0xbf7e2a
Capabilities:
Encode data using base64

Disassembly:
lea ebp, [ebp + edx - 0x10001]
shl edx, 0x29
btr dx, dx
shl cl, 6
mov word [ebp + edx - 0x1fffe00], ax
xadd dword [esp + edx - 0x1fffe00], edx
lea edi, [edi + edx - 0x10003]
mov eax, dword [edx + edi - 0xffff]
add ecx, ecx
shl ecx, 0x26
btr ecx, ecx
xor eax, ebx
bswap eax
imul ecx, dword [esp + edx*2 - 0x1fffe]
dec eax
ror eax, 1
and ecx, 0x4a9f048f
lea eax, [eax + ecx*8 + 0x6ea1ab8e]
neg eax
bts edx, edx
and dword [esp + ecx*4 - 0x287c0000], 0xf8833336
ror eax, 3
btr ecx, 0xb2
btc ecx, ecx
xor eax, 0x9e26850e
call fcn.01169fe5
mov eax, 0xc71cc1a4
movzx dx, byte [esi]
cwde
mov ecx, eax
bt eax, eax
mov cl, byte [esi + 2]
and al, ah
not ax
adc dl, cl
mov ecx, eax
sub eax, eax
mov word [esi + eax*8 + 2], dx
shl ax, 0x63
movsx edx, cx
sal dx, 0x66
add eax, dword [eax + ebp - 4]
bt ecx, ecx
sar edx, 0xd5
xor eax, ebx
shl ecx, 0x9e
sbb eax, edx
sub edx, 0xc929a107
xor eax, 0xefaea507
push edx
sub dx, cx
dec dl
lea eax, [edx + eax + 0x65314a1e]
inc word [esp + edx - 0x36d65ef8]
neg word [esp + edx - 0x36d65ef7]
ror eax, 1
imul edx, ecx
bswap eax
adc byte [esp + edx*2 + 1], cl
xor ebx, eax
add edi, eax
jmp 0xb96db6
add dl, byte [ebp + edx - 5]
sub ebp, 5
bt ecx, ecx
lea ecx, [ecx + ecx*8 - 0xd7ffdf6]
xor dl, bl
or dword [esp], ecx
mov eax, ecx
sbb dl, 0xa2
neg dl
sar al, 0x81
neg dword [esp]
not dl
dec dl
xchg word [esp + 1], ax
xor bl, dl
btc ecx, ecx
sbb word [esp], cx
lea edx, [esp + edx + 4]
add ecx, ecx
add dword [esp + ecx - 0x65000c14], ecx
neg dword [esp + ecx - 0x65000c14]
movzx ax, byte [edx + ecx - 0x65000c14]
imul cx, cx
lea edx, [ecx + ecx*4 + 0x7e3be9b3]
jo 0xc79c78
mov edx, dword [esi]
mov ecx, 0x614fe04
mov eax, ecx
add ax, ax
lea esi, [esi + ecx*4 - 0x1853f80c]
xor edx, ebx
xor ecx, ecx
inc edx
not edx
sub eax, ecx
setb al
sbb edx, 0x87bde6b0
or eax, ecx
lea ecx, [eax + eax*4 + 0x62944537]
not ax
not edx
inc edx
rol ecx, cl
neg edx
inc edx
push eax
dec eax
xor edx, 0x5bae8b3a
ror edx, 1
shr al, 0x21
sub dword [esp + eax - 0x614037f], ecx
not edx
setle al
adc eax, 0x721fe68b
xor ebx, edx
add ebp, edx
dec ecx
mov edx, ecx
dec ax
mov edx, dword [eax + edi - 0x7833e987]
and dword [esp + eax - 0x7833e98b], 0x3ed212
mov ecx, dword [edi + eax - 0x7833e983]
sar ax, 0xaa
jp 0xc66d92
cmp esp, ebp
test edx, 0xff1ee220
mov ecx, 0x97054120
mov edx, dword [edi]
xor edx, ebx
mov dword [esp], ecx
movzx eax, word [esp]
lea edx, [edx + ecx - 0x6afd669e]
btc ecx, ecx
shl ecx, 0x93
push ecx
rol edx, 1
mov byte [esp + ecx - 0x907fffe], al
call fcn.01171df7
sub edi, 1
mov eax, 0xc326b635
movzx eax, byte [edi]
mov edx, 0x7d84e31d
movsx ecx, dl
xor al, bl
sar dl, 0xa5
sbb ecx, ecx
shl edx, 0x11
xor al, dl
btr ecx, edx
shl ecx, cl
sets dl
neg al
and cl, dh
not al
bts ecx, ecx
rol al, cl
shl edx, 0xa9
dec ecx
bts edx, 0x8c
not al
xadd cl, dh
not dx
adc al, 0x11
push edx
xor bl, al
or edx, edx
jge 0xb64942
sub esi, 4
mov ecx, dword [esi]
push 0x968bbb3e
mov edx, dword [esp]
push edx
xor ecx, ebx
xor ecx, 0x2d0d1100
bts dx, 0x21
dec dword [esp + 4]
movzx eax, word [esp + 3]
rol ecx, 1
inc ax
sub word [esp + eax - 0x3d95], dx
xchg dword [esp + eax*8 - 0x1ecb4], eax
lea ecx, [ecx + eax - 0x565de60c]
xadd dword [esp + 4], edx
neg dl
ror ecx, 1
pop edx
neg ax
and dl, ah
xor ebx, ecx
btr edx, edx
not al
not edx
add byte [esp + eax - 0x7833ff02], ah
rol dword [esp + eax - 0x7833ff05], 0x31
sub ax, 0x68b5
not ecx
shr eax, 8
push eax
sal eax, 0xf8
and edx, ecx
sal al, 0xe5
dec word [esp + 3]
movsx ecx, ax
mov dword [edi + ecx*2 + 8], edx
movzx edx, byte [esp + ecx + 4]
not eax
lea edi, [eax + edi - 0x69fffff7]
xor dl, 2
sar dx, 6
mov dword [esp + ecx], ebp
ret 4