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

Disassembly:
mov eax, dword [edi + edx*2 - 0x1fffc]
add ecx, eax
mov dword [edx + edi - 0xfffe], ecx
movsx eax, dx
jmp ebp
jns 0xce4f94
sub ebp, 4
mov eax, 0x1724541b
mov eax, dword [eax + ebp - 0x1724541b]
mov edx, 0x53378fb6
lea ecx, [edx + edx*8 - 0x44c307c6]
xor eax, ebx
or cx, 0x2b5
lea eax, [eax + edx - 0x59d5d145]
btc dx, dx
call fcn.012c213c
dec eax
sub esi, 2
mov edx, 0xa39bbba2
movzx ebp, dl
inc esp
movzx edx, word [ebp + esi - 0xa2]
inc ecx
mov ebp, 0xf99873a9
inc esp
mov ecx, ebp
inc eax
sal ch, 0x83
inc bp
xor edx, edi
inc esp
movzx esp, ch
inc cx
ror edx, 1
inc cx
not edx
inc esp
mov ebx, ebp
inc cx
dec edx
sar edx, 0xa2
inc cx
xor edx, 0xe2c1508a
xor ah, byte [esi + 0x45]
xor edi, edx
movsx ebx, dl
inc ebp
mov eax, ecx
dec esp
add edx, esp
inc ecx
shr esp, 0x8d
inc edx
mov ch, byte [ebp + edx - 0x10]
dec edi
lea esi, [esi + ecx*2 - 0x146]
mov eax, 0xa86d1b6
inc bx
mov dword [esi], ebp
inc ebp
xchg ecx, ebp
inc cx
or esp, 0x8d49de0b
mov ah, 0x35
pop edx
invalid
call fcn.013d0014
mov edx, 0xdb03c63b
mov eax, dword [esi]
btr dx, dx
xor eax, ebx
lea ecx, [edx + edx*8 + 0xf2dc63f]
ror eax, 3
xor eax, 0x149531b2
or cx, cx
lea edx, [edx*2 + 0x2604b0b4]
not eax
bswap eax
xor dx, dx
sal dl, 0x84
xor ebx, eax
xor edx, edx
mov dword [edi + edx*2 - 4], eax
mov eax, edx
or eax, dword [esi + edx*2 + 4]
lea esi, [esi + edx*8 + 8]
xor eax, ebx
add cl, 0x3d
shl cl, 0x61
ror eax, 1
push edx
pop edx
dec eax
bswap edx
not dx
xadd dl, dh
bswap eax
not eax
xor ebx, eax
add ebp, eax
add ecx, ecx
neg ecx
mov ecx, dword [edi + edx - 0x10002]
jns 0x12dc8f9
shr ecx, 8
rol dword [esp + 7], 0x3a
jae 0xc31c77
xor ecx, esi
mov dword [esp], 0x481b2925
call fcn.013af0ca
mov eax, 0x3c06e6a2
movzx eax, byte [edi + eax*2 - 0x780dcd45]
mov esi, 0xb38513a5
neg esi
lea edi, [edi + esi - 0x4c7aec5c]
ror esi, 0xe2
adc esi, esi
xor al, bl
xor al, 0xa
mov ecx, 0x1b2e9e91
lea edx, [esi + ecx + 0x6717801d]
call fcn.0146af2a
xor eax, ebx
bswap eax
lea edx, [ecx + 0x7c293c38]
sal byte [esp + ecx - 0x45a499c0], 0x87
neg eax
inc ecx
xor edx, dword [esp + ecx - 0x45a499c1]
ror edx, 4
ror eax, 2
lea edx, [ecx + edx - 0xccf3968]
lea eax, [eax + ecx - 0x544469d2]
not eax
mov dword [esp + ecx - 0x45a499bd], ecx
call fcn.014f0992
shr dword [esp + 5], 0xa2
and esi, 0xff
mov esi, dword [esi*4 + 0x1586408]
dec byte [esp + 4]
jp 0x14b1905
mov ax, word [esi]
mov ecx, 0xd40d2c23
shr cx, cl
adc esi, 2
movzx ecx, byte [edi]
mov edx, 0xb62e1834
add edi, 1
xor dx, dx
xor cl, bl
not dx
sub cl, 0xb3
neg dx
xor cl, 0xb1
neg dx
neg cl
rol cl, 1
sar dx, 0x4a
dec edx
sbb cl, 0xb3
ror cl, 1
xor bl, cl
ror dx, 0xcb
or edx, edx
shr edx, 0x6d
add ecx, esp
add dl, dh
shl dx, 0xc9
mov byte [edx + ecx - 0x55000], al
mov eax, 0x88cda8c
push edx
mov ecx, dword [edx + edi - 0x55000]
pop edx
sar dl, 0x83
sar dl, 0x41
lea edi, [edx + edi - 0x54ffc]
jbe 0x13257cc
dec eax
cwde
inc ecx
bswap ecx
inc ebp
movsx ebx, dx
inc ebp
mov ebp, edx
inc sp
or edx, ecx
inc ebp
lea ecx, [ecx + ecx - 0xbe606ca]
inc ecx
xor ecx, 0xfc0c2cb7
inc ecx
mov ebx, eax
inc bp
btc ebp, ebx
inc ecx
movsx ebp, dx
inc ecx
push edi
inc ecx
sar edx, 0xe6
xadd cl, al
inc esi
xor dword [esp + edx*4 - 0x51c], ecx
inc ecx
pop edi
dec ebp
arpl cx, cx
dec ecx
add edi, ecx
jmp edi