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

Disassembly:
push 0x1b0afc81
mov eax, dword [ebp]
lea esp, [esp + 4]
call eax
mov edx, 0x42230013
shr dx, 0x61
adc eax, dword [eax]
and eax, dword [edx + 0x66]
shr edx, 0x61
mov ebp, dword [edx + ebp - 0x4223000d]
inc edx
jno 0x15982a7
jo 0xcdbfe1
stosb byte es:[edi], al
xlatb
mov dl, 0x82
or dword [esi + 0x17], edi
cmpsb byte [esi], byte es:[edi]
xchg edx, eax
or dword [esi - 0x71], edi
sub cl, byte [esi + 0xbe67c09]
cmp dh, dl
insd dword es:[edi], dx
invalid
jmp 0xcdbfd1
not eax
rol eax, 1
xor eax, 0xadb8b636
bt ecx, edx
xadd cx, dx
inc eax
neg eax
shl cl, 0x63
not eax
call fcn.014892f1
jne 0x1442a8d
mov edx, 0x6b2d0e12
movzx ax, byte [ebp + edx - 0x6b2d0e12]
mov cl, byte [ebp + edx - 0x6b2d0e10]
lea ebp, [ebp + edx - 0x6b2d0e10]
shr al, cl
movzx ecx, dx
call fcn.0156e9d2
inc ebp
xor edi, esi
inc esi
lea edi, [eax + edi + 0xa08c45b]
inc ebp
movsx ebx, cl
inc ebp
mov eax, ecx
inc ecx
btc eax, 0x81
inc ecx
neg edi
inc ecx
ror edi, 3
dec eax
cdq
shr edx, 0xac
inc ecx
not edi
sal dl, 0x83
inc ecx
dec edi
movsx ecx, ax
inc ecx
neg edi
inc ecx
rol edi, 1
dec eax
shl eax, cl
inc edi
lea edi, [ecx + edi - 0x73faec7d]
inc ecx
push esi
imul ax
dec ecx
sal ecx, cl
inc esp
xor dword [esp + edx*2], edi
movsx ebp, dx
inc ecx
dec ebx
inc ecx
pop esi
dec ecx
cwde
dec ebp
arpl di, di
dec eax
cwde
dec ecx
add esi, edi
inc esp
movzx edx, al
inc cx
not eax
call fcn.01492209
mov ecx, 0xc496472a
inc esp
movsx ebp, cx
inc ebp
movzx ebx, bp
dec edi
lea esp, [esp + ebp*2 - 0x8e58]
mov edi, ecx
inc ecx
movzx ebp, bp
inc edi
mov edx, dword [esp + ebp - 0x472a]
call fcn.0149f209
xchg byte [edx - 0x36], dh
dec ebx
push esi
jge 0x1476aac
stosd dword es:[edi], eax
mov dh, 0xa0
loope 0x1476b56
push ebx
push esi
push es
push ecx
sbb bl, byte [ebx]
jne 0x1476b68
jns 0x1476b93
xchg edx, eax
sbb byte [ebx], bl
pushfd
jno 0x1476b94
cmp ah, ch
movsb byte es:[edi], byte [esi]
inc ebp
cwde
shr byte [edi + 0x6ef2e4e5], 0xfe
insb byte es:[edi], dx
push esi
adc eax, 0x98c88d14
mov al, byte [0xe89d24e1]
xor byte [ecx + 0x1a], dl
sbb esp, dword [edx + ebx*8 - 0x7b]
mov al, 0x93
adc cl, bh
loope 0x1476b7c
popfd
call 0x1c61bc8e
fiadd dword fs:[ebp - 0x30ed6c50]
pop ss
rcr edi, cl
fbstp tbyte [0xe14091c]
and al, 0x20
mov word [edi], gs
cmp ebx, dword [edi]
je 0x1476bbb
push eax
mov esi, 0xbb8998f7
jmp 0x1476b70
lea esp, ss:[ecx + 0x3ff8883b]
add eax, 0xe5a9a9
mov al, byte [0xe559b9b5]
add byte [eax - 0x2416225b], ah
mov ch, 0xb9
pop ecx
in eax, 0
mov al, byte [0xdbe9dda5]
pop es
xor al, 0x14
add byte [0xeffe431b], al
sbb edi, 0xffffffb4
xor ah, cl
lcall 0xe5bf, 0xfb738d36
in eax, 0x98
fnstenv [ebp + esi*2 + 0x793f91fb]
push ebx
jns 0x1476c10
or dword [eax - 0x419247bc], 0x2b
jne 0x1476bc1
insd dword es:[edi], dx
mov esi, 0x89fb752b
lodsb al, byte [esi]
xor al, 0xbe
jne 0x1476b87
mov dword [esp + esi - 0x1e448a42], ebp
hlt
loope 0x1476bc2
push esp
mov esi, 0x5c81bb75
cmp al, 0xbe
jne 0x1476b93
leave
add al, 0x8c
mov esi, 0x6c99bb75
aam 0xbe
jne 0x1476b9f
add dword [esp - 0x4f448a42], ebx
push ds
push 0xffffffffffffffdf
xor edx, esi
and byte [eax + 0x73], bh
and esi, dword [eax]
pop edx
mov esp, 0x3ca26bc9
fsub qword [ebx + 0x40]
wait
xor eax, 0xb44bea40
or ebx, dword [edi - 0x7d]
xor dword [ecx + 0x30], ebx
sbb eax, 0x55a4311f
and al, 0x1d
pop edi
dec ecx
invalid
mov dword [ebp - 4], eax
jno 0x15a8106
push ebx
nop
aas
salc
xor dword [ecx - 0x6318168f], edx
and dword [ebp + 0x18e7e971], eax
and eax, 0xe7e971e5
adc byte [ecx - 0x5f], bl
adc eax, 0x161deaf7
dec esp
invalid
movsx edi, dl
mov dword [edi + ebp - 0xa], eax
lea eax, [edi + 0x5d9e7fb7]
mov esi, edi
pop ebx
xor esi, edi
inc dl
pop edi
imul dl
shr si, 0x4f
pop esi
lea edx, [eax + edx*2 + 0x57b060a6]
movsx ecx, dx
and edx, ecx
jmp edi
test ebx, ebx
lea esp, [esp + 8]
je 0x1434b53
mov eax, 0xf30c242c
call fcn.01549feb
mov eax, 0xfe913fa4
lea ecx, [eax*4 - 0x15ca4972]
fadd qword [ebp]
bt ecx, ecx
sal ecx, cl
mov eax, dword [ecx + esi - 0x80000000]
lea esi, [esi + ecx - 0x7ffffffc]
lea edx, [ecx*2 + 0x1dbe148c]
bswap edx
bswap edx
xor eax, ebx
jmp 0x1476a48