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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x100fd230]
xor eax, ebp
mov dword [ebp - 4], eax
movaps xmm0, xmmword [0x100e9080]
movups xmmword [ebp - 0x88], xmm0
push ebx
movaps xmm0, xmmword [0x100e8ff0]
mov ebx, edx
movups xmmword [ebp - 0x78], xmm0
push esi
movaps xmm0, xmmword [0x100e8f30]
mov esi, dword [ebp + 8]
movups xmmword [ebp - 0x68], xmm0
push edi
movaps xmm0, xmmword [str.HIFGD]
mov edi, ecx
mov dword [ebp - 0x8c], ebx
xor ecx, ecx
movups xmmword [ebp - 0x58], xmm0
mov word [ebp - 0x48], 0x11
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 0x1000fd40
push 0x41
lea eax, [ebp - 0x87]
mov byte [ebp - 6], 0
push 0
push eax
call fcn.10091da0
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 0x1000ff07
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 0x1000fddc
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000fdd2
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000fdf1
push dword [ebp - 0x9c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
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 0x1000fe32
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000fe28
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000fe47
push dword [ebp - 0xa0]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
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 0x1000fe8e
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000fe84
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000fea3
push dword [ebp - 0xa8]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
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 0x1000fed3
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000fec9
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000fee8
push dword [ebp - 0xac]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
sub dword [ebp - 0x98], 1
mov edi, dword [ebp - 0x94]
jne 0x1000fd90
mov eax, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0x8c]
lea eax, [eax + eax*2]
sub ebx, eax
cmp ebx, 1
jne 0x10010008
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 0x1000ff4a
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000ff40
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000ff5f
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
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 0x1000ff91
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x1000ff87
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x1000ffa6
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
sub eax, ecx
cmp eax, 2
jb 0x1000ffe1
lea eax, [ecx + 2]
mov dword [esi + 0x10], eax
cmp edx, 0x10
jb 0x1000ffc2
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.1008f445
mov esp, ebp
pop ebp
ret
push 2
push 0x100e5bb4
push dword [ebp - 0x8c]
mov ecx, esi
push 2
call fcn.10008b40
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008f445
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jne 0x10010144
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 0x10010055
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x10010045
mov eax, dword [esi]
mov dl, byte [ebp - 0x94]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x1001006a
push dword [ebp - 0x94]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
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 0x100100ab
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x100100a1
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x100100c0
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
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 0x100100f0
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x100100e6
mov eax, dword [esi]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x10010105
push dword [ebp - 0x8c]
mov ecx, esi
push dword [ebp - 0x8c]
push 1
call fcn.10009180
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jae 0x10010133
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
cmp edx, 0x10
jb 0x1001011c
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.1008f445
mov esp, ebp
pop ebp
ret
push 0x3d
push dword [ebp - 0x8c]
mov ecx, esi
push 1
call fcn.10009180
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1008f445
mov esp, ebp
pop ebp
ret