Function at 0xd96c52
Capabilities:
Encode data using base64

Disassembly:
rol ecx, 1
pop eax
ror word [esp + edx*2 + 1], 0xa3
add ecx, eax
sar edx, 0x42
cwd
neg ecx
inc word [esp + edx - 0xffff]
ror ecx, 1
shl eax, 5
shl al, 0x62
jbe 0x8982b1
inc ecx
mov ecx, dword [edi]
dec ecx
add edi, 4
xor ecx, esi
inc ecx
mov eax, 0xba8db8b0
inc ecx
mov eax, eax
dec ecx
inc esp
mov ebp, eax
inc ebp
movzx esi, al
call fcn.00d7f206
dec edi
lea edi, [edi - 0xffc0]
inc sp
xor ecx, esi
movzx ebp, dx
dec ebp
xor eax, eax
shr eax, 0x74
inc cx
sbb ecx, 0xe9980e02
invalid
xor ebx, ecx
btc edx, edx
setb byte [esp]
shl dword [esp], 0x90
adc esi, ecx
mov ecx, 0x7b8ac712
cbw
mov eax, dword [ebp + ecx - 0x7b8ac70e]
mov word [esp + ecx - 0x7b8ac711], cx
jmp fcn.0093e57b
lea edi, [edi + edx*2 + 4]
mov ecx, 0xab9f3f2c
shl ecx, 0x4b
xor eax, ebx
neg cx
not eax
sar edx, 0x12
jp 0xa340fe
mov eax, 0xf5341c26
sub edi, 4
mov edx, dword [edi]
call fcn.00d69bf1
ror dx, 1
adc dx, 0x518e
not ecx
not edx
add eax, 0xbd84d930
ror edx, 0x3c
lea ecx, [eax + ecx - 0x23f3e322]
cwde
xor ebx, ecx
cwde
cbw
add esi, ecx
movsx ecx, al
rol ecx, cl
mov edx, dword [ebp + ecx*2 - 0x600000]
rol eax, 0x6d
rol eax, 0x5b
lea eax, [esp + ecx - 0x2fffb4]
or ecx, 0x7f10aab7
push ecx
mov dword [eax + ecx - 0x7f30aab7], edx
movzx edx, word [ecx + edi - 0x7f30aabd]
inc byte [esp + ecx - 0x7f30aab6]
pop eax
or ecx, 0xed3cfb20
lea edi, [edi + eax - 0x7f30abbd]
xor dx, bx
push eax
sub dx, 0x853f
xchg dword [esp + eax - 0x7f30abb7], ecx
push ecx
sar ecx, cl
ror dx, 1
xor dx, 0x9619
xchg ecx, eax
not cx
or dword [esp + eax - 0xfc], ecx
ror dx, 1
rol ax, cl
setb al
xor bx, dx
mov word [ebp + eax*4 - 0x3f7fe], dx
lea ebp, [eax + ebp - 0xfdfe]
mov dword [esp + eax - 0xfe00], esi
ret 4
sbb eax, 0x833b620b
bswap ecx
xor edx, edx
neg eax
sub dl, dl
bswap eax
dec edx
bswap edx
btc ecx, ecx
xor ebx, eax
btr ecx, 0xba
dec dl
adc ecx, 0x598945b2
adc esi, eax
movsx eax, dl
bswap edx
mov eax, dword [ebp + ecx - 0x5c2a3fab]
movzx dx, byte ss:[eax + ecx - 0x5c2a3fab]
movzx eax, cx
call fcn.009c9f63
mov ecx, dword [ebp]
mov edx, 0xb91e361a
movzx dx, byte [ecx]
mov eax, 0xd73a0c2f
bts eax, eax
not al
adc ebp, 2
lea ecx, [eax + eax*4 - 0x3452445c]
shl ax, 0xe3
jae 0x9ca28c
lea ecx, [eax*4 - 0x31c7abc9]
mov dword [ebp + eax - 0x7ffffffc], edx
cdq
mov ecx, dword [eax + edi - 0x80000000]
mov dword [esp + eax - 0x80000000], edx
not dl
xadd dl, ah
lea edi, [edi + eax - 0x7ffffffc]
lea eax, [edx + eax*2 - 0x26657862]
sbb edx, edx
rol edx, 0xe2
xor ecx, ebx
xor al, byte [esp + edx*2 + 5]
xadd word [esp + edx + 4], ax
jno 0x89090d
not eax
call fcn.00a438d9
inc ecx
mov ebp, 0x23abd716
inc edi
mov ecx, dword [edi + ebp*2 - 0x4757ae2c]
dec edi
lea edi, [ebp + edi - 0x23abd712]
inc ebp
movsx eax, ch
inc esp
xor ecx, esi
inc ecx
movzx edi, ax
call fcn.009a85c1
mov eax, dword [edi]
mov edx, 0xd3af8900
xor edx, edx
jp 0x8bfdc0
add esi, edx
lea edx, [eax*2 + 0x342e6fb0]
lea edi, [ecx + edi - 0x6ee3b512]
add ax, ax
inc eax
movzx ecx, byte [edi + edx*2 - 0x7b14dce4]
cwde
cdq
xor cl, bl
sub dl, al
sbb eax, edx
sub al, dh
sbb cl, 0x25
cdq
not ax
xor cl, 0x97
ror edx, 3
adc edx, 0x6b8f2436
rol cl, 1
btr dx, ax
adc edx, 0xaf0ce2a3
add dl, dl
xor cl, 0x33
or dx, dx
shr eax, 0xf1
push eax
sub cl, al
not dx
neg edx
xor cl, dl
rol byte [esp + eax*2 - 0xfffd], 0x41
neg cl
inc edx
setge dl
xor bl, cl
bts edx, 0x27
lea ebp, [eax + ebp - 0x8001]
btr edx, eax
mov word [ebp + eax*4 - 0x1fffc], cx
jb 0x9c6cab
mov eax, 0x35a49d39
cdq
or al, 0x1c
mov ecx, dword [eax + edi - 0x35a49d41]
xor ecx, ebx
sub ecx, 0xbb11b904
inc ax
cmovle eax, edx
bswap ecx
shl eax, 0x42
inc ecx
jmp 0x9d0107