Function at 0xa08396
Capabilities:
Encode data using base64
Encrypt data using aes mixcolumns step
Manually build aes constants

Disassembly:
xor ebx, edx
add esi, edx
shr al, 6
or ax, cx
mov ebp, dword [ebp]
call fcn.0096f958
invalid
rol edx, 2
rol eax, 0x6b
movzx ecx, al
sbb cl, ah
lea edx, [eax + edx + 0x712fd2e]
not ecx
cwde
neg edx
dec edx
inc eax
btr ecx, ecx
rol edx, 1
rol ecx, 0x7a
sal ecx, 0x74
inc edx
neg al
jno 0x73d2f9
and esi, dword [ecx + 0x26]
or bl, bl
into
mov esp, esp
pop ecx
mov bl, 0xbd
fisttp qword [esi]
cdq
mov bl, 0xbd
jns 0x76f173
xor dword [ebx + 0x6a69f3bd], esi
fnstenv [ebx - 0x17f60c43]
jns 0x76f186
mov ebp, 0x119a51f3
mov bl, 0xbd
lea eax, [edx - 0x2f]
mov bl, 0xbd
invalid
xor ecx, 0xe737861a
xor ebx, ecx
ror edx, 0x25
jae 0xca6c2d
imul eax
lea edi, [edi + edx - 0x107ae8a]
pop eax
xchg dl, al
not edx
mov word [eax + edi - 0x162f7588], cx
push eax
pop eax
jb fcn.008360bb
bts eax, 0x91
inc eax
adc edi, 8
mov dword fs:[edx], ecx
movsx edx, al
push eax
xor word [esp + 1], 0x40b2
pop eax
jmp esi
mov edx, 0xce032fa0
rol dl, 0x43
mov ecx, dword [edi - 4]
btc dx, dx
xor ecx, ebx
movzx eax, dl
lea ecx, [edx + ecx + 0x2b083568]
ror ecx, 1
bswap eax
rol al, 0xa3
sar edx, 0xd2
dec ecx
ror al, 0x87
mul eax
not ecx
sar edx, 0xe4
xor ebx, ecx
xor dl, dh
adc esi, ecx
movzx cx, byte [edx + ebp - 0x559090]
mov dl, byte [edx + ebp - 0x55908e]
or al, al
not cl
adc al, 0x1b
not dl
bts eax, eax
rol eax, 0xa1
and cl, dl
mov word [ebp + eax*2 - 0x2000006a], cx
shr eax, 0x75
mov edx, eax
mov cx, word [ebp + eax*2 - 0xfe]
call fcn.00cb4d13
mov eax, 0x49003d23
lea ebp, [ebp + eax - 0x49003d27]
mov eax, dword [eax + ebp - 0x49003d23]
push 0xa8a84e3d
mov ecx, dword [esp]
jmp 0x980314
xor eax, ebx
lea edx, [ecx + ecx + 0x1408cf8e]
sar word [esp + edx - 0x65596c08], 0x27
inc eax
and byte [esp + edx - 0x65596c06], 9
rol eax, 1
xor eax, 0xb096423a
lea ecx, [edx + edx - 0x1efa59db]
shl dword [esp + edx - 0x65596c08], 9
bswap eax
pop ecx
dec eax
neg cx
bt dx, 0x83
jb 0xc97fc0
mov eax, 0x3db5e337
mov ch, 0x3d
sal eax, cl
mov dword [edi + eax - 0x33700000], edx
movzx edx, cl
xchg ecx, eax
inc al
lea ebp, [ebp + ecx - 0x33700004]
bswap ecx
lea eax, [ecx*2 + 0x3c2d45ab]
mov ecx, dword [ebp + ecx - 0x7033]
dec eax
xor ecx, ebx
ror dx, 0xa8
bswap ecx
setae dl
xor ecx, 0xa10f5d9d
xadd eax, edx
dec dl
lea ecx, [edx + ecx + 0x90fae94]
jle 0x8cf9cb
mov eax, dword [0xfed0c10f]
retf 0x8c8d
dec dword [edi]
xchg dword [eax + eax*8 - 0x3ecd000e], esp
ja 0x8ac450
xor al, cl
push cs
popfd
movsb byte es:[edi], byte [esi]
int1
or edx, ebp
push ds
mov al, byte [0x90887300]
pop es
add al, 0x2b
add eax, 0x35bd9a63
in eax, dx
pop es
insd dword es:[edi], dx
je 0x98035a
push esp
push 3
add byte [ecx - 0x2b], cl
xchg ebx, eax
xchg esi, eax
jns 0x9803a5
in al, 0x2c
sub bl, bl
jge 0x980393
sbb ah, bl
or bl, byte [ecx]
lea edi, [eax - 0x4042706c]
jecxz 0x98041a
in al, dx
mov dh, 0x7a
mov dword [0x560db1dc], eax
sar dword [ecx - 0x411e3f80], 1
idiv dword [edx - 0x50]
mov bh, 0x6e
in al, dx
xor byte [eax - 0x2beab0e7], 0x87
fldenv [0x7463f0d3]
fisubr dword [ecx - 0xb]
inc esp
fstp qword [esi]
pop ecx
bound ecx, qword [esi - 0x69a960e]
dec eax
cmp byte [eax - 0x22], ch
or byte [ebx + 0x17], ch
jge 0x9803bb
imul edx, dword [edi], 0x7d
popfd
jns 0xfea0b20f
push ecx
cld
add dword [edi - 0x39], esp
int3
mov dword [esp], 0xbaa767a5
xor dword [esp], edx
xor ecx, edx
neg ecx
shl dword [esp], 0xb0
adc ecx, edx
bswap ecx
imul eax, dword [esp]
xor eax, 0xa62619b6
xor ecx, edx
rol ecx, 1
mul dword [esp]
push edx
lea ecx, [eax + ecx - 0x681a1b20]
setb byte [esp + eax - 0x19fbfffb]
xor ebx, ecx
sub dword [esp + edx - 0x6bf6c68f], 0x178ac5b1
xchg dword [esp + eax*4 - 0x67efffff], eax
add edi, ecx
sub eax, 0x6d84e5b2
pop edx
btc ax, dx
mov edx, dword [eax + ebp - 0x8216016]
push eax
call fcn.00944cd6
mov ebp, 0x322ad533
inc esp
movzx esi, bp
dec ebp
lea edx, [edx + ebp*2 - 0x6455aa6a]
inc ecx
bswap esi
inc ecx
mov ebx, dword [edx + ebp - 0x322ad533]
inc ecx
mov eax, esi
inc ecx
xor ebx, esp
inc esp
movzx eax, ax
dec esp
lea ecx, [eax*8 - 0x396948d7]
dec eax
imul ebp
bswap ebx
cwd
inc ebx
dec ebp
bts eax, ecx
dec esp
lea edi, [ebp*4 - 0x79cfde55]
dec esi
lea ebp, [eax*8 - 0x2fcda76c]
ror ebx, 1
lea ebx, [ebx + edx - 0x500d689d]
inc ecx
movzx esi, bh
neg ebx
inc ecx
push esp
inc ecx
shr ch, 0xe5
neg si
inc ecx
sal eax, 0xdc
xor dword [esp + ebp - 0x322ad533], ebx
inc ecx
rol ecx, 0x44
inc ecx
pop esp
inc ecx
push ebp
inc bp
btr ebp, esi
dec eax
shr eax, 0x9a
dec eax
arpl bx, bx
inc ecx
ror bh, 0x65
inc eax
or ch, 0xa1
dec esp
adc ebx, ebx
dec ebp
lea edx, [edx + ebp*2 - 0x6455ab68]
shr dl, 0x63
inc ebx
movzx ebx, word [edx + eax*2]
dec eax
cwde
inc cx
xor ebx, esp
add bx, 0xd032
dec eax
idiv ebp
ror bx, 1
inc ecx
inc dh
dec eax
and edx, 0x97bc1d23
dec ecx
bt ebp, 0xb0
inc cx
adc ebx, esi
ror bx, 1
inc ecx
ror ecx, 0x27
inc sp
xor esp, ebx
dec eax
lea edi, [edi + ebp*2 - 0x6455ab68]
dec eax
shr dword [esp + ebp - 0x322ad5b3], 0x56
call fcn.007e858e
jmp 0x933f69
xor ebx, eax
xchg ecx, edx
not ecx
dec ecx
add esi, eax
sar ecx, 0x88
mov eax, 0x329182bf
or eax, 0x9610872d
mov edx, dword [edi + ecx*2 + 0xcab2da]
mov ecx, dword [edi + ecx + 0x655971]
jnp 0x8f32ce
mov eax, 0xad8c1898
mov edx, eax
bt ax, ax
sbb edi, 4
mov edx, dword [edi]
add ax, ax
xor edx, ebx
or eax, eax
jne 0x76f183
btr edx, 1
adc esi, ecx
push eax
shl word [esp + eax - 0x3c2eda0e], 0xcc
pop ecx
jae fcn.00ca4448
mov edx, dword [edi]
mov eax, 0x7a82c11f
mov cl, byte [edi + eax - 0x7a82c11b]
rol eax, 0xeb
add al, 9
idiv al
lea edi, [edi + eax*2 - 0x2c11ee3a]
sal edx, cl
movsx ecx, al
bts eax, ecx
mov dword [edi + eax - 0x5608f71e], edx
sbb ecx, 0x31319a9c
movsx edx, cx
lea ebp, [ebp + edx*2 - 0xcb08]
sar cl, 0x83
inc dx
bt ecx, eax
mov eax, dword [ebp + edx*4 - 0x1960c]
shl cl, 0x21
xor eax, ebx
ror eax, 1
and edx, ecx
xor dl, dl
shl edx, 0x2c
neg eax
rol eax, 1
xor eax, 0x9d86919a
xor ebx, eax
neg cl
xadd edx, ecx
sal dx, 0xaa
adc esi, eax
lea edx, [ecx + 0x24148ea8]
jmp esi