Function at 0x99b6d5
Capabilities:
Encode data using base64
Encrypt data using aes mixcolumns step

Disassembly:
lea ebp, [ebp + eax - 0x38d0b804]
cmovbe eax, ecx
shl ecx, 0x22
mov ecx, dword [ecx + ebp - 0x1cbd1fc0]
not al
sal eax, 0xc6
jne 0x8212f5
mov ebx, 0x16129b15
inc ebx
add bx, 0x99b1
movzx ebx, byte [ecx + ebx*2 - 0x2c24698e]
jo 0x9756f2
xor ecx, ebx
ror ecx, 2
neg ecx
not ecx
neg eax
btr eax, eax
dec ecx
sar eax, 0xd6
movsx edx, al
ror ecx, 2
not ecx
bswap edx
xchg al, dl
or al, 0xa9
xor ebx, ecx
sub dl, ah
ror eax, 0x19
ror dl, 0xa1
adc esi, ecx
rol dl, 0x63
or eax, 0x899d00b2
jno fcn.00747049
ror byte [esp + 2], 0x62
shr eax, 8
not word [esp]
push 0x73923397
xor eax, ebx
ror dword [esp + 1], 0x77
inc ecx
xor eax, 0xa41f6916
dec edx
push 0xbd830bae
push 0x9194b1ac
lea esp, [esp + 0x10]
jne 0x7ac760
mov ecx, 0xdc089b84
lea edx, [ecx + ecx - 0x96f9157]
pop ebx
mov ecx, 0xe6a5c7af
movzx edx, cx
not eax
bt edx, ecx
add cx, 0xbf24
inc ecx
mov dword [edx + edi - 0xc7af], eax
sub ecx, ecx
lea esi, [esi + ecx*2 - 4]
not dl
lea eax, [edx*2 - 0x1258c265]
mov edx, dword [esi + ecx*2]
ror eax, 0x30
xor ecx, 0x148909aa
xor edx, ebx
push ecx
cbw
dec edx
sar cx, 0xa6
xor edx, 0x81016385
rol ecx, cl
ror edx, 1
and byte [esp + ecx - 0x22400984], ah
pop eax
not ax
sbb edx, 0xf08b8107
and ax, 0x2410
sbb cx, 0xa6aa
not edx
inc eax
setne al
xor ebx, edx
add ebp, edx
bts ecx, 0xaa
jmp ebp
xor bl, dl
bt cx, cx
and al, 0x24
add cx, 0x23a4
sbb edi, 2
neg ax
sar al, cl
sbb eax, 0x8c02eb14
mov word [eax + edi - 0x6dca15e8], dx
jp fcn.008ca50c
mov ebx, dword [ebx*4 + 0x766cec]
jnp 0x83291b
ror al, 0x81
adc edi, ecx
lea ecx, [eax + edx*2 - 0x135d0b4b]
dec word [esp + edx + 2]
sub ecx, dword [esp + edx]
mov ebp, dword [ebp + edx*4]
imul ax, word [esp + edx]
pop edx
jno fcn.0092c225
add byte [eax - 0x1cb9a0c1], cl
sbb edi, dword [edi]
mov byte [edi], bh
pop edi
inc esi
jecxz 0x91702e
aas
xchg ebp, eax
lodsd eax, dword [esi]
cwde
imul ebx, dword [esi], 0xffffffff
lea edi, [ebp - 0xe19464]
or ebp, 0xff1e6b98
int 0x88
sbb edi, dword ss:[edi - 0x121a7f01]
in eax, dx
inc eax
mov ebx, 0x1dcc536
mov al, 0xb1
jp 0x9170ad
jno 0x91700c
fisttp qword [edi - 0x4d]
inc edi
xchg esi, eax
or eax, 0x68e244d9
push cs
cmp eax, 0x68e244e1
cli
or ebp, eax
inc esp
loop 0x9170ba
mov eax, 0x94a1b2a2
rcr byte [ebp + 0x28c07a8d], 0x44
dec ebp
cmpsb byte [esi], byte es:[edi]
test edi, edi
js 0x9170d5
push ecx
cmpsb byte [esi], byte es:[edi]
test edi, edi
dec esp
add byte [0x8ff85a6], dl
imul edi, ebx, 0x650abf80
sub byte [esi + 0x40], dh
jl 0x91706a
or byte [edi + 1], al
sub eax, 0xcc7b092b
mov ecx, 0xb34f1419
inc edi
pop edi
ror byte [eax], 1
inc esp
loop 0x9170f7
wait
into
add byte [edx + 0x68], al
xlatb
retf 0x440c
mov byte [0xd7808d0f], al
xlatb
iretd
mov al, al
mov eax, 0x2f618b13
int3
sal dword [edi + 0x18], 9
imul eax, dword [eax - 0x2d], 0xffffffdf
invalid
dec ebp
jae 0x9170b1
sub al, 0x17
hlt
add cx, cx
dec eax
dec word [esp + ecx - 0x880e44a]
bts ecx, 9
xor eax, 0x7c26d339
xchg byte [esp + ecx - 0x880e64a], dh
rol dword [esp + ecx - 0x880e64c], cl
sar dword [esp + ecx - 0x880e64c], 0x18
bswap eax
or ecx, 0x28a230a3
dec byte [esp + ecx - 0x28a2f6ed]
inc eax
neg edx
ror eax, 3
push ecx
neg eax
xadd dword [esp + ecx - 0x28a2f6eb], edx
imul dx, cx
xor ebx, eax
not dx
or dx, dx
sar cl, 0xc1
add ebp, eax
and dword [esp + edx - 0xff7f6a], ecx
call fcn.00a444fb
mov eax, 0xd616d727
movsx ecx, ax
btr cx, ax
sbb ebp, 2
movzx edx, word [ebp]
xor dx, bx
rol ax, cl
sbb ecx, 0x2993013b
xor dx, 0x5d85
call fcn.008da363
mov edx, 0x49235233
push edx
lea esi, [esi + edx - 0x49235237]
mov ecx, dword [esi + edx - 0x49235233]
movsx eax, dx
xor ecx, ebx
ror eax, 0x13
lea ecx, [ecx + eax*4 - 0x175d6d1]
shr dword [esp + eax - 0xa466000], 0xe9
imul dword [esp + edx - 0x49235233]
neg ecx
sub byte [esp + eax - 0x24d55ffd], dh
inc ecx
dec eax
dec eax
push eax
neg ecx
imul edx, eax
shr edx, 0xdc
not edx
inc ecx
xor ebx, ecx
lea edi, [edi + eax*2 - 0x49aac000]
not word [esp + eax - 0x24d55ffe]
mov dword [edi + eax - 0x24d55ffe], ecx
push edx
sar word [esp + eax - 0x24d55ffb], 0xe3
lea ecx, [edx + 0x40a83897]
lea esi, [esi + eax*2 - 0x49aac000]
push edx
mov eax, dword [esi + eax - 0x24d55ffe]
sub dword [esp + ecx - 0x40a8387c], 0x21b4a5b4
add dword [esp + ecx - 0x40a83885], edx
xor dword [esp + ecx - 0x40a83885], 0x558cddb4
xor eax, ebx
shr dword [esp + ecx - 0x40a8387f], 0xd2
not dx
dec eax
add ecx, ecx
call fcn.009b484d
mov edx, 0xc90d8398
movsx eax, dx
sub esi, 4
shr dl, 0xc1
bswap eax
mov eax, dword [esi]
xor eax, ebx
lea ecx, [edx*2 + 0x612e0b34]
push edx
inc eax
ror dword [esp], cl
ror eax, 1
rol dword [esp], cl
dec eax
xor eax, 0xb601253c
xor ecx, 0x1a00792c
or dx, word [esp]
xor ebx, eax
sar dl, 0xe4
add edi, eax
pop edx
sub esi, 1
movzx ecx, byte [esi]
lea edx, [edx + edx*4 - 0x796b2670]
xor cl, bl
lea eax, [edx + edx*8 + 0x3e87f087]
call fcn.007434b1
mov edx, dword [edi]
add edi, 4
mov eax, 0x6e13be17
xor edx, ebx
movzx ecx, ax
ror edx, 2
shr al, 0x61
dec edx
cbw
shl ecx, cl
shl ecx, 0xf7
bswap edx
ror ecx, 0x2e
ror edx, 2
sub ecx, 0x6cbc7985
xor ebx, edx
shr cx, 0x43
adc ebp, edx
movzx edx, cx
mov eax, dword [esi + edx*2 - 0x219e]
call fcn.009b9e5b
mov ecx, 0x2d2c3aa1
mov eax, 0x32898c30
lea esi, [esi + ecx - 0x2d2c3aa5]
push eax
mov ecx, dword [eax + esi - 0x32898c30]
mov word [esp + eax - 0x32898c2e], 0x2632
pop edx
xor ecx, ebx
xor dl, ah
dec al
cwde
rol ecx, 2
add al, ah
neg ecx
ror dx, 0x83
sub eax, edx
xadd edx, eax
dec ecx
not ecx
inc edx
inc edx
xor ebx, ecx
btc eax, edx
bswap edx
sal ax, 0xc1
add ebp, ecx
and eax, eax
lea esi, [esi + eax*2 - 0xc64465d]
sar al, 0x45
jne 0x95eddd
inc ecx
mov eax, 0x9806aba1
inc ebp
movsx ebp, al
inc sp
mov esi, dword [edi]
jmp 0x99b6b3
movzx edx, byte [esi + eax*2 - 0xc644602]
xor dl, bl
movsx ecx, al
add dl, 7
not eax
neg dl
not dl
ror ecx, cl
adc dl, al
cbw
jmp 0x8b51f8
enter 0xd1e, 0xfffffffffffffff4
sti
fist dword [ecx + 0x7f]
sub al, 0x30
xor dl, dh
mov eax, 0x6d732a98
vshufps ymm7, ymm3, ymmword [ebp - 0x65], 0x99
js 0x9756b3
add eax, 0x7a27012f
inc edx
jp 0x9756ee
cmp esi, esp
sar ecx, 0
dec ebx
xlatb
dec edx
xor al, 0xf4
adc eax, esi
pushfd
push ecx
dec ebx
sbb al, 0x34
out dx, eax
out dx, eax
insd dword es:[edi], dx
xlatb
mov es, eax
fdivr dword [edi - 0x71adcaa3]
sbb al, 0x44
movsd dword es:[edi], dword [esi]
push 0x73
xchg ecx, eax
push edx
inc esp
into
dec edi
ja 0x975747
sub cl, ch
lcall 0x819d, 0x68197163
pushfd
jb 0x97574f
jb 0x97568d
sbb dword [edx + esi*2 - 0x7e1eedb7], 0xc01729c
jp 0x9756aa
or al, 0x7a
mov ecx, 0x5fdee8d7
add al, byte [eax]
xlatb
call 0x99b6d5
add byte es:[esi + eax*8 + 0x48], 0x94
jl 0x975695
push 0x7484e24a
cmpsb byte [esi], byte es:[edi]
push 0x48c8e24a
scasb al, byte es:[edi]
push 0x406be24a
mov ch, 0x69
or esi, dword [ebx + 0x22ee2620]
cdq
invalid
imul eax, dword [0x3cec04bb], 0x6b
add eax, 0x2cf014bb
imul eax, dword [0xa8c31ebb], 0xd
mov ebx, 0x6b2cf014
add eax, 0xa8c31ebb
or eax, 0x2614ac89
invalid
lodsb al, byte [esi]
adc al, 0x26
invalid
inc ebp
and ebp, ebp
inc ecx
movsx edx, bp
inc sp
mov eax, dword [edi + 2]
dec esi
lea edi, [ebp*8 - 0x53575d66]
dec ecx
lea esi, [edi - 0xa4d5a77]
js 0x90399e
xor ebx, eax
mov dword [esp], 0x20873402
inc byte [esp + 2]
and ebx, 0xff
dec dword [esp]
dec esp
and al, 0
rol dword [esp], 0xfd
jnp 0x916fdc
mov edx, edi
mov ecx, 0xc72f3908
not ecx
lea edi, [ecx + edi - 0x38d0c6fb]
shl cx, 0x6b
mov eax, ecx
not ecx
mov dword [eax + edi - 0x38d0b800], edx
shl cl, 0x44
jb 0x739eb5
push cs
mov al, byte [0x95a14f43]
mov al, 0xd7
insb byte es:[edi], dx
leave
out 0xf3, al
adc al, 0x6d
fmul st(1), st(0)
out 0xf3, al
jo 0x99b6ea
and al, 0xc9
out 0xf3, al
mov esp, 0xe6c974cd
pop esp
pop ds
mov esp, 0xcf3e6c9
jmp dword [ecx + ecx*8 - 0x1a]
xor edi, edx
and edi, 0xff
push 0x7208d504
mov edi, dword [edi*4 + 0x704e54]
shr edx, 8
mov dword [esp + 4], 0x801c1da6
sar dword [esp + 4], 0x17
call fcn.007a83fc
shld edx, eax, cl
shl dword [esp], 0xe1
mov eax, 0xb79d74b2
mov dword [edi], edx
not word [esp + 2]
mov eax, dword [esi]
mov edx, 0xd1a3d394
add edx, edx
adc esi, 3
not byte [esp + 1]
lea ecx, [edx + edx*2 + 0x1ea97cad]
inc cx
xor eax, ebx
jmp 0x939e1d