Function at 0x9a9003
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
dec esi
mov dword [esp + ecx*4 - 0x9ae8], ebx
ret 8
sal eax, 0xde
inc ecx
ror ebp, 1
inc cl
dec eax
xadd eax, edi
dec ecx
add eax, eax
push esi
push ecx
jb 0x9dccc2
inc esi
xor dword [esp + eax*2 - 0x14e], ebp
dec edx
mov esi, dword [esp + eax - 0xa3]
dec esi
lea esp, [esi*4 - 0xd6e30e0]
dec ecx
inc eax
inc ecx
mov ecx, 0xd109d89d
dec ebp
arpl bp, bp
jne 0xd94eae
xor bl, dl
not ecx
add edx, esp
add cx, ax
movzx cx, byte [edx + eax*2]
cwde
mov word [ebp + eax*2 - 2], cx
movsx ecx, al
jne 0xd86eaa
inc ebp
mov ebp, dword [edi]
mov eax, 0xd39defab
dec ecx
add edi, 4
cdq
movzx edi, dx
not dx
inc esp
xor ebp, esi
inc esp
movzx eax, al
inc esi
lea ebp, [eax + ebp + 0x11219900]
cbw
dec esp
lea esi, [eax*4 - 0x40eb7c57]
inc eax
movzx ebp, bh
inc ecx
ror ebp, 3
movzx ecx, bp
inc ebp
mov edx, eax
inc ecx
not ebp
dec eax
or edi, ecx
inc ecx
dec ebp
jmp 0x949978
dec ebx
lea ecx, [ecx + ecx*4 + 0x65b1a619]
xor eax, esi
inc ecx
movsx edi, cx
dec edx
mov dword [esp + ecx*2 - 0x4d74], 0x8a39dc94
inc ecx
mov esp, 0x4d096290
dec eax
rol eax, 1
inc ebp
and edx, ecx
lea eax, [eax + ecx + 0x3ef24be8]
not eax
dec edx
mov dword [esp + ecx - 0x26ba], esi
inc ecx
push ebp
inc ecx
movsx edx, ch
inc edx
xor dword [esp + ecx - 0x26b2], eax
jmp 0x9ce094
dec edx
mov esi, dword [esp + ecx*2 - 0x4d6c]
inc ecx
sal ch, 0xa3
jns 0xdeba94
mov edx, 0xd7253023
lea edx, [edx + edx*4 - 0xa48e2d4]
btr edx, edx
movzx edx, byte [edi + edx - 0x21710ddc]
mov eax, 0xfb9aac12
lea ecx, [eax + eax*4 + 0x613fe7ae]
xor dl, bl
xor al, 0x30
sbb eax, eax
neg dl
and eax, 0xf429fd3c
sbb ecx, ecx
sbb cx, 0x24b4
xor dl, 0x27
bt cx, 0x16
rol dl, 1
sar ax, 0xcc
sal ecx, cl
ror ecx, 0xa2
inc dl
bswap ecx
not dl
add dl, 0x9a
add al, ah
jge 0x97a7fd
ror dl, 1
neg word [esp + eax*4 - 0x626f34ff]
sbb eax, eax
xor dl, 0x3f
lea ecx, [eax*4 - 0xdefb3ea]
sar byte [esp + eax*8 + 2], 0xc4
dec dl
dec dword [esp + eax]
sar ecx, 0x35
inc cx
ror dl, 1
sub dword [esp + eax*8], 0xaf18f9ba
cwde
add dword [esp + eax*2], ecx
adc dl, al
mov dword [esp + eax*8], 0x4e9334ba
xor bl, dl
call int.00a3e75f
mov dword [eax], ecx
movzx edx, word [edi - 3]
ror dword [esp + 4], 0xc7
mov eax, 0xeb246b93
xor dx, bx
neg dx
movzx ecx, al
pop eax
ror dx, 1
shl ax, 0x81
sbb dx, 0x15a3
neg dx
xchg cl, al
dec dx
or ecx, eax
jge 0xd72ff9
dec esp
mov dword [esp + ebp*2 - 0x1fe], ebx
ret 0x10
sar cl, 0xa5
not dx
and cl, 0x8a
xor dx, 0x279b
neg eax
xor bx, dx
add byte [esp + ecx - 0x54f54987], cl
or cl, al
neg al
mov word [ebp + ecx - 0x54f549ed], dx
mov edx, dword [edi + ecx - 0x54f549f6]
xor edx, ebx
rol edx, 1
sar al, 2
cwde
shr dword [esp + ecx - 0x54f549ef], cl
xor edx, 0xc2ade405
inc ecx
rol byte [esp + ecx - 0x54f549ed], 0x83
not word [esp + ecx - 0x54f549ee]
not edx
pop eax
sbb cl, ch
dec edx
bts eax, ecx
xor ebx, edx
rol ecx, cl
mov dword [ecx + ebp - 0x7aa4d3ac], edx
movzx edx, ax
rol al, 0x64
lea ebp, [ebp + ecx - 0x7aa4d3ac]
mov eax, dword [edi + edx*2 - 0x1eff1]
shr dl, 0x65
cmovnp dx, cx
lea edi, [edi + edx - 0xd3b5]
xor cx, 0xed2d
bts ecx, edx
ror cx, cl
xor eax, ebx
not edx
rol edx, cl
ror cl, 0x43
inc eax
sar cl, 0x82
xchg edx, ecx
shl ecx, 0xd5
neg eax
shr ecx, 0x2c
not eax
bswap eax
bts edx, edx
dec eax
neg eax
bts ecx, 0x17
dec cl
add cx, dx
xor ebx, eax
rol cx, cl
jb 0xd7abb6
ret
inc dx
add esi, eax
ror edx, 0xf3
xor ecx, 0xac1ac529
inc edx
jne fcn.0094787b
fist word [ebx + eax*2 - 0x46]
push esp
jae 0xd7ac31
je 0xd7ab5e
and eax, 0x28a96fb4
mov ah, byte [0x70f539b4]
mov ah, byte [0xe62d1db4]
pushfd
rcl ah, 0xe3
and eax, 0x1ce960fc
add dh, byte [ebp - 0x5f2f6c31]
lodsb al, byte [esi]
fistp qword [ebx - 0x6c50c22a]
sbb byte [ebx], dl
and eax, 0xe2df2fba
and byte [edi], dh
add eax, 0xe2efef9a
and byte [edi], dh
je 0xd7abd4
adc ecx, dword [eax - 0x54b7158c]
cmpsd dword [esi], dword es:[edi]
xor ecx, dword [eax]
rol byte [eax + 0x411783aa], cl
ret 0xac8c
into
inc edi
std
lea ebp, [edx + 0x55]
test al, 0x49
mov ecx, 0x8312c0fe
invalid
dec ebp
add ebx, ebp
dec edx
mov dword [esp + eax - 0xa4], ecx
inc edx
mov eax, dword [ebx + eax - 0xac]
inc ebp
mov esp, dword [eax + ebx - 0xa8]
inc edx
inc byte [esp + eax - 0xa1]
dec ecx
lea ebx, [eax + ebx - 0xa8]
inc esp
add eax, edx
inc esp
sbb byte [esp + ebp*2 - 0x1f4], cl
inc ecx
or eax, esp
dec di
bts cx, cx
rol word [esp + ebp - 0xf5], cl
not eax
ror byte [esp + ebp*2 - 0x1f5], 0xe1
inc esp
sbb byte [esp + ebp*8 - 0x7ed], dh
shl word [esp + ebp - 0xf1], cl
mov dword [ebx + ebp*8 - 0x7f8], eax
push ebp
jp 0x9f60fb
jmp 0x899d1c
dec eax
arpl ax, ax
dec ebp
lea eax, [ebp + 0x6a039e0b]
shl ecx, 0x6f
dec edx
mov dword [esp + ecx - 0x26b2], 0x7f938895
dec esp
add ebx, eax
dec edx
mov ecx, dword [ebx + ecx*2 - 0x4d74]
pop edx
inc ecx
push edx
inc ebp
mov dh, byte [ebp + ebx - 0x4500]
dec edx
lea ebx, [ebx + ecx - 0x26b0]
inc ebp
mov byte [ecx + ecx - 0x26ba], dh
dec esi
and dword [esp + ecx - 0x26b9], ecx
ja 0x8a1a79
inc ecx
mov ebp, 0x23204490
inc ebp
movsx esp, bp
inc ecx
sar ebp, 0x8d
dec esi
mov esp, dword [ebx + ebp*2 - 0x23204]
inc di
mov ecx, dword [esp + ebp*4 - 0x46408]
inc ecx
push ebp
inc ebp
movzx edx, bp
inc si
mov dword [ebx + ebp - 0x118fc], ecx
dec edx
lea edi, [esp + ebp - 0x117e2]
inc ebp
movsx ecx, bp
inc ebp
movsx eax, ch
inc ebp
mov edx, dword [ebp + edi - 0x11902]
inc ebp
movzx esp, cl
inc si
mov dword [esp + ebp - 0x11900], eax
inc ebp
mov dword [ebp + ebx - 0x11900], edx
dec esi
lea eax, [eax*8 + 0x28018214]
inc ecx
movzx eax, cx
inc edi
mov eax, dword [ebp + edi - 0x11902]
dec eax
cwde
inc edx
movsx edx, word [esp + ebp - 0x118fe]
inc edx
neg byte [esp + ebp - 0x118fb]
inc esp
xor eax, esi
dec edx
or dword [esp + ebp - 0x11902], 0x1dbc9595
inc ecx
adc eax, 0xe39abe39
inc esp
movsx esi, dl
inc ecx
xor eax, 0xa2a1db9a
inc edx
mov ecx, dword [esp + ebp - 0x11901]
dec eax
sar ecx, 0x44
inc ecx
push esp
inc esp
sbb eax, edx
inc ecx
bswap eax
dec eax
dec edx
dec edx
mov dword [esp + ebp - 0x118fa], ecx
inc ecx
rol eax, 1
push eax
jmp 0xd99d7b