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

Disassembly:
neg ecx
ror ecx, 2
push eax
push eax
sub ecx, 0x2504cf14
ror ecx, 2
mov edx, eax
xadd dword [esp + 3], edx
mov dword [esp + edx - 0x8de2de6], eax
lea ecx, [ecx + eax - 0x3def4c77]
jge 0x921e82
or edx, edx
neg dword [esp + edx*8 - 0x46f16f69]
ror ecx, 1
sal dword [esp + edx*2 - 0x11bc5bd7], 0x16
and edx, dword [esp + edx - 0x8de2de6]
xor ebx, ecx
call fcn.007bd10c
xor ebx, eax
bswap edx
add esi, eax
rol dl, cl
shr cl, 6
mov edx, dword [edi]
mov eax, 0x59bc2716
inc al
sar eax, 0xdc
lea edi, [edi + eax*4 - 0x10]
and cx, 0xd212
rol ecx, 0xca
shl al, 0x41
mov eax, dword ss:[edx + ecx*2 - 0x1c000550]
mov edx, ecx
add ecx, ecx
jno 0x99489d
sub edi, 1
movzx edx, byte [edi]
xor dl, bl
jmp 0x89a41d
mov ebx, 0xc7008b36
dec ebp
lea eax, [ebp + ebx*2 - 0x4ad0b1e4]
dec esp
add ebx, ecx
movzx ecx, dx
inc cx
xchg esi, edx
dec edx
mov ebp, dword [edi + ebp]
dec eax
cwde
inc cx
mul ebp
dec ecx
bswap esi
dec eax
mov eax, dword [ebp + eax + 0x10000]
inc ecx
movzx ebp, cl
inc bp
or eax, eax
dec ecx
mov dword [ebp + edi], eax
inc cx
xor ebp, ebp
dec eax
ror ebx, 0x7c
dec ebp
add ebp, ebx
inc ecx
jmp ebp
mov eax, 0x16b2b785
mov ecx, eax
rol dl, 1
call fcn.0098b92d
mov ecx, 0x99066527
sub esi, 4
movzx edx, cx
push edx
mov edx, dword [esi + edx*8 - 0x32938]
xor edx, ebx
rol edx, 3
mov eax, 0x6392ab84
bswap eax
rol cl, 0x46
not edx
setb al
mov dword [esp], eax
shl byte [esp + 3], 6
rol edx, 1
or cl, 0xb4
jno 0x717f63
mov edx, 0x7bbcc92b
dec ebp
lea edx, [edx + edx - 0x7bbcc92f]
dec eax
lea ecx, [edx + edx + 0x2f112325]
not cl
movsx eax, cl
inc ecx
mov ecx, dword [edx + edx - 0x7bbcc92b]
dec eax
cdq
dec eax
cdq
inc esp
movsx edi, ax
inc ecx
xor ecx, esp
neg ecx
inc esp
mov ebp, edx
inc esp
movzx esi, al
sal dx, 0x28
ror ecx, 2
cdq
inc ecx
shl ebp, 0x99
inc ecx
lea ecx, [ebp + ecx + 0x693ec016]
inc ecx
setb bh
inc ebp
movsx ecx, ch
mov ebp, 0x943f2c86
bswap ecx
inc ecx
push esp
inc eax
sets ch
inc ebp
movsx esp, ch
inc edx
xor dword [esp + ebp*4], ecx
inc ecx
pop esp
dec eax
arpl cx, cx
jmp 0x820dd0
movzx ecx, byte [ebp + ecx*4 - 0x70001545]
sub edx, 0x5daf68a3
rol edx, 0xbd
or dx, 0x1b10
adc ebp, 0xfffffffb
shr edx, 0xaa
jb 0x7dc987
mov ecx, 0xb7380092
mov edx, dword [esi]
btc ecx, ecx
xor edx, ebx
movzx eax, cl
lea edx, [edx + eax - 0x733fce94]
rol ecx, 0xda
lea eax, [eax*2 + 0x10b8911a]
push eax
neg edx
add eax, ecx
dec edx
call fcn.00a2fc17
mov ecx, 0x6a3907b9
inc ecx
mov eax, dword [edx + ecx - 0x6a3907bd]
dec esp
lea eax, [ecx + ecx*8 - 0x38fe8047]
dec ebx
lea ebx, [eax + eax*2 + 0x29b3fb7]
inc ecx
xor eax, esp
ror eax, 3
sal bx, 0xac
inc ecx
mov ebp, 0x70aeed1c
dec eax
neg eax
dec esi
lea esi, [eax*4 - 0x3678e161]
not eax
inc ecx
sar dh, 0x43
inc ebp
movsx ecx, bp
inc eax
inc ecx
push esp
inc edx
xor dword [esp + ebp - 0x70aeed1c], eax
inc ecx
pop esp
inc ecx
ror ch, 0xa4
dec eax
arpl ax, ax
dec esp
add ebx, eax
dec ecx
rol esi, cl
inc edx
mov esi, dword [edi + ebp - 0x70aeedc1]
inc ebp
movzx eax, byte [edx + ecx - 0x6a3907be]
movzx eax, bx
inc ebp
xor al, ah
inc ecx
not al
inc ecx
inc al
inc ecx
mov edx, esi
ror cl, 0xe4
inc ecx
neg al
inc ebp
mov edi, ebp
inc cx
mul ebp
inc cx
sar esi, 0x43
inc ecx
sbb al, 0xa0
inc ecx
shl ecx, cl
inc ecx
rol ecx, cl
inc ecx
xor al, 0x34
dec eax
bswap eax
dec ecx
add esi, 0x24b696a3
inc ecx
inc al
inc ecx
rol al, 1
inc sp
or esi, ebx
dec ecx
lea edx, [esi + ecx + 0x79a5c88a]
inc ebp
xor ah, al
dec esp
add eax, esp
dec ecx
rol edi, 0x7c
inc ecx
mov dword [eax + ecx - 0x6a39079b], esi
inc edx
xor eax, dword [edi + ecx*2 - 0xdfffffc]
dec edx
lea edi, [edi + ecx*2 - 0xdfffff8]
inc bp
xchg edi, esi
inc ecx
xor dh, 0x3e
inc ecx
sbb bl, ch
inc edi
movzx ebp, byte [edx + ecx*2 - 0xe000006]
sar edx, cl
inc esp
sub edi, ecx
dec esi
lea edx, [ecx + edx - 0x6a3907a1]
inc esp
movzx eax, dl
ror ebx, 0x4a
inc ecx
mov ebp, eax
inc ebp
xor ch, ah
inc ecx
inc ch
dec ebp
sub esi, edi
call fcn.009c56b9
or al, 0x9f
xor ah, bl
sub byte [eax - 0x3588d155], al
add bl, cl
or al, 0x7e
invalid