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

Disassembly:
dec esi
add edi, ecx
xchg esi, eax
cmp dword [eax], eax
add bl, ch
jmp 0xf5d0ce
add dl, bh
push cs
add byte [eax], al
add byte [eax], al
add byte [eax - 0x18], ah
add byte [eax], al
add byte [eax], al
jmp 0xf5d0ce
pushal
call 0xf5d0d4
pop ebp
sub ebp, 0x10
sub ebp, 0xb5d0c4
jmp 0xf5d0ea
shr ebp, cl
mov edi, 0xb5d0c4b8
add byte [ebx], al
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5b6], bh
mov eax, 0xb5d0c4
add eax, ebp
add eax, 0x4c
mov ecx, 0x5b6
add byte [edx - 0x7bfdd496], bh
mov edx, 0x84022b6a
xor byte [eax], dl
inc eax
dec ecx
jne 0xf5d101
jmp 0xf5d114
loope 0xf5d0bd
loope 0xf5d0fb
push esi
push 0x6a
push 0xffffffffffffffeb
stosd dword es:[edi], eax
xchg edx, eax
push 0x6a
push 0x69
cmpsd dword [esi], dword es:[edi]
shl byte [ebx + 0x6a], cl
push 0x6a
rol byte [edx + 0x6a], 1
push 0x6a
popfd
mov byte [ecx - 0x5e], ch
loope 0xf5d11f
push 0x6a
push 0x69
scasd eax, dword es:[edi]
cmp ah, bh
push cs
dec esi
xchg esi, eax
jecxz 0xf5d1af
dec esi
add cl, byte [edx - 0x3b]
dec ebx
push 2
enter 0xfffffffffffffe4b, 0x6a
imul eax, dword [esi + 0x4e], 2
mov al, 0xa5
cld
push ebx
sub byte [edi + 0x6a], 0x6a
push 0xffffffffffffff83
inc edx
push 0x6a
push 0x3f
loope 0xf5d0e7
loope 0xf5d152
bound ebp, qword [edx + 0x6a]
push 0xffffffffffffffe1
jmp dword [esi + 0x6a]
dec edx
lds ecx, [ebx + 0x6a]
add cl, al
dec ebx
invalid
bound eax, qword [edx + 0x6a6a6a18]
sbb byte [eax], 0x6a
push 0x6a
loope 0xf5d18e
bound ebp, qword [edx + 0x6a]
push 0x59
mov dword [0x47af98eb], eax
mov byte [edx + 0x47af98eb], dh
mov byte [edx - 0x7d1647a7], dh
outsd dx, dword [esi]
and ah, byte [ebp - 0x12]
and al, 0x6a
push 0x6a
loop 0xf5d1fa
push 0x6a
push 0xc
loope 0xf5d254
push ebx
ljmp 0x6a70
push 0x6a
ljmp 0x6a7b
push 0x6a
or al, 0xeb
xchg ecx, eax
xchg ebp, eax
dec edi
out dx, al
jg 0xf5d264
push 0x6a
sub eax, dword [ebx - 0x6a6a6a5a]
inc ebx
push ebx
imul ebp, ecx, 0xffffffab
outsd dx, dword [esi]
jmp 0xd8794090
xchg ebp, eax
inc ebx
push ebx
push 0xe96cabe9
sub byte [esi - 0x17], 0x82
outsd dx, dword [esi]
add ecx, 0xffffff95
xchg ebp, eax
xchg ebp, eax
aaa
test al, 0x66
push 0x3f
loope 0xf5d1b0
cmp al, 0x3d
aas
loope 0xf5d24e
loope 0xf5d249
bound edx, qword [esi + 0x6ce0ead8]
jmp 0xf5d1e6
insd dword es:[edi], dx
jmp 0xf5d1ef
push 0x6a
push 0x6fef65b8
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d282
js 0xf5d210
jmp 0x968b6810
mov dl, 0x95
xchg ebp, eax
xchg ebp, eax
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d295
push 0x6a
loopne 0xf5d2e4
sub al, 0x78
mov eax, 0x6a00e965
push 0x6a
pop ecx
stosb byte es:[edi], al
push 0x6fef65b8
js 0xf5d223
jmp 0x6b603c71
jmp 0x6b603c71
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d2aa
js 0xf5d238
mov eax, 0x6b40e965
push 0x6a
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d2bd
jmp 0x6b603dc6
inc eax
imul ebp, dword [edx + 0x6a], 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0xf5d30c
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
js 0xf5d24b
jns 0xf5d23f
push 0x6fef65b8
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d2cc
js 0xf5d25a
jns 0xf5d24e
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d2db
mov eax, 0x6a6fef65
push 0x6a
loopne 0xf5d32a
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0xf5d269
jns 0xf5d25d
push 0x6fef65b8
mov eax, 0x6a6fef65
push 0x6a
loopne 0xf5d339
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d2ea
sub al, 0x78
mov eax, 0xee65aa79
js 0xf5d278
jns 0xf5d26c
out dx, al
insb byte es:[edi], dx
push 0x6a
push 0xffffffffffffffe1
mov ch, 0x41
push 0x6a
loope 0xf5d27f
inc ecx
mov dl, 0xe0
imul esp, edx, 0x68d12d6d
push 0x6a
loopne 0xf5d337
loop 0xf5d33d
sub eax, 0x6a6a68d1
push 0xffffffffffffff83
sbb dl, byte [ebp + 0x6bd29595]
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
sbb dword [edx], 0xffffff95
xchg ebp, eax
xchg ebp, eax
shr byte [ebx + 0x6a], cl
push 0x6a
push 0x6fef65b8
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d317
loopne 0xf5d366
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0xf5d2a5
jns 0xf5d299
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d326
js 0xf5d2b4
call 0x968b68b6
inc ecx
test eax, 0x6a6a6bd1
push 0x65
out dx, eax
push 0x6a
out dx, eax
pop esi
push 0x6a
push 0xffffffffffffffd3
imul ebp, dword [edx + 0x6a], 0x6a
push 0x6fef65b8
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0xf5d39a
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d34b
sub al, 0x78
mov eax, 0xb868a379
js 0xf5d2d9
jns 0xf5d2c6
push 0x6fef65b8
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d35a
loopne 0xf5d3a9
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0xf5d2e8
call 0x968b68ea
cmp al, 0xe1
popfd
loope 0xf5d2d6
inc ecx
lahf
cdq
into
xor al, 0x83
bound edx, qword [ebp - 0x54dd6a6b]
mov ah, byte [edx - 0x20]
insb byte es:[edi], dx
sub al, 0xe1
adc bl, 0x6b
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0xf5d3d7
jl 0xf5d388
sub al, 0x78
mov eax, 0xb868a379
out dx, eax
outsd dx, dword [esi]
js 0xf5d316
jns 0xf5d303
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0xf5d397
push 0x6a
loopne 0xf5d3e6
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0xf5d325
call 0x968b6927
jmp 0xf5d307
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0xf5d313
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0xf5d31f
jmp 0xf5d32b
push 0x6a
push 0xffffffffffffffeb
mov ebx, 0x6a6a6a6a
cmp al, 0xe1
popfd
inc ecx
lcall 0x94f1, 0x8334ce99
into
xor al, 0x83
int1
xchg esp, eax
xchg ebp, eax
xchg ebp, eax
loopne 0xf5d41e
sub al, 0x59
mov dword [0x656b82aa], eax
out dx, al
jo 0xf5d426
push 0x6a
jmp 0xf5d37b
shr dword [ebx + 0x6a], 1
push 0x6a
sbb dword [ecx], 0xffffff94
xchg ebp, eax
xchg ebp, eax
aaa
inc ecx
pop ss
invalid
loope 0xf5d43e
dec esi
out 0xe, eax
dec esi
outsb dx, byte [esi]
loope 0xf5d44d
dec esi
out 0xe, eax
dec esi
outsb dx, byte [esi]
sub dword [esi + 0x6a], 0x6a
push 0xffffffffffffffcf
invalid
sub dword [esi + 0x6a], 0x6a
push 0x6f
dec eax
xlatb
mov esi, ss
scasd eax, dword es:[edi]
fisubr dword [edi]
insd dword es:[edi], dx
invalid
popal
push ecx
push ecx
push ecx
jp 0xf5d3ce
fiadd dword [esi]
push ecx
salc
test al, 0xda
sub byte [ebp - 0x2a], dl
salc
test al, 0xd0
stosd dword es:[edi], eax
push ecx
push ecx
push ecx
push ecx
pop esi
aad 0x17
push ecx
push ecx
push ecx
push edx
xchg eax, edx
xchg esi, eax
pop ecx
push ecx
push ecx
push ecx
sar byte [eax + 0x51515159], 1
shr byte [eax + 0x51515151], 1
pop esi
aad 0x81
scasb al, byte es:[edi]
scasb al, byte es:[edi]
scasb al, byte es:[edi]
aaa
ficom dword [esi - 0x70]
mov ecx, 0x5eb1d25d
shr byte [ecx + 0x51515152], 1
pop esi
aam 0x5c
push ecx
push ecx
push ecx
aaa
ficom dword [esi - 0x30]
mov cl, 0xae
pop esi
push ecx
push ecx
push edx
xchg ebx, eax
push eax
dec ecx
sbb byte [eax], bl
rcl byte [esi - 0x516647ad], cl
scasb al, byte es:[edi]
scasb al, byte es:[edi]
mov eax, 0x51515155
add esi, dword [edi - 0x6a167040]
and esp, 0xd0945251
xchg ecx, eax
pop ebp
push ebp
push ecx
push ecx
call 0x52472563
jmp 0xf5d52f
invalid