Function at 0x88a159
Capabilities:
Encode data using base64

Disassembly:
dec eax
lea ebp, [eax + ebp - 0x3dbbdb92]
inc esp
movzx eax, ax
inc ecx
xor ebx, edx
dec ecx
xchg ecx, eax
inc ecx
mov ebx, 0x2904918b
inc ecx
mov edx, ebx
ror ebx, 3
dec ebx
dec eax
lea ecx, [eax*2 + 0x548243b3]
rol ebx, 1
lea ebx, [ebx + eax*2 + 0x4f3c8d5a]
inc ecx
inc ch
dec eax
cwde
inc ecx
push edx
xor dword [esp + eax - 0x3dbbdb96], ebx
dec esp
lea edi, [eax*8 - 0x1cd7077c]
inc ecx
pop edx
dec eax
xadd edx, ecx
dec eax
arpl bx, bx
inc cx
neg edi
dec eax
cwde
dec esp
add esp, ebx
inc ecx
not bh
dec eax
inc ebp
mov ebx, dword [eax + ebp - 0xdb96]
jp 0x9ddc47
ror word [esp + 2], 0xe9
sbb edi, 4
mov eax, dword [esp]
movzx edx, ax
mov ecx, dword [edi + eax - 0xb21532b]
cwde
push eax
add edx, eax
xor ecx, ebx
cbw
not ecx
xor edx, 0xb40012af
cwde
inc ecx
pop eax
bswap ecx
neg dword [esp + eax - 0x5327]
mov byte [esp + eax - 0x5328], 9
neg dword [esp + eax - 0x5327]
not ecx
cwde
sal dx, 0xa6
neg ecx
inc eax
or edx, dword [esp + eax*8 - 0x2995c]
neg dword [esp + eax*2 - 0xa654]
xor ebx, ecx
shl byte [esp + eax - 0x5326], 0x87
sub dx, 0x1e25
adc esi, ecx
mov dword [esp + eax - 0x532c], esi
ret 4
lea esp, [esp + 8]
call fcn.00a01f28
cwd
lea esi, [esi + eax - 0x5c103bd1]
xchg ah, al
adc dl, 0x86
shr edx, 0xd6
xor ecx, ebx
rol ax, 0xa1
sbb eax, edx
jns 0x8c60c7
shr cl, cl
rol al, 1
xor bl, al
push ecx
push edx
sub ebp, 2
dec cl
mov word [ebp], ax
bts dx, 1
inc edx
pop eax
sbb edi, 4
sub ax, 0xc624
cbw
xchg edx, eax
mov ecx, dword [edi]
jns 0x7bcce5
neg ecx
lea ecx, [ecx + eax + 0x39c2f21b]
add edx, edx
and edx, 0xb336eb1d
xor ebx, ecx
and eax, 0x1a270819
jge 0x87d6b9
mov eax, 0x8915819a
and byte [esp + 1], al
adc ebp, 2
shl eax, 0xa1
xchg dword [esp + eax - 0x122b0334], eax
adc byte [esp + eax*2 - 0x1da335fd], 0xa8
adc cx, dx
push eax
call fcn.0060d04d
xor cl, 0x3a
neg cl
neg edx
rol edx, 0x70
ror dl, 3
inc cl
or dl, byte [esp + 1]
sub byte [esp + 4], dh
not cl
not dx
xchg dword [esp + 4], edx
call fcn.00a75797
mov cl, byte [esi + 4]
add esi, 4
shr dword [esp + 8], 0x81
rol dword [esp + 8], 0xd2
shrd dx, ax, cl
mov eax, 0x9b3bee21
movzx ecx, al
mov word [esi + ecx - 0x21], dx
mov dword [esp + ecx*8 - 0x108], ebp
ret 8
pop edx
xor ecx, ebx
ror dx, 0x67
btr edx, edx
ror dword [esp], 0xb5
inc ecx
shl dl, 0x61
bswap ecx
ror ecx, 1
not ecx
push edx
dec edx
xor ebx, ecx
add esi, ecx
and dx, ax
mov ecx, dword [esp]
pop eax
pop ecx
jne fcn.0074c851
xor bl, dl
bts ax, 0x9a
cmovae cx, ax
lea edi, [edi + ecx - 0x140375b6]
xchg ch, al
shl ax, 0x2e
ror eax, cl
mov word [edi + ecx*2 - 0x28072968], dx
lea eax, [ecx*4 + 0xc01e905]
sal cl, 0xc4
mov ecx, dword [esi + ecx*2 - 0x28072880]
movzx edx, al
jne 0x67beab
movzx eax, dx
push eax
lea ecx, [ecx + edx + 0x322d6c06]
ror ecx, 1
lea edx, [edx*2 + 0x76b4cebd]
bts eax, edx
shr dword [esp + edx - 0x76c6d2bd], 0xb0
xor ecx, 0xdb8fda14
rol ecx, 3
pop eax
shr dl, 0xe5
sbb ecx, eax
dec eax
xadd dx, ax
ror ecx, 2
shr edx, 0xd4
xor ebx, ecx
btc edx, eax
sal edx, 1
cmovnp dx, ax
adc edi, ecx
cbw
sar eax, 0x28
jmp edi
and edx, edx
adc edi, ecx
mov eax, dword [ebp + edx - 4]
movzx ecx, dl
mov dl, byte [ebp + edx]
lea ebp, [ebp + ecx*2 - 2]
call fcn.00aa015f
xor ecx, ebx
jmp 0x86f919
sbb al, 0x3d
sub dx, dx
jge 0x72df0a
push ecx
mov ecx, 0xe9a62181
pushfd
and cl, ch
jb 0x6347ff
not ecx
sub ecx, 0xa3f99a3
call fcn.006347e8
mov eax, 0x3dbbdb96
dec eax
cwde
inc esp
movsx ebp, al
mov ebx, dword [ebp + eax - 0x3dbbdb96]
inc esp
mov ecx, eax
jmp 0x539a9d
rol dx, 0xc1
not ecx
mov dword [esp], edx
not eax
sar word [esp + 3], 0xc6
shr edx, 0x7e
btc dx, 0xbf
or ecx, eax
lea eax, [edx + edx*8 - 0x425bdef2]
not dx
mov dword [edx + edi - 0x7ffd], ecx
not dword [esp + edx*8 - 0x3ffe0]
movzx ecx, word [esp + edx - 0x7ff9]
mov eax, dword [edx + esi - 0x7ffd]
sal ecx, cl
ror dword [esp + edx*8 - 0x3ffe6], 0x6c
lea esi, [esi + edx - 0x7ff9]
xor eax, ebx
ror eax, 1
pop edx
jmp 0xad7a10
xor ecx, 0x7621d128
ror eax, 0xd8
lea ecx, [ecx + eax*8 + 0x4cda993f]
xor edx, edx
cdq
bswap ecx
xor al, al
btr edx, 0x8b
rol ecx, 2
cdq
xadd edx, eax
dec ecx
xor ebx, ecx
lea eax, [eax*4 - 0x4e64b3c6]
add ebp, ecx
jmp fcn.00653ab1
inc edx
inc ecx
movzx ebx, cl
dec eax
lea ebp, [ebp + eax*2 - 0x7b77b726]
inc cx
cmove edx, edi
inc ebp
xor ebx, edx
inc ecx
ror ebx, 2
shl cx, cl
push edx
inc ecx
dec ebx
inc ecx
neg ebx
inc esi
mov esi, dword [esp + ecx*2 - 0x7b77b728]
dec esp
btr eax, ebp
dec ecx
sal ebp, 0x65
inc ebp
lea ebx, [ebx + eax - 0x41f3c337]
dec esi
mov dword [esp + ecx*2 - 0x7b77b72c], edx
inc esp
xor dword [esp + eax - 0x3d3bdb95], ebx
inc ecx
shl cl, 6
inc ecx
inc edi
dec eax
xor edx, ebx
inc ecx
pop edx
dec ebp
sub esi, ecx
dec ecx
sar edi, 0x4d
call fcn.00525439
push ss
scasb al, byte es:[edi]
pop ebp
out dx, eax
fiadd dword [esi + 0x4b]
fsubr qword [ebp + 0x60]
invalid
sub eax, 0xf9a6f910
rol byte [esp + ecx - 0x80000000], 0xa1
xor ecx, dword [esp + ecx - 0x7ffffffc]
btr dx, dx
not eax
bswap eax
push edx
not eax
lea edx, [ecx + ecx*4 + 0x2931fa08]
bswap edx
call fcn.00610eb8
mov ecx, 0x57aad28b
xor ecx, ecx
movzx edx, byte [ecx + esi]
lea eax, [ecx*2 - 0x22f7687b]
lea esi, [esi + ecx*2 + 1]
xor dl, bl
dec al
dec dl
lea ecx, [ecx*8 + 0x4da31600]
not dl
neg dl
neg cl
inc dl
lea ecx, [ecx + ecx*2 + 0x2b1a33b4]
xor dl, 0x29
btc ax, cx
jae 0x85f1dd
call fcn.00ac8a16
mov ecx, 0xff9dd6a2
push ecx
mov eax, ecx
sub edi, 1
movzx eax, byte [edi]
lea edx, [ecx + ecx*8 - 0x4cf2ea7e]
not byte [esp]
rol dword [esp], 0x2f
xor al, bl
ror al, 1
xor dword [esp], edx
adc al, 0xb4
ror al, 1
and edx, edx
jle 0x87ddc0