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

Disassembly:
mov dword [esp + 8], 0x9ada4fd8
push dword [esp + 4]
popfd
lea esp, [esp + 8]
call fcn.01442334
fstp qword [edi]
mov eax, 0xa21492a2
lea edx, [eax + eax*4 + 0x2f2d0309]
mov edx, dword [edx + esi - 0x5993e033]
movsx ecx, al
neg ax
mov esi, 0xd8f766c8
add eax, ecx
add esi, 4
add eax, ecx
setae al
jle 0xc1cafc
mov ecx, 0xb6844c7a
mov esi, dword [esi]
push esi
dec ebp
das
rcr byte [eax - 0x44], 0x51
bswap ebx
xor ch, byte [ebx]
test eax, 0xaabf576b
sbb bh, bh
out dx, eax
inc eax
push ebp
fild qword [esp + edx*2 - 0x370ae93]
js 0x1508de1
scasb al, byte es:[edi]
cmp al, 0xbf
mov al, 0x48
xchg ebx, eax
scasb al, byte es:[edi]
outsd dx, dword [esi]
and cl, byte [eax]
stosb byte es:[edi], al
mov dl, 0x1d
xor eax, 0x5855eb76
pop edx
jnp 0x1508d31
cmc
and dword [edx], ebx
mov dword [0x1ad02efe], eax
invalid
outsd dx, dword [esi]
fiadd word [eax + 0x53]
cmp bh, bh
xchg edi, eax
and byte [eax - 0x4815d46b], bl
clc
lodsd eax, dword [esi]
in eax, dx
mov ecx, 0xde3bbdbc
salc
rep movsd dword es:[edi], dword [esi]
clc
pop esp
mov edi, 0xfe844261
test dh, bh
jg 0x1508e5f
mov eax, dword [0x87685d2b]
and eax, 0xccb404c
popfd
inc edx
adc esi, eax
lds edi, [ebx]
lodsd eax, dword [esi]
and byte [ebx + esi*4], cl
pop ebp
test eax, 0x5be5a0a
xor eax, 0xd4c48162
push cs
xchg ecx, eax
std
invalid
inc edi
sub byte [eax], 0xc5
mov eax, dword [0x5d6f3779]
aaa
outsd dx, dword [esi]
pop ebp
mov edx, 0x6ecfbe22
xor ebp, dword [0x100b39a6]
pop ss
mov bh, 5
jp 0x1508dff
xchg esp, eax
aam 0xc6
mov cl, 0x46
fsubp st(1)
popfd
mov al, byte [0x2f0b849c]
shl byte [edi + 0x3c], cl
mov al, 9
add dword [ebx - 0xf36ba49], ebx
in eax, dx
in eax, dx
pushal
adc ebp, dword [edx - 0x79e30986]
das
popal
neg byte [edi]
xor esi, dword [ebp + 0x4bdc2380]
and byte [ebx], 0xdc
dec ebx
add byte [0x50924277], ah
mov ecx, 0x743dea0a
dec esp
lea edx, [edi + 0x7cff30ec]
or ch, byte [ebx - 0x2c]
xor esi, dword [esi - 0x27950fd2]
jo 0x1508f08
shr dword [eax], cl
adc dl, byte [eax + edx*2 - 0x15]
mov ch, 0xe8
lodsd eax, dword [esi]
jne 0x1508ea0
stosb byte es:[edi], al
dec ebx
jne 0x1508e65
inc esp
and dword [edx + 0x27b2693f], eax
mov dl, 0x27
call 0x59d62a79
aas
adc dword [ebx + 0x71aa6f59], edx
mov byte [ebx + 0x34], bl
dec esp
outsd dx, dword [esi]
stosb byte es:[edi], al
jno 0x1508e6d
pop ebx
xor al, 0x4c
dec ebp
jb 0x1508f04
jmp 0x1508f4c
jge 0x1508f6a
dec edi
test al, 0xd2
push esi
cmp byte [esi + 0x66], ah
sub eax, 0xeb0359b8
rcl byte [esi + 0x38], cl
sub ax, 0x59b8
add ebp, ebx
add dword [ebx + eax*4], 0x1b3f76e2
jmp 0x1508ee1
jle 0x1508ed5
int3
dec esp
int1
xchg edi, eax
inc ebx
xor dh, cl
xchg ebp, eax
xor byte [edi + 0x7e], bl
cld
push ss
daa
movsb byte es:[edi], byte [esi]
lodsb al, byte [esi]
dec ebp
inc esp
ror dword [ebx], cl
test esp, edi
push dword [ebx - 0x63d4d3b1]
invalid
aas
sbb edx, dword [edx - 0xa]
call 0xf7c5caf2
xchg edx, eax
stosb byte es:[edi], al
push edx
mov ebp, 0x98ba6b46
in al, 0xfb
pop ecx
loop 0x1508fcd
mov dl, 0xe7
push ds
jecxz 0x1508ff2
movsb byte es:[edi], byte [esi]
sal edi, 0x88
dec edi
jns 0x1508f3d
or dword [ecx], 0x1d5286dc
fsubr dword [ecx]
jae 0x1508fa5
vmwrite esi, dword [ebx + 0xe8e5ccc]
stc
adc dword [ebx - 0x5d], ebx
std
cmc
xor byte [ecx], dl
stosb byte es:[edi], al
pop es
pop ss
int 0x52
sar ebx, 0xdd
mov cl, 0x4f
stc
push eax
pop es
sub dword [esp], 0x3f
aas
mov dl, 0x69
mov byte [edx - 0x54984e19], bl
out 0x83, eax
into
cli
outsb dx, byte ss:[esi]
xor byte [ebx], ah
or edi, dword [ebp + 4]
fist word [edx - 0x60131208]
in al, dx
lahf
mov edx, 0x986c8de2
add dl, byte [ebp + 0x73]
mov eax, 0xecc4a455
jecxz 0x1509037
rcr byte [esi + ebx*8], 1
adc ecx, dword [eax + 0xc9330d7]
popal
xlatb
invalid
or bh, 0xc5
inc esi
pop esp
paddq mm4, qword [0x12465e54]
fadd st(4)
stc
fadd qword [esi]
push ds
sub byte [esi], bh
cmp dword [ecx - 0x71], ebp
dec esp
mov dl, 0x77
sub dword [ebx - 0x414d5365], esp
pop edi
jecxz 0x1508fb4
ja 0x1509049
push cs
test byte [edi], bh
adc dl, al
xor edi, dword [eax + 0x22e5f933]
cmp esi, dword [ebp + ebx - 1]
lodsb al, byte [esi]
js 0x150908d
lea esp, [edx - 0x69a7101e]
fisub dword [edx - 0x72fb0864]
enter 0x75c7, 0x72
pop esi
invalid
invalid
sub byte [ebx], bl
mov dl, 0x2a
pop edx
mov edi, 0x6cd6c129
xchg esi, eax
and byte [esi - 0x240c6598], al
adc al, 0x6d
das
invalid
fldenv [edi + 0x43]
push eax
test al, 0x3b
adc al, 0xe8
xchg esp, eax
push 0xbdea1e31
daa
int3