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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x10105230]
xor eax, ebp
mov dword [ebp - 4], eax
movaps xmm0, xmmword [0x100efc50]
movups xmmword [ebp - 0x88], xmm0
push ebx
movaps xmm0, xmmword [0x100efd40]
mov ebx, edx
movups xmmword [ebp - 0x78], xmm0
push esi
movaps xmm0, xmmword [0x100efdf0]
mov esi, dword [ebp + 8]
movups xmmword [ebp - 0x68], xmm0
push edi
movaps xmm0, xmmword [0x100f01e0]
mov edi, ecx
mov dword [ebp - 0x8c], ebx
xor ecx, ecx
movups xmmword [ebp - 0x58], xmm0
mov word [ebp - 0x48], 0x6a
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x87]
xor al, byte [ebp - 0x88]
mov byte [ebp + ecx - 0x46], al
inc ecx
cmp ecx, 0x40
jb 0x1000fd60
push 0x41
lea eax, [ebp - 0x87]
mov byte [ebp - 6], 0
push 0
push eax
call fcn.10097780
mov eax, 0x55555556
add esp, 0xc
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xb0], eax
test eax, eax
jle 0x1000ff27
mov dword [ebp - 0x98], eax
mov cl, byte [edi + 2]
mov al, byte [edi]
mov bh, byte [edi + 1]
add edi, 3
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x94], edi
movzx edi, al
mov eax, edi
mov byte [ebp - 0x8d], cl
mov ecx, dword [esi + 0x10]
shr eax, 2
mov bl, byte [ebp + eax - 0x46]
mov byte [ebp - 0x9c], bl
cmp ecx, edx
jae 0x1000fdfc
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000fdf2
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000fe11
push dword [ebp - 0x9c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
movzx eax, bh
mov dword [ebp - 0xa4], eax
shr eax, 4
shl edi, 4
or eax, edi
and eax, 0x3f
mov bl, byte [ebp + eax - 0x46]
mov byte [ebp - 0xa0], bl
cmp ecx, edx
jae 0x1000fe52
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000fe48
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000fe67
push dword [ebp - 0xa0]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
movzx edi, byte [ebp - 0x8d]
mov eax, dword [ebp - 0xa4]
mov ecx, edi
mov edx, dword [esi + 0x14]
shr ecx, 6
shl eax, 2
or ecx, eax
and ecx, 0x3f
mov bl, byte [ebp + ecx - 0x46]
mov ecx, dword [esi + 0x10]
mov byte [ebp - 0xa8], bl
cmp ecx, edx
jae 0x1000feae
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000fea4
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000fec3
push dword [ebp - 0xa8]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
mov ecx, dword [esi + 0x10]
and edi, 0x3f
mov edx, dword [esi + 0x14]
mov bl, byte [ebp + edi - 0x46]
mov byte [ebp - 0xac], bl
cmp ecx, edx
jae 0x1000fef3
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000fee9
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000ff08
push dword [ebp - 0xac]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
sub dword [ebp - 0x98], 1
mov edi, dword [ebp - 0x94]
jne 0x1000fdb0
mov eax, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0x8c]
lea eax, [eax + eax*2]
sub ebx, eax
cmp ebx, 1
jne 0x10010028
movzx edi, byte [edi]
mov ecx, dword [esi + 0x10]
mov eax, edi
mov edx, dword [esi + 0x14]
shr eax, 2
mov bl, byte [ebp + eax - 0x46]
mov byte [ebp - 0x8c], bl
cmp ecx, edx
jae 0x1000ff6a
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000ff60
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000ff7f
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
mov ecx, dword [esi + 0x10]
and edi, 3
mov edx, dword [esi + 0x14]
add edi, edi
mov bl, byte [ebp + edi*8 - 0x46]
mov byte [ebp - 0x8c], bl
cmp ecx, edx
jae 0x1000ffb1
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000ffa7
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000ffc6
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
sub eax, ecx
cmp eax, 2
jb 0x10010001
lea eax, [ecx + 2]
mov dword [esi + 0x10], eax
cmp edx, 0x10
jb 0x1000ffe2
mov esi, dword [esi]
mov eax, 0x3d3d
mov word [esi + ecx], ax
pop edi
mov byte [esi + ecx + 2], 0
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10094e23
mov esp, ebp
pop ebp
ret
push 2
push 0x100ecbe4
push dword [ebp - 0x8c]
mov ecx, esi
push 2
call fcn.10008d20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10094e23
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jne 0x10010164
movzx ebx, byte [edi]
mov cl, byte [edi + 1]
mov eax, ebx
mov edx, dword [esi + 0x14]
shr eax, 2
mov byte [ebp - 0x8d], cl
mov ecx, dword [esi + 0x10]
mov al, byte [ebp + eax - 0x46]
mov byte [ebp - 0x94], al
cmp ecx, edx
jae 0x10010075
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x10010065
mov eax, dword [esi]
mov dl, byte [ebp - 0x94]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x1001008a
push dword [ebp - 0x94]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
movzx edi, byte [ebp - 0x8d]
and ebx, 3
mov ecx, dword [esi + 0x10]
mov eax, edi
mov edx, dword [esi + 0x14]
shl ebx, 4
shr eax, 4
or eax, ebx
mov bl, byte [ebp + eax - 0x46]
mov byte [ebp - 0x8c], bl
cmp ecx, edx
jae 0x100100cb
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x100100c1
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x100100e0
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
mov ecx, dword [esi + 0x10]
and edi, 0xf
mov edx, dword [esi + 0x14]
mov bl, byte [ebp + edi*4 - 0x46]
mov byte [ebp - 0x8c], bl
cmp ecx, edx
jae 0x10010110
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x10010106
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x10010125
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009360
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jae 0x10010153
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
cmp edx, 0x10
jb 0x1001013c
mov esi, dword [esi]
pop edi
mov word [esi + ecx], 0x3d
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10094e23
mov esp, ebp
pop ebp
ret
push 0x3d
push dword [ebp - 0x8c]
mov ecx, esi
push 1
call fcn.10009360
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10094e23
mov esp, ebp
pop ebp
ret